]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
[grub2.git] / ChangeLog
CommitLineData
ba287dd8
VS
12012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
4 to work.
5
d2d58d0a
VS
62012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9 starts with control character.
10
0382d9bb
VS
112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
14 overflow.
15 (grub_gdb_outbuf): Likewise.
16
d83ff9f9
VS
172012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
20 zero terminator. Fixes a crash.
21
2282da4a
VS
222012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
25 beyond 4 GiB.
26 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
27 images independently of preffered adderss field.
28
0ae4f0bd
VS
292012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
32 * grub-core/commands/regexp.c: Likewise.
33 * grub-core/loader/i386/linux.c: Likewise.
34 * grub-core/partmap/msdos.c: Likewise.
35 * grub-core/script/execute.c: Likewise.
36 * grub-core/term/gfxterm.c: Likewise.
37
546fbe9b
VS
382012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
39
40 Add variable parsing in $"..." and fix several mismatches with bash.
41
42 * Makefile.util.def (grub_script_gettext): New test.
43 * grub-core/script/execute.c (parse_string): New function.
44 (gettext_append): Likewise.
45 (grub_script_arglist_to_argv): Use gettext_append.
46 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
47 * tests/grub_script_gettext.in: New file.
48
9fdb2d7b
VS
492012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
50
51 Fix handling of leading spaces in scripts.
52
53 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
54 spaces.
55 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
56 other than skipping \r. All users updated.
57 * tests/grub_script_echo1.in: Add space-related tests.
58 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
59
1a1ac4f6
VS
602012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
63
b63d89b6
VS
642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * configure.ac: Bump up the version to beta2.
67
17f38c0f
VS
682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Fix gettext reload bugs (e.g. inability to disable gettext
71 once enabled).
72
73 * grub-core/gettext/gettext.c: Encapsulate all static variables in
74 main_context and secondary_context. All functions updated.
75 (grub_gettext_translate): Rename to ...
76 (grub_gettext_translate_real): ... this. Return NULL on failed
77 translate.
78 (grub_gettext_translate): Handle secondary context.
79 (grub_gettext_delete_list): Close file and zero-out the context.
80 (grub_mofile_open): Don't call grub_gettext_delete_list.
81 Don't close file.
82 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
83 if locale="" to avoid pointless error message.
84 (grub_gettext_env_write_lang): Update lang even if load fails.
85 Handle secondary context.
86 (grub_gettext_reread_prefix): New function.
87 (read_main): Likewise.
88 (read_secondary): Likewise.
89 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
90 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
91 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
92 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
93
8e56f870
VS
942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * configure.ac: Decrease warning level to avoid spurious warnings and
97 to be able to compile with GCC 4.2.
98 * Makefile.util.def: Remove -Wno-error=logical-op.
99
82f6d455
WB
1002012-03-10 William Bittner <william.bittner@gmail.com>
101
102 * util/import_unicode.py: Add missing brackets around string for
103 python 3 support.
104
1ecd61a4
VS
1052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
106
107 Fix efi chainloader on network root.
108
109 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
110 network devices.
111 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
112 New function.
113
14361ee8
VS
1142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
117 unused show_text member.
118 * docs/grub.texi: Document "text" property.
119
922aabf3
VS
1202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
123 in dprintf.
124
ec316771
VS
1252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
126
127 Fix IMSM handling on Fedora.
128
129 * util/getroot.c (grub_util_is_imsm): New function.
130 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
131
0f021838
VS
1322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * Makefile.am: Strip gold section.
135 * conf/Makefile.common: Likewise.
136 * gentpl.py: Likewise.
137 * grub-core/Makefile.core.def: Likewise.
138 * grub-core/genmod.sh.in: Likewise.
139
1039c8eb
VS
1402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
143 * util/grub.d/20_linux_xen.in: Likewise.
144 Based on Debian patch.
145
6dd412cd
VS
1462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * util/grub.d/10_linux.in: Fix syntax error resulting in
149 Richard Laager's patch.
150 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
151
3fd8bae5
VS
1522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
155 dependencies.
156
7eea1671
RL
1572012-03-10 Richard Laager <rlaager@wiktel.com>
158
159 * util/grub.d/10_linux.in: Fix ZFS root passing.
160
e8e0566b
VS
1612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
164 * grub-core/commands/xnu_uuid.c: Likewise.
165 * grub-core/loader/efi/appleloader.c: Likewise.
166 * grub-core/script/execute.c: Likewise.
167 * grub-core/script/main.c: Likewise.
168 * util/grub-mkfont.c: Likewise.
169
1acc5b1f
VS
1702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * util/grub-mkfont.c (options): Use more appropriate "select" that
173 "set" for face index.
174
35d70620
VS
1752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * util/grub-editenv.c (options): Gettextize command summaries.
178
c9eb96b5
VS
1792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
182 "out of memory" error messagge.
183
1f493136
VS
1842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
187 of diskfilter for diskfilter on diskfilter support.
188
6d790129
VS
1892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
192
005f46c9
VS
1932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * util/grub-install.in: Check for themes/starfield/theme.txt and not
196 themes/starfield.
197
c8f778a0
VS
1982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
201
de1e64eb
VS
2022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
205
c6d54211
VS
2062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
209 of error message.
210
dd390777
VS
2112012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
214
5fd1c522
VS
2152012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
218 message.
c6d54211 219 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 220
fae01f6c
VS
2212012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
224 Gettextize.
225 * util/grub-mount.c (options): Likewise.
226
292fdaff
VS
2272012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
230 gettextize.
231 * grub-core/commands/search_wrap.c (options): Likewise.
232
ecdbae77
VS
2332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
236
52bfedfa
VS
2372012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
240 size calculation.
241 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
242 none is known.
243
55b20e58
VS
2442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
247 "temporary" since it's used in identifier and is limited in space.
248
fda9d101
VS
2492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * po/POTFILES.in: Regenerate. Include *.h since they contain
252 translatable strings as well.
253
6a0295e2
VS
2542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
257 byte-swap on big-endian.
258 Reported by: Lennart Sorensen
259
807fb77c
VS
2602012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
263 (allocate_pages): Improve dprintf.
264 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
265 code32_start. Fill code32_start and kernel_alignment in params.
266 (grub_cmd_initrd): Use prot_init_space.
267
61ac50ba
VS
2682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
271
abdd26dd
VS
2722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * util/grub-install.in: Add missing dot at the end of sentence.
275
6e69da9c
VS
2762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
279 * grub-core/commands/videotest.c: Likewise.
280 * grub-core/loader/i386/linux.c: Likewise.
281
4a929343
VS
2822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
285 sentence.
286 Reported by: Milo Casagrande.
287
bb51c6c6
VS
2882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
291 * grub-core/commands/gptsync.c: Likewise.
292 * grub-core/commands/hashsum.c: Likewise.
293 * grub-core/commands/i386/pc/sendkey.c: Likewise.
294 * grub-core/commands/legacycfg.c: Likewise.
295 * grub-core/io/gzio.c: Likewise.
296 * grub-core/net/net.c: Likewise.
297 * grub-core/term/gfxterm.c: Likewise.
298 * grub-core/term/terminfo.c: Likewise.
299 * grub-core/tests/test_blockarg.c: Likewise.
300 * grub-core/video/video.c: Likewise.
301 * util/grub-install.in: Likewise.
302 * util/grub-mkfont.c: Likewise.
303
b2b149cb
VS
3042012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
307
c7c080ad
VS
3082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 311 Reported by: David Prévot.
c7c080ad 312
f2e243c0
VS
3132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
316 description.
317
09963c76
VS
3182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/grub-script-check.c (main): Fix a syntax error message which was
321 unclear.
322
a50514a8
VS
3232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
326
4650daec
VS
3272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
330 messages.
331
3322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
333
334 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
335 without argument.
336 * util/grub-mount.c (options): Likewise.
337
bbc5a342
VS
3382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
341
ef292a87
VS
3422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/net/http.c: Add TRANSLATORS comments.
345 * grub-core/normal/cmdline.c: Likewise.
346 * grub-core/normal/misc.c: Likewise.
347 * grub-core/partmap/msdos.c: Likewise.
348 * grub-core/parttool/msdospart.c: Likewise.
349 * grub-core/script/execute.c: Likewise.
350 * grub-core/script/main.c: Likewise.
351 * grub-core/term/terminfo.c: Likewise.
352 * grub-core/video/bitmap.c: Likewise.
353 * util/grub-install.in: Likewise.
354 * util/grub-mkimage.c: Likewise.
355 * util/grub-mklayout.c: Likewise.
356 * util/grub-setup.c: Likewise.
357
0fc19bd0
VS
3582012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
361 with similar messages in grub-fstest.
362
d95862ef
VS
3632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * util/grub-install.in: Unify "option requires an argument" message
366 with similar messages in other files.
367 * util/grub-mkconfig.in: Likewise.
368
b7308f90
VS
3692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * util/grub-set-default.in: Replace printf with gettext_printf (the
372 string in in question is already translated from grub-reboot)
373
559dc587
VS
3742012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * configure.ac: Bump up the version to beta1.
377
1a11761f
VS
3782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
381 case when min_align = 0.
382
24539abd
VS
3832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
386 and fix a case when line_start overflows.
387
32bd735b
VS
3882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * util/grub-reboot.in (usage): Mention id posibility.
391 * util/grub-set-default.in (usage): Likewise.
392
1a2fd1e6
VS
3932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
396 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
397 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
398 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
399 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
400 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
401 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
402
90eeab76
VS
4032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/commands/menuentry.c (options): Remove
406 GRUB_ARG_OPTION_REPEATABLE.
407 Reported by: Andreas Vogel
408
5ad1be82
AV
4092012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
410
411 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
412
cb055286
HE
4132012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
414
415 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
416 error.
417
93b1cd79
VS
4182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
419
420 Use sort -V by the idea of Georgi Georgiev.
421
422 * util/grub-mkconfig_lib.in (version_sort): New function.
423 (version_test_numeric): Use version_sort.
424
0cdc126c
VS
4252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
426
427 Use submenus in grub-mkconfig.
428
429 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
430 * util/grub-mkconfig_lib.in (grub_quote): New function.
431 (gettext_printf): Use gettext and not gettext_quoted to fix several
432 messages.
433 * util/grub.d/10_hurd.in: Use submenus.
434 * util/grub.d/10_kfreebsd.in: Likewise.
435 * util/grub.d/10_linux.in: Likewise.
436 * util/grub.d/10_netbsd.in: Likewise.
437 * util/grub.d/20_linux_xen.in: Likewise.
438 * util/grub.d/30_os-prober.in: Likewise.
439 * util/grub.d/10_illumos.in: Add missing quoting.
440 * util/grub.d/10_windows.in: Likewise.
441
d9bef9bc
VS
4422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
443
444 Fix menu title instability bug.
445
446 * grub-core/commands/menuentry.c (options): New option --id.
447 (grub_normal_add_menu_entry): New argument id. All users updated.
448 (grub_cmd_menuentry): Handle --id.
449 (grub_menu_init): Accept unknown arguments.
450 * grub-core/normal/main.c (features): Add feature_menuentry_id and
451 feature_menuentry_options.
452 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
453 saved_entry.
454 (get_entry_number): Match with id as well.
455 * include/grub/menu.h (grub_menu_entry): New member id.
456 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
457 * util/grub.d/00_header.in: Define menuentry_id_option.
458 * util/grub.d/10_hurd.in: Define id.
459 * util/grub.d/10_illumos.in: Likewise.
460 * util/grub.d/10_kfreebsd.in: Likewise.
461 * util/grub.d/10_linux.in: Likewise.
462 * util/grub.d/10_netbsd.in: Likewise.
463 * util/grub.d/10_windows.in: Likewise.
464 * util/grub.d/20_linux_xen.in: Likewise.
465 * util/grub.d/30_os-prober.in: Likewise.
466
4672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
468
469 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
470 "scope" with "body".
471
7c8d0ce7
VS
4722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
475 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
476 prot_size and prot_file_size.
477
49de079b
VS
4782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
481 All users updated. If easily=1 require raid-5/-6 to be full.
482 (is_node_readable): Likewise.
483 (scan_devices): Scan incomplete but readable LVs at the end.
484 (grub_diskfilter_memberlist): Pull missing devices.
485 (insert_array): Skip scanning until device is complete or scan is
486 done otherwise.
487 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
488 check.
489 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
490 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
491
aff05d45
MG
4922012-03-03 Matthew Garrett <mjg@redhat.com>
4932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
494
495 Avoid EFI boot services when loading Linux.
496
497 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
498 avoid_efi_bootservices. All users updated.
499 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
500 argument avoid_efi_bootservices. All users updated.
501 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
502 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
503 align, min_align, relocatable, prefered_address. All users updated.
504 Allocate avoiding boot services if kernel is relocatable.
505 (grub_cmd_linux): Check if kernel is relocatable.
506 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
507 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
508 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
509 avoid_efi_boot_services.
510 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
511 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
512 (linux_kernel_params): Likewise.
513
3935dde2
MG
5142012-03-03 Matthew Garrett <mjg@redhat.com>
5152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
516
517 Use EDID on EFI.
518
519 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
520 datasize_out.
521 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
522 modes. Set gop_handle.
523 (grub_video_gop_get_edid): New function.
524 (grub_gop_get_preferred_mode): Likewise.
525 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
526 (grub_video_efi_gop_adapter): Set .get_edid.
527 * include/grub/efi/edid.h: New file.
528 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
529
32107ec0
VS
5302012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * util/grub-install.in: Load efivars unconditionally.
533
e70a2c50
VS
5342012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * po/Rules-piglatin: Change suffix from .po-update-en to
537 .po-update-en-piglatin.
538
8f9cace1
VS
5392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
540
541 Add a pig farm.
542
543 * po/piglatin.sed: New file.
544 * po/en@piglatin.header: Likewise.
545 * po/Rules-piglatin: Likewise.
546 * po/README: Add en@piglatin to autogenerated languages.
547
8f95d002
VS
5482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
551 "Command for ...".
552 * grub-core/commands/hdparm.c (options): Use "Display" rather than
553 "Check" since we don't check anything.
554 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
555 is 64-bit one.
556 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
557 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
558 (grub_md_sha512_real): Likewise.
559
805a8dcc
VS
5602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/commands/gptsync.c: Fix typographic quoting.
563 * grub-core/commands/ieee1275/suspend.c: Likewise.
564 * grub-core/commands/parttool.c: Likewise.
565 * grub-core/commands/search_wrap.c: Likewise.
566 * grub-core/commands/videoinfo.c: Likewise.
567 * grub-core/gfxmenu/gui_label.c: Likewise.
568 * grub-core/hello/hello.c: Likewise.
569 * grub-core/kern/emu/main.c: Likewise.
570 * grub-core/net/net.c: Likewise.
571 * grub-core/normal/menu.c: Likewise.
572 * grub-core/normal/menu_text.c: Likewise.
573 * grub-core/normal/misc.c: Likewise.
574 * util/grub-editenv.c: Likewise.
575 * util/grub-install.in: Likewise.
576 * util/grub-kbdcomp.in: Likewise.
577 * util/grub-mkconfig.in: Likewise.
578 * util/grub-mknetdir.in: Likewise.
579 * util/grub-mkrescue.in: Likewise.
580 * util/grub-mkstandalone.in: Likewise.
581 * util/grub-reboot.in: Likewise.
582 * util/grub-set-default.in: Likewise.
583 * util/grub-setup.c: Likewise.
584 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
585
40211ab8
VS
5862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
589 * grub-core/commands/keystatus.c: Likewise.
590 * grub-core/commands/loadenv.c: Likewise.
591 * grub-core/commands/probe.c: Likewise.
592 * grub-core/commands/regexp.c: Likewise.
593 * grub-core/commands/true.c: Likewise.
594 * grub-core/commands/videoinfo.c: Likewise.
595 * grub-core/disk/cryptodisk.c: Likewise.
596 * grub-core/disk/ldm.c: Likewise.
597 * grub-core/disk/loopback.c: Likewise.
598 * grub-core/disk/luks.c: Likewise.
599 * grub-core/fs/zfs/zfsinfo.c: Likewise.
600 * grub-core/kern/disk.c: Likewise.
601 * grub-core/kern/emu/hostdisk.c: Likewise.
602
0c7d99c7
VS
6032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
606 * util/grub-install.in: Add missing quote in the comment.
607
e7d2559b
VS
6082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
611 * grub-core/commands/lsmmap.c: Likewise.
612 * grub-core/commands/minicmd.c: Likewise.
613 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
614 * grub-core/commands/regexp.c: Likewise.
615 * grub-core/gdb/gdb.c: Likewise.
616 * grub-core/term/gfxterm.c: Likewise.
617 * util/grub-mkconfig.in: Likewise.
618 * util/grub-mkfont.c: Likewise.
619 * util/grub-mklayout.c: Likewise.
620 * util/grub-mknetdir.in: Likewise.
621 * util/grub-mkrescue.in: Likewise.
622 * util/grub.d/30_os-prober.in: Likewise.
623
49ce9e50
VS
6242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
627 with "Direct color" and "Packed" with "Packed pixel".
628 (grub_cmd_videoinfo): Simplify legend.
629
e4b791fa
VS
6302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
633 absolutely unclear error message.
634
fd1265cb
VS
6352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * util/grub-mkstandalone.in: Remove confusing leftover print.
638
8822a8a0
VS
6392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
642 comments.
643 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
644 (GRUB_MOD_INIT): Likewise.
645 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
646 VGA mode.
647 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
648 comments.
649 * util/grub-install.in (usage): Likewise.
650 Spell ID in whole letters.
651 Add missing ending dot.
652 Quote variables.
653 * util/grub-reboot.in: Fix capitalisation.
654 * util/grub-set-default.in: Likewise.
655
937fd0cc
VS
6562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
659 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
660 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
661 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
662 Disable -Werror for -Wdeprecated-declarations.
663 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
664 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
665 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
666 (grub_util_get_grub_dev): Make luks handling dependent on
667 HAVE_DEVICE_MAPPER and not __linux__.
668 (get_win32_path): Fix format security.
669 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
670 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
671 Don't try grub_find_zpool_from_dir.
672 (grub_make_system_path_relative_to_its_root) [!__linux__]:
673 #ifdef-out paresdir.
674
1bab1ae3
VS
6752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * util/grub-pe2elf.c (usage): Add missing noreturn.
678 (write_section_data): Rename name to shname to avoid shadowing.
679 (write_symbol_table): Rename name to symname to avoid shadowing.
680 Fix write_reloc_section call.
681
ef023e42
VS
6822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
685 to ensure that it's after the last byte of .text.
686
48afcb75
VS
6872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * util/ieee1275/ofpath.c (my_isdigit): New function.
690 (trailing_digits): Use my_isdigit.
691 (strip_trailing_digits): Likewise.
692
88d51eff
VS
6932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
696 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
697
17edc2ba
VS
6982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/kern/i386/pc/startup.S: Define __start.
701
ad5518d7
VS
7022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
705 strip already transforms he format.
706
9e95e1bf
VS
7072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
710
9cc3ee5c
VS
7112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * util/grub-install.in: Add missing gettext init.
714 * util/grub-kbdcomp.in: Likewise.
715 * util/grub-mkconfig.in: Likewise.
716 * util/grub-mknetdir.in: Likewise.
717 * util/grub-mkrescue.in: Likewise.
718 * util/grub-mkstandalone.in: Likewise.
719 * util/grub-reboot.in: Likewise.
720 * util/grub-set-default.in: Likewise.
721 * util/grub.d/00_header.in: Likewise.
722 * util/grub.d/10_hurd.in: Likewise.
723 * util/grub.d/10_windows.in: Likewise.
724 * util/grub.d/30_os-prober.in: Likewise.
725 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
726
49e08a06
VS
7272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * po/Rules-swiss: Fix header comment.
730
3809cb41
AV
7312012-02-29 Andreas Vogel <anvoit>
732
733 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
734 resulted in leak of arguments.
735
fa6ec573
VS
7362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/boot/i386/pc/startup_raw.S: Use separate
739 reed_solomon_size const definition instead of computing it since
740 Apple assembler doesn't support the later.
741
22899b9c
VS
7422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * gentpl.py (kernel): Rewrite Apple part.
745
a132afc3
VS
7462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * include/grub/kernel.h (FOR_MODULES): Check module magic.
749
9d742bd4
VS
7502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * util/grub-mkimagexx.c (locate_sections): Support non-standard
753 ELF section gap.
754 (load_image): Likewise.
755
f04a9a21
VS
7562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * configure.ac: Fix a typo in previous commit.
759
46cf439c
VS
7602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
761
762 Don't add -Wl,-N on Apple platform.
763
764 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
765 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
766
c4c48c54
VS
7672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/Makefile.core.def (lzma_decompress): Use
770 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
771
31a12124
VS
7722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/genmod.sh.in: Rewrite the Apple part.
775
4f3aa1af
VS
7762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
779 comparison.
780
7bd8b0c7
VS
7812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * acinclude.m4 (grub_CHECK_PIC): New test.
784 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
785
97304d7c
VS
7862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
789 to avoid the warning.
790
fb883812
VS
7912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
794 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
795 after. All users updated.
796
a121c964
VS
7972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
798
799 Use the common size routine in hostfs so we can read disks as well.
800
801 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
802 (grub_util_get_fd_size): ... this. Return size in bytes.
803 All users updated.
804 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
805 grub_util_get_fd_size.
806
c66d6410
VS
8072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
810 Add blocksize retrieval.
811
dfc8aeb0
VS
8122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * configure.ac: Restore CFLAGS after efiemu check.
815
403e25a5
VS
8162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
819 Apple bug.
820
382775d1
VS
8212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
824
6fd4e6e4
VS
8252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
828 (grub_cmd_halt): Likewise.
829
bea359d6
VS
8302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
833 for local arithmetics.
834 Break %sp init into 2 instructions.
835 Add 0 byte at the end.
836
32eb6ee1
VS
8372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/disk/diskfilter.c (read_segment): Initialise err
840 before loops.
841
e8377389
VS
8422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
845 for context.
846
8cb17de7
VS
8472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/disk/ldm.c (make_vg): Init part.name.
850 (grub_ldm_detect): Silence spurious warning.
851 (grub_util_is_ldm): Likewise.
852
595717e6
VS
8532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
856 sane value to avoid a spurious warning.
857
c4b7e588
VS
8582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
861 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
862
59824957
VS
8632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
866 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
867
70115b99
VS
8682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
871 hardcoding the relevant info.
872
56733740
VS
8732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
876 missing const qualifiers.
877 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
878
43481481
VS
8792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * util/getroot.c [__APPLE__]: Add missing includes.
882 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
883
3cb38f01
VS
8842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * util/grub-mkimage.c (generate_image): Silence spurious warning.
887
d9dbf11e
VS
8882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
891 avoid conflicts.
892
0c42a45d
VS
8932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
896
46c34eb0
VS
8972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
900 and grub_file_close call.
901
99ce1597
VS
9022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Add LZSS Mach-O support (needed for new xnu kernelcache).
905
906 * grub-core/Makefile.core.def (xnu): Add file lzss.c
907 * grub-core/loader/lzss.c: New file.
908 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
909 on Mach-O open failure.
910 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
911 Don't free cmdsXX in uncompressedXX is set.
912 (grub_macho_file): Init new fields.
913 New argument is_64bit. All users updated.
914 Handle compressed. Error out if no suitable architecture is found.
915 Don't close file.
916 (grub_macho_open): New argument is_64bit. All users updated.
917 * grub-core/loader/macho32.c: Add defines for new fields.
918 * grub-core/loader/macho64.c: Likewise.
919 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
920 (grub_macho_parse): Handle compressed.
921 Defer actual processing if compressed.
922 (grub_macho_cmds_iterate): Decompress if compressed. New argument
923 "filename". All users updated.
924 (grub_macho_size): New argument "filename". All users updated.
925 (grub_macho_get_entry_point): Likewise.
926 (grub_macho_load): Handle compressed.
927 * include/grub/macho.h (grub_macho_lzss_header): New struct.
928 (GRUB_MACHO_LZSS_OFFSET): New define.
929 (grub_decompress_lzss): New proto.
930 * include/grub/machoload.h (grub_macho_file): New fields to handle
931 compressed.
932 (grub_macho_contains_macho64): Remove proto.
933 (grub_macho_contains_macho32): Likewise.
934 * util/grub.d/30_os-prober.in: Use kernel cache if available.
935
ebd17d6f
VS
9362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
939
2702b4e4
VS
9402012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
941
942 Fix make dist.
943
944 * Makefile.am (starfield_theme_files): New var.
945 (starfield_DATA): Use starfield_theme_files.
946 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
947 Add bootcheck-related files.
948 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
949 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
950 and font_char_metrics.txt.
951 * grub-core/Makefile.core.def (kernel): Update extra_dist.
952 (setjmp): Add lib/ia64/longjmp.S.
953 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
954 * po/POTFILES.in: Regenerate.
955 * po/Rules-swiss: use DISTFILES.common.extra2 and not
956 DISTFILES.common.extra1.
957 * util/devicemap.c: Removed.
958 * grub-core/lib/i386/relocator_backward.S: Likewise.
959 * util/import_gcry.py: Remove unused files. Add extra_dist for
960 ChangeLog.
961
cf1adfdf
VS
9622012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/gettext/gettext.c (grub_mofile_open): Call
965 grub_gettext_delete_list before changing grub_gettext_max to avoid
966 running out of array bounds.
967
9682012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
969
970 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
971 grub_vga_text_init/grub_vga_text_fini.
972
cf1adfdf 9732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
974
975 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
976
541d92e9
VS
9772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * configure.ac: Bump to 2.00~beta0.
980
7931dddf
VS
9812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
984 missing initialisation.
985
f1b16fa3
VS
9862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
989
83ddae23
VS
9902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
991
992 Support v2 xnu boot arguments.
993
994 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
995 New argument fsbfreq_out.
996 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
997 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
998 be used.
999 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1000 darwin_version.
1001 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1002 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1003 (grub_xnu_boot_params): Rename to ...
1004 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1005 (grub_xnu_boot_params_v2): New struct.
1006
dc693fe6
VS
10072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1010 zeroing of CRC field before computing CRC.
1011
5a6e39c2
VS
10122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1015 Change order of allocations to decrease fragmentation.
1016
6c21f5d7
VS
10172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1020
cfe456dc
CW
10212012-02-27 Colin Watson <cjwatson@ubuntu.com>
1022
1023 Use write-combining MTRR to speed up video with buggy BIOSes.
1024
1025 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1026 (cpuid): New define.
1027 (rdmsr): Likewise.
1028 (wrmsr): Likewise.
1029 (mtrr_base): Likewise.
1030 (mtrr_mask): Likewise.
1031 (grub_vbe_enable_mtrr_entry): New function.
1032 (grub_vbe_enable_mtrr): Likewise.
1033 (grub_vbe_disable_mtrr): Likewise.
1034 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1035 control off to BIOS.
1036 (grub_video_vbe_init): Fill mtrr.
1037 (grub_video_vbe_fini): Disable mtrr.
1038 (grub_video_vbe_get_info_and_fini): Likewise.
1039 (grub_video_vbe_setup): Enable mtrr.
1040
e3c78337
CW
10412012-02-27 Colin Watson <cjwatson@ubuntu.com>
1042
1043 * include/grub/partition.h (grub_partition_map): Change prototype of
1044 embed to take a maximum value for nsectors.
1045 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1046 * include/grub/fs.h (grub_fs): Likewise.
1047 * grub-core/partmap/msdos.c (embed_signatures): New array.
1048 (pc_partition_map_embed): Check for and avoid sectors matching any
1049 of the signatures in embed_signatures, up to max_nsectors.
1050 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1051 returned sector map to max_nsectors.
1052 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1053 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1054 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1055 * util/grub-setup.c (setup): Allow for the embedding area being
1056 split into multiple blocklists. Tell dest_partmap->embed the
1057 maximum number of sectors we care about.
1058
10592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1062 Specify blocklist_install and reserver_first_sector for all fs.
1063 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1064 blocklists.
1065
984b973f
VS
10662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * util/grub-install.in: Clarify strings.
1069 Fix source dir check.
1070
f122e0d6
RL
10712012-02-27 Richard Laager <rlaager@wiktel.com>
1072
1073 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1074 "zfs" and "fuse.zfs" as synonyms.
1075
071114bb
VS
10762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * configure.ac: Put platform and target_cpu substitutions back since
1079 they are used for directories.
1080
817e6abc
RL
10812012-02-27 Richard Laager <rlaager@wiktel.com>
10822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1085 * util/grub.d/20_linux_xen.in: Likewise.
1086
897b7419
RL
10872012-02-27 Richard Laager <rlaager@wiktel.com>
1088
1089 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1090 with full paths.
1091
a414bd15
RL
10922012-02-27 Richard Laager <rlaager@wiktel.com>
1093
1094 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1095 unescape.
1096
30ac48c4
VS
10972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Don't use insecure popen in getroot.
1100
1101 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1102 (exec_pipe): ... here.
1103 (find_root_devices_from_poolname): Use exec_pipe.
1104
53f13848
VS
11052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Remove platform and target_cpu replacement.
1108
1109 * configure.ac: Remove platform and target_cpu substitutions.
1110 * tests/util/grub-shell.in: Use modinfo.
1111 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1112 explicitly.
1113
90cb2803
VS
11142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 Autodetect platform in grub-install but allow override.
1117
1118 * util/grub-install.in: Autodetect platform. Support --target and
1119 --directory. Read platform from modinfo.sh.
1120
b9136427
VS
11212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 Support btrfs multi-volume probe.
1124
1125 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1126 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1127 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1128 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1129 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1130 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1131 grub_find_root_devices_from_btrfs if on btrfs.
1132
c36e5cd1
VS
11332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 Remove any awareness of *.c util files about target.
1136
1137 * Makefile.util.def (grub-setup): Split to ...
1138 (grub-bios-setup): ... and this.
1139 (grub-sparc64-setup): ... and this.
1140 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1141 * docs/man/grub-setup.h2m: Split into ...
1142 * docs/man/grub-sparc64-setup.h2m: ... this.
1143 * docs/man/grub-bios-setup.h2m: ... and this.
1144 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1145 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1146 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1147 (grub_target_addr_t): Remove.
1148 (grub_target_size_t): Remove.
1149 (grub_target_ssize_t): Remove.
1150 * util/grub-install.in: Use new grub-*-setup.
1151 * util/grub-mkimagexx.c (Elf_Word): New define.
1152 (Elf_Half): Likewise.
1153 (Elf_Section): Likewise.
1154 (ELF_ST_TYPE): Likewise.
1155 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1156 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1157
584b2f8a
VS
11582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 Replace grub_target_addr with more appropriate types.
1161
1162 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1163 grub_target_addr with grub_addr.
1164 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1165 grub_target_addr with grub_port.
1166 (grub_cmd_write): Likewise.
1167 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1168 grub_target_addr with grub_addr.
1169 (grub_cmd_write): Likewise.
1170 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1171
5a0dc6fb
VS
11722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1175 const qualifier for vendor_guid.
1176
786aff6e
VS
11772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1180 const qualifier.
1181 (efiemu_memequal): Likewise.
1182 (find_variable): Likewise.
1183
49017b17
VS
11842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 Fix missing console prototype on qemu-mips.
1187
1188 * include/grub/mips/qemu_mips/console.h: New file.
1189
c5988629
MG
11902012-02-27 Matthew Garrett <mjg@redhat.com>
11912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1194 * include/grub/efi/efi.h: Likewise.
1195 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1196 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1197 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1198 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1199 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1200 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1201
e33f8d69
MG
12022012-02-27 Matthew Garrett <mjg@redhat.com>
1203
1204 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1205
fb312cd9
VS
12062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1209 error.
1210
7134247c
VS
12112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * configure.ac: Remove inappropriate use of program_transform_name
1214 on grubdir and bootdir but allow explicit specification of those
1215 variables.
1216
6a313124
VS
12172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * util/grub-mknetdir.in (grub_prefix): Removed.
1220 (subdir): Use @bootdirname@ and @grubdirname@.
1221
2311c5ca
VS
12222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1225
7d5d60f7
VS
12262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * po/POTFILES.in: Regenerated.
1229
8151bc82
VS
12302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 Remove improper use of program_transform_name on pkglibrootdir.
1233
1234 * configure.ac (pkglibrootdir): Removed.
1235 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1236 * util/grub-mkimage.c: Likewise.
1237
b4a6a533
VS
12382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1241 warning.
1242
668f304f
VS
12432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * util/grub-install.in: Use file identifier if no UUID is available
1246 or user explicitly prompted for it.
1247
665f2341
NP
12482012-02-27 Navdeep Parhar <nparhar@gmail.com>
1249
1250 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1251 (freebsd_get_zfs): New function.
1252 (grub_freebsd_boot): Pass zfs UUID.
1253 (grub_cmd_freebsd): Set zfs UUID.
1254
8151bc82 12552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1256
1257 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1258 pkglibrootdir.
1259
e4c498a1
MG
12602012-02-27 Mike Gilbert <floppym@gentoo.org>
1261
1262 Add configure flag to control libzfs integration.
1263
1264 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1265
1e9a9a3f
VS
12662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1269 device.
1270 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1271 small devices.
1272
036985b8
VS
12732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1276 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1277 be used on non-modules.
1278
1279 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1280 Rename to grub_boot_init.
1281 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1282 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1283 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1284 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1285 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1286 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1287 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1288 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1289 includes.
1290 (grub_machine_init): Remove empty inits.
1291 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1292 includes.
1293 (grub_machine_init): Remove empty inits.
1294 * grub-core/term/arc/console.c: Remove explicit proto.
1295 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1296 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1297 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1298 grub_at_keyboard_fini.
1299 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1300 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1301 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1302 grub_gfxterm_fini.
1303 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1304 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1305 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1306 grub_vgatext_fini.
1307 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1308 * grub-core/term/serial.c (GRUB_MOD_INIT)
1309 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1310 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1311 grub_serial_fini.
1312 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1313 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1314 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1315 grub_terminfo_fini.
1316 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1317 (GRUB_MOD_FINI): Likewise.
1318 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1319 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1320 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1321 grub_video_radeon_fuloong2e_fini.
1322 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1323 [LOONGSON]: Rename to grub_video_sis315pro_init.
1324 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1325 grub_video_sis315pro_fini.
1326 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1327 [LOONGSON]: Rename to grub_video_sm712_init.
1328 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1329 grub_video_sm712_fini.
1330 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1331 (grub_at_keyboard_fini): Likewise.
1332 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1333 Don't declare grub_{modname}_init.
1334 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1335 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1336 New proto.
1337 (grub_keylayouts_fini) [!EMU]: Likewise.
1338 * include/grub/serial.h (grub_serial_init) [!EMU]:
1339 New proto.
1340 (grub_serial_fini) [!EMU]: Likewise.
1341 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1342 New proto.
1343 (grub_terminfo_fini) [!EMU]: Likewise.
1344 * include/grub/video.h (grub_font_init) [!EMU]:
1345 New proto.
1346 (grub_font_fini) [!EMU]: Likewise.
1347 (grub_gfxterm_init) [!EMU]: Likewise.
1348 (grub_gfxterm_fini) [!EMU]: Likewise.
1349 (grub_video_sm712_init) [!EMU]: Likewise.
1350 (grub_video_sm712_fini) [!EMU]: Likewise.
1351 (grub_video_sis315pro_init) [!EMU]: Likewise.
1352 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1353 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1354 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1355
d5534665
VS
13562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 Make nand a prefix for nand devices.
1359
1360 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1361
10133b5f
VS
13622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1365 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1366
8e307a62
VS
13672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * include/grub/env.h (grub_env_find): Remove prototype.
1370 * grub-core/kern/env.c (grub_env_find): Make static.
1371 (grub_env_set): Remove useless set.
1372
a4c65f34
VS
13732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/kern/i386/realmode.S: Remove useless align.
1376
d87893d5
VS
13772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * include/grub/dl.h (grub_dl_load_file): Don't export.
1380
50159add
VS
13812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1384 grub_dprintf.
1385
b2582b84
VS
13862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1389 grub_errors.
1390 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1391 not reloading whole superblock but only the part which is really needed.
1392 Remove useless grub_errors.
1393 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1394 grub_errors.
1395
e2a83395
VS
13962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 Don't export grub_get_rtc.
1399
1400 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1401 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1402
e7d2a906
VS
14032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1406
6cf1363b
VS
14072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1410 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1411
eece3349
VS
14122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 Remove prio_list.
1415
1416 * include/grub/list.h (grub_prio_list): Removed.
1417 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1418 GRUB_COMMAND_PRIO_MASK.
1419 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1420 GRUB_COMMAND_FLAG_ACTIVE.
1421 (grub_prio_list_insert): Removed.
1422 (grub_prio_list_remove): Likewise.
1423 (GRUB_AS_PRIO_LIST): Likewise.
1424 (GRUB_AS_PRIO_LIST_P): Likewise.
1425 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1426 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1427 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1428 * grub-core/kern/command.c (grub_register_command_prio): Inline
1429 the prio_list code.
1430 (grub_unregister_command): Likewise.
1431
94f064b4
VS
14322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 Fix interrupt mixup from previous commit.
1435
1436 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1437 (grub_realidt): New var.
1438 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1439 Load idt.
1440 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1441 New declaration.
1442 (grub_relocator16_boot): Set grub_relocator16_idt.
1443 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1444 (LOCAL(realidt)): ... this.
1445 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1446 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1447 (grub_realidt): New variable.
1448
27317084
VS
14492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1452 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1453 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1454 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1455 Gettextize.
1456 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1457 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1458 * po/POTFILES.in: Regenerate.
1459
47b40053
VS
14602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1463 errors.
1464
2b343101
VS
14652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1468 \0.
1469 (add_length): Likewise.
1470
ff27c3dd
LK
14712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
14722012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1473
1474 GDB serial and backtrace support.
1475
1476 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1477 (prot_to_real): Likewise.
1478 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1479 * grub-core/Makefile.core.def (backtrace): New module.
1480 (gdb): Likewise.
1481 * grub-core/gdb/cstub.c: New file.
1482 * grub-core/gdb/gdb.c: Likewise.
1483 * grub-core/gdb/i386/idt.c: Likewise.
1484 * grub-core/gdb/i386/machdep.S: Likewise.
1485 * grub-core/gdb/i386/signal.c: Likewise.
1486 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1487 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1488 * include/grub/backtrace.h: Likewise.
1489 * include/grub/gdb.h: Likewise.
1490 * include/grub/i386/gdb.h: Likewise.
1491
14922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1493
1494 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1495 New function.
1496 (add_length): Likewise.
1497 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1498 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1499 proto.
1500 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1501 __argp_get_display_len.
1502
ff27c3dd 15032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1504
1505 $"..." support in scripts.
1506
1507 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1508 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1509 * grub-core/script/yylex.l: Likewise.
1510 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1511 value.
1512
ff27c3dd 15132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1514
1515 * gentpl.py: Remove obsolete pkglib_DATA handling.
1516
ff27c3dd 15172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1518
1519 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1520 mailing list.
1521
1522 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1523 * util/grub-kbdcomp.in: Likewise.
1524 * util/grub-mkconfig.in: Likewise.
1525 * util/grub-mkconfig_lib.in: Likewise.
1526 * util/grub-mknetdir.in: Likewise.
1527 * util/grub-mkrescue.in: Likewise.
1528 * util/grub-mkstandalone.in: Likewise.
1529 * util/grub-reboot.in: Likewise.
1530 * util/grub-set-default.in: Likewise.
1531 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1532
ff27c3dd 15332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1534
1535 Remove GRUB_PREFIX.
1536
1537 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1538 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1539 used for backward compatibility.
1540
ff27c3dd 15412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1542
1543 Add new all_video module.
1544
1545 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1546 * grub-core/Makefile.core.def (all_video): New module.
1547 * grub-core/genmoddep.awk: Generate dependency of all_video from
1548 video.lst.
1549 * grub-core/lib/fake_module.c: New file.
1550 * grub-core/normal/main.c (features): Add feature_all_video_module.
1551 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1552 don't do explicit search again.
47454da5 1553 insmod all_video in load_video if available.
22c7ce85 1554
ff27c3dd 15552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1556
1557 Another round of string clarification and adding TRANSLATORS comments.
1558
ff27c3dd 15592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1560
1561 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1562
ff27c3dd 15632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1564
1565 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1566 to grub_ssize_t.
1567 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1568 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1569
ff27c3dd 15702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1571
1572 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1573 trailing newline implicitly. All users updated.
1574
ff27c3dd 15752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1576
1577 Implement serial on IEEE1275 and EFI.
1578
1579 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1580 on emu. Mention arc and emu as the only platforms without serial
1581 support.
1582 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1583 ieee1275 platforms.
1584 * grub-core/term/efi/serial.c: New file.
1585 * grub-core/term/ieee1275/serial.c: Likewise.
1586 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1587 specification if no ns8250 driver is available.
1588 (grub_cmd_serial): Likewise.
1589 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1590 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1591 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1592 (grub_efi_parity_type_t): New type.
1593 (grub_efi_stop_bits_t): Likewise.
1594 (grub_efi_serial_io_interface): New struct.
1595 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1596 available for all interfaces.
1597 Add EFI and IEEE1275 fields.
1598 (grub_ofserial_init): New proto.
1599 (grub_efiserial_init): Likeiwse.
1600 * util/grub.d/00_header.in: Don't check for the presence of serial
1601 module.
1602
ff27c3dd 16032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1604
1605 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1606 name as if it was an alias.
1607
114076ef
VS
16082012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/commands/lsacpi.c (options): Fix typo.
1611
6a656b0e
VS
16122012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 Convert grub-emu to argp.
1615
1616 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1617 emu.
1618 * util/argp_common.c: Rename to ...
1619 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1620 Add missing includes.
1621 * grub-core/kern/emu/main.c: Convert to argp.
1622 * po/POTFILES.in: Regenerate.
1623 * util/grub-install.in (usage): Make first letter lowcase in messages
1624 for uniformity.
1625 * util/grub-setup.c (options): Likewise.
1626
1e3f8ae8
VS
16272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1630 Put back accidently commented-out code.
1631
ed167a80
VS
16322012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1635 loop check using Brent algorithm.
1636 (grub_hfsplus_btree_search): Likewise.
1637
6753c0ec
VS
16382012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * util/grub-install.in: Fix usage of wrong device for PreP install.
1641
4e27343f
VS
16422012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * conf/Makefile.common (CFLAGS_GNULIB): Add
1645 -Wno-unsafe-loop-optimizations.
1646 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1647 on tools.
1648 * grub-core/commands/legacycfg.c: Add pragma to skip
1649 -Wunsafe-loop-optimizations.
1650 (check_password_md5_real): Fix loop counter type.
1651 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1652 reading.
1653 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1654 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1655 loop condition.
1656 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1657 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1658 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1659 condition.
1660 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1661 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1662 avoid possible infinite loops.
1663 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1664 and -Wunsafe-loop-optimizations.
1665 * grub-core/script/yylex.l: Likewise.
1666 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1667 (print_glyphs): Avoid infinite loops.
1668 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1669
697f18b0
GS
16702012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1671
1672 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1673 to avoid infinite loop.
1674 (disp_acpi_rsdt_table): Likewise.
1675
274416e8
VS
16762012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/font/font.c (grub_font_load): Add support for default
1679 path for fonts ($prefix/fonts).
1680 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1681 for checking if string is a path.
1682 * grub-core/normal/main.c (features): Add feature_default_font_path.
1683 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1684 * util/grub.d/00_header.in: Use default directory if possible.
1685 * util/grub-install.in: Install unicode.pf2.
1686
b3e08622
VS
16872012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1690 * po/Rules-swiss: New file.
1691 * po/swiss.sed: Likewise.
1692
fe42ce09
VS
16932012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/fs/btrfs.c (find_device): Fix typos.
1696 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1697 * util/grub-mkrelpath.c (argp_parser): Likewise.
1698 Reported by: Yuri Chornoivan.
1699
72f1d065
DO
17002012-02-23 Dalet Omega <daletomega@gmail.com>
1701
1702 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1703 for usual informative messages.
1704
c5884973
DO
17052012-02-23 Dalet Omega <daletomega@gmail.com>
1706
1707 Starfield theme.
1708
1709 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1710 * conf/Makefile.common: Define starfielddir.
1711 * configure.ac: Configure starfield.
1712 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1713 * themes/starfield/README: Likewise.
1714 * themes/starfield/blob_w.png: Likewise.
1715 * themes/starfield/boot_menu_c.png: Likewise.
1716 * themes/starfield/boot_menu_e.png: Likewise.
1717 * themes/starfield/boot_menu_n.png: Likewise.
1718 * themes/starfield/boot_menu_ne.png: Likewise.
1719 * themes/starfield/boot_menu_nw.png: Likewise.
1720 * themes/starfield/boot_menu_s.png: Likewise.
1721 * themes/starfield/boot_menu_se.png: Likewise.
1722 * themes/starfield/boot_menu_sw.png: Likewise.
1723 * themes/starfield/boot_menu_w.png: Likewise.
1724 * themes/starfield/slider_c.png: Likewise.
1725 * themes/starfield/slider_n.png: Likewise.
1726 * themes/starfield/slider_s.png: Likewise.
1727 * themes/starfield/src/blob_nw.xcf: Likewise.
1728 * themes/starfield/src/bootmenu/: Likewise.
1729 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1730 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1731 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1732 * themes/starfield/src/slider_c.xcf: Likewise.
1733 * themes/starfield/src/slider_n.xcf: Likewise.
1734 * themes/starfield/src/slider_s.xcf: Likewise.
1735 * themes/starfield/src/terminalbox/: Likewise.
1736 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1737 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1738 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1739 * themes/starfield/starfield.png: Likewise.
1740 * themes/starfield/terminal_box_c.png: Likewise.
1741 * themes/starfield/terminal_box_e.png: Likewise.
1742 * themes/starfield/terminal_box_n.png: Likewise.
1743 * themes/starfield/terminal_box_ne.png: Likewise.
1744 * themes/starfield/terminal_box_nw.png: Likewise.
1745 * themes/starfield/terminal_box_s.png: Likewise.
1746 * themes/starfield/terminal_box_se.png: Likewise.
1747 * themes/starfield/terminal_box_sw.png: Likewise.
1748 * themes/starfield/terminal_box_w.png: Likewise.
1749 * themes/starfield/theme.txt: Likewise.
1750
17d73325
VS
17512012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * util/grub.d/00_header.in: Add missing export theme.
1754
dbebaf92
VS
17552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1758 already included.
1759 Reported by: Eren D.
1760
3d68bffb
VS
17612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * conf/Makefile.common (grubdatadir): Removed.
1764 (Makefile.am): Move eveything grubdata to pkgdata.
1765
4b59234d
VS
17662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/commands/acpihalt.c (get_sleep_type):
1769 Remove unused variable.
1770
463dcadc
VS
17712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1774 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1775 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1776 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1777 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1778 i18n with gettext no-op.
1779 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1780 GRUB_ACPI_OPCODE_STRING_CONST.
1781 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1782 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1783
e5b90c82
VS
17842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * po/POTFILES.in: Regenerate.
1787
2a704ca9
VS
17882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1791 -Wno-error=missing-noreturn.
1792
84f9d341
VS
17932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1796 condition to avoid possibly infinite loops.
1797 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1798 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1799
d46683f9
VS
18002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1803 condition to avoid possibly infinite loops.
1804
c44866b2
VS
18052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1808 on show_error.
1809
96790539
VS
18102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1813
1ba7e295
VS
18142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1817
21ffe8f1
VS
18182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * util/bin2h.c (usage): Add missing attribute noreturn.
1821
0ccb6b3c
VS
18222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1825 if the size isn't divisible by 512.
1826
b00d7fb6
VS
18272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 Make list_push and list_remove functions rather than inline functions
1830 to decrease size and avoid aliasing violations.
1831
1832 * include/grub/list.h (grub_list_push): Move to ...
1833 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1834 * include/grub/list.h (grub_list_remove): Move to ...
1835 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1836
9d369087
VS
18372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1840 and -Wunused-result.
1841
af0250d9
VS
18422012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1845 Reported by: Seth Goldberg
1846
aad32b14
VS
18472012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1850
ac96441c
ST
18512012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1852
1853 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1854 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1855 command line.
1856 * docs/grub.texi (Simple configuration): Document
1857 GRUB_CMDLINE_GNUMACH.
1858
18592012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1860
1861 * conf/Makefile.common (platform_SCRIPTS): New variable.
1862 (platform_PROGRAMS): Likewise.
1863 * gentpl.py: Mark *,module and *.image for install.
1864 * grub-core/gdb_grub.in: Add a notice of expected environment.
1865 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1866 (gmodule.pl): Likewise.
1867
ac96441c 18682012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1869
1870 Replace grub_checkkey with grub_getkey_noblock.
1871
1872 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1873 (grub_getkey_noblock): ... this. All users updated.
1874
ac96441c 18752012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1876
1877 * grub-core/kern/emu/console.c: Move to ...
1878 * grub-core/term/emu/console.c: ...here.
1879 (grub_ncurses_getkey): Fix return value if no key is detected.
1880
e51b5666
VS
18812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1884 (grub_unit_test_fini): Likewise.
1885 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1886
18872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * include/grub/test.h (GRUB_UNIT_TEST)
1890
d9a62292
VS
18912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1894 Better error handling.
1895 (grub_script_return): Likewise.
1896 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1897
77c9182f
VS
18982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1901 rimplicit redifinition.
1902
edb13cf9
VS
19032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1906 GRUB.
1907
a9e9dc7c
VS
19082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1911 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1912 prompt here.
1913
b4ba8e02
VS
19142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1917 as GRUB_ERR_BUG. Don't malloc if no device is available.
1918
dded5540
VS
19192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1922 Mark calling with invalid term as GRUB_ERR_BUG.
1923
0cf69874
VS
19242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1927 packets rather than raising an error.
1928
59bfe502
VS
19292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1932 in if.
1933
db5fc596
VS
19342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1937 diagnostic to dprintf.
1938 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1939
e4b7f404
VS
19402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1943 device name.
1944
e7b02f9e
VS
19452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1948 (grub_ntfs_iterate_dir): Likewise.
1949
0331e102
VS
19502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 Efiemu stylistic fixes and gettext.
1953
1954 * grub-core/efiemu/i386/loadcore32.c
1955 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1956 * grub-core/efiemu/i386/loadcore64.c
1957 (grub_arch_efiemu_relocate_symbols64): Likewise.
1958 * grub-core/efiemu/i386/pc/cfgtables.c
1959 (grub_machine_efiemu_init_tables): Likewise.
1960 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1961 (grub_efiemu_loadcore_initXX): Add a filename argument.
1962 All users updated.
1963 Improved error message.
1964 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1965 Add a filename argument.
1966 All users updated.
1967 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1968 Reclassify double relocation as GRUB_ERR_BUG.
1969
306fc074
VS
19702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1973 handling.
1974
794d8ef2
VS
19752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1978 on partition.
1979
19802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1981
1982 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1983
794d8ef2 19842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1985
1986 Improve string. Gettextize.
1987
78dde88e
VS
19882012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1991 utils.
1992 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1993
4786a90f
VS
19942012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1997 [GRUB_UTIL]: New function.
1998 (insert_array) [GRUB_UTIL]: Store partmaps.
1999 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2000 partmaps.
2001 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2002 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2003 (probe_abstraction): Print diskfilter and not raid.
2004 Reported by: Lennart Sorensen
2005
0b6225bd
VS
20062012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2009 * util/grub-mkimagexx.c (MASK3): New define.
2010 (add_value_to_slot_20b): Use MASK3.
2011 (add_value_to_slot_21): Likewise.
2012 (relocate_addresses): Fix format specification.
2013 (load_image): Explicitly init symtab_section.
2014
b055f8f6
VS
20152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2018 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2019
b77c2fb7
VS
20202012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2023 on powerpc.
2024 Reported by: Lennart Sorensen
2025
e3ec28ab
VS
20262012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * gentpl.py: Add missing license header.
2029 * docs/grub.texi: Update copyright year.
2030
c8d9ead6
GS
20312012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2032
2033 Source grub-mkconfig_lib from the build directory at build time.
2034 Suggested by: Vladimir Serbinenko.
2035
2036 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2037 * util/grub-install.in: Define pkgdatadir if not already set, and source
2038 grub-mkconfig_lib from there.
2039 * util/grub-kbdcomp.in: Likewise.
2040 * util/grub-mkconfig.in: Likewise.
2041 * util/grub-mknetdir.in: Likewise.
2042 * util/grub-mkrescue.in: Likewise.
2043 * util/grub-mkstandalone.in: Likewise.
2044 * util/grub-reboot.in: Likewise.
2045 * util/grub-set-default.in: Likewise.
2046 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2047
ebcecdf1
VS
20482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Increase warning level.
2051
2052 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2053 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2054 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2055 (TARGET_CFLAGS): Likewise.
2056 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2057 * grub-core/Makefile.core.def (decompressor_xz): Add
2058 -Wno-unreachable-code.
2059 (normal): Add -Wno-redundant-decls.
2060 (xzio): Add -Wno-unreachable-code.
2061 (lzopio): Add -Wno-redundant-decls -Wno-error.
2062 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2063 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2064 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2065 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2066 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2067 * grub-core/kern/i386/coreboot/init.c: Add exception to
2068 -Wsuggest-attribute=noreturn.
2069 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2070 * grub-core/kern/ia64/dl_helper.c: Likewise.
2071 * grub-core/kern/mips/dl.c: Likewise.
2072 * grub-core/kern/sparc64/dl.c: Likewise.
2073 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2074 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2075 (memcmp): Likewise.
2076 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2077 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2078 * grub-core/loader/mips/linux.c: Likewise.
2079 * grub-core/loader/multiboot_elfxx.c: Likewise.
2080 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2081 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2082 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2083 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2084 fixme.
2085 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2086 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2087 Fix prototype.
2088
37bb97fe
VS
20892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2092 address.
2093
29a3550b
VS
20942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2097 Avoid improper use of strings.
2098 (grub_cmd_legacy_initrdnounzip): Likewise.
2099
dfdffd0d
VS
21002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2103 attribute.
2104 (grub_util_info): Likewise.
2105 (grub_util_error): Likewise.
2106
102fae4a
VS
21072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2110 * util/grub-fstest.c (fstest): Likewise.
2111
7e94d044
VS
21122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2115 (grub_md_sha512_real): Likewise.
2116 (grub_util_get_geli_uuid): Likewise.
2117 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2118 (grub_util_biosdisk_open): Fix format specification.
2119 Respect format security.
2120 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2121 (xrealloc): Likewise.
2122 (xasprintf): Likewise.
2123
5ebd9769
VS
21242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * util/import_gcry.py: Include grub/crypto.h in init.c.
2127
495fc8c1
VS
21282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2131 (generate_image): Make prefix a const char *.
2132 Fix format specifications. Respect format security.
2133 Avoid void * arithmetics.
2134 Avoid shadowing.
2135 (argp_parser): Remove unused variable. Respect format security.
2136 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2137 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2138 (count_funcs): Remove unused variable.
2139 (relocate_addresses): Fix format specification.
2140 Disable x86-64 with elf32. Remove unused variables.
2141 (add_fixup_entry): Avoid shadowing.
2142 (make_reloc_section): Fix format specification.
2143 Use assert.
2144 (locate_sections): Fix format specifications.
2145 (load_image): Avoid shadowing.
2146
043c2ea3
VS
21472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2150 Fix format specifications. Respect format security.
2151 Don't translate already translated grub_errmsg.
2152 (argp_parser): Remove unused variable
2153
3ec65a81
VS
21542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2157
a4d9fe4a
VS
21582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2161 (main): Likewise. Use xmalloc. Respect format security.
2162
15b81d49
VS
21632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2166 a const char *.
2167 (argp_parser): Remove unused variable.
2168
31731fc0
VS
21692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2172 (add_pixel): Make static.
2173 (add_font): Likewise.
2174 (write_string_section): Make name and str a const char *.
2175 (write_be16_section): Make name a const char *.
2176 (print_glyphs): Make static.
2177 (write_font_ascii_bitmap): Likewise.
2178 (write_font_width_spec): Likewise.
2179 (write_font_pf2): Likewise.
2180 (argp_parser): Remove unused variable.
2181 Respect format security.
2182 (main): Avoid shadowing. Respect format security.
2183
0809527b
VS
21842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * util/grub-editenv.c (argp_parser): Make static.
2187 (create_envblk_file): Use xmalloc.
2188 (open_envblk_file): Likewise.
2189 Resepect format security.
2190 (set_variables): Respect format security.
2191
45b0c8b7
VS
21922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * util/getroot.c (grub_find_device): Respect format security.
2195 (get_mdadm_uuid): Remove unused variable.
2196 (grub_util_pull_device): Dont call gettext on already translated
2197 grub_errmsg.
2198 (find_system_device): Remove unused variable.
2199 (grub_util_get_grub_dev): Likewise.
2200 (grub_make_system_path_relative_to_its_root): Respect format security.
2201
1b024b4e
VS
22022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * util/grub-fstest.c (execute_command): Make first argument
2205 a const char *.
2206 (read_file): Avoid shadowing.
2207 Reuse underlying error message if device open fails.
2208 (cmd_cmp): Respect format security.
2209 (root): Make const char *.
2210 (fstest): Remove args argument and use global copy.
2211 Respect format security.
2212 (argp_parser): Make static.
2213 (main): Make default_root const char *.
2214
5d1d4e28
VS
22152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * util/grub-mount.c (root): Make const char *.
2218 (execute_command): Make first argument a const char *.
2219 (fuse_init): Respect format security.
2220 (argp_parser): Make static. Remove unused variable.
2221 (main): Make default_root a const char *.
2222 Respect format security.
2223
36eb7379
VS
22242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * util/grub-probe.c (probe): Don't call gettext on already translated
2227 grub_errmsg.
2228 Remove unused variables.
2229 (argp_parser): Remove unused variable.
2230
76fb2ea9
VS
22312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * util/grub-script-check.c (argp_parser): Remove unused variable.
2234 (main): Rename read to curread to avoid shadowing.
2235
56c98584
VS
22362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * util/misc.c (grub_util_write_image_at): Fix format specification.
2239 (grub_util_write_image): Likewise.
2240 (grub_script_execute_argument_to_string): Removed (unused).
2241 (grub_script_execute_menuentry): Likewise.
2242 (grub_putchar): Likewise.
2243
164ebb48
VS
22442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2247 (FUNCTION) [GRUB_UTIL]: Likewise.
2248 (VARIABLE) [GRUB_UTIL]: Likewise.
2249
44318d61
VS
22502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2253 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2254
31a26002
VS
22552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2258 buffer.
2259
22602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2263 (LzmaEnc_SaveState): Removed (unused).
2264 (LzmaEnc_RestoreState): Likewise.
2265 (LzmaEnc_InitPriceTables): Made static.
2266 (LzmaEnc_Construct): Likewise.
2267 (LzmaEnc_FreeLits): Likewise.
2268 (LzmaEnc_Destruct): Likewise.
2269 (LzmaEnc_Init): Likewise.
2270 (LzmaEnc_InitPrices): Likewise.
2271 (LzmaEnc_Finish): Likewise.
2272 (LzmaEnc_PrepareForLzma2): Removed (unused).
2273 (LzmaEnc_MemPrepare): Likewise.
2274 (LzmaEnc_GetNumAvailableBytes): Likewise.
2275 (LzmaEnc_GetCurBuf): Likewise.
2276 (LzmaEnc_CodeOneMemBlock): Likewise.
2277
6fa67967
VS
22782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2281 (grub_util_ldm_embed): Likewise.
2282
9a7428e6
VS
22832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * util/grub-editenv.c (print_var): Rename name to varname to
2286 avoid shadowing.
2287 (main): Rename index to curindex to avoid shadowing.
31a26002 2288 Make filename a const char *.
9a7428e6 2289
4f96abd1
VS
22902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2293 to arg_getline to avoid shadowing.
2294
44d10dad
VS
22952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2298 disk_ to avoid shadowing.
2299
340ba63e
VS
23002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2303 curindex to avoid shadowing.
2304 Make static.
2305 (MatchFinder_GetNumAvailableBytes): Make static.
2306
22965bce
VS
23072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2310 avoid shadowing.
2311
7b5784d4
VS
23122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2315 argument from encrypt to do_encrypt to avoid shadowing.
2316
6f48ca01
VS
23172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2320 incorrect nesting of #if's.
2321
a4ea2dff
VS
23222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2325 checks which are always false on some platforms.
2326 (grub_cmd_lsacpi): Likewise.
2327 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2328 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2329 Likewise.
2330
def9fc1b
VS
23312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2334 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2335
a67b2a04
VS
23362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2339 re_dfa_t to avoid breaking alignment invariants.
2340 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2341 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2342
44c6828d
VS
23432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2346 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2347
bebe0dd0
VS
23482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2351 Fix declaration.
2352
a9cdb3cf
VS
23532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2356 conserve alignment invariants.
2357 (grub_ehci_ehcc_read16): Likewise.
2358 (grub_ehci_oper_read32): Likewise.
2359 (grub_ehci_oper_write32): Likewise.
2360 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2361 Conserve alignment invariants.
2362
ccc3b1b8
VS
23632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2366 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2367 declarations.
2368
987fbd95
VS
23692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2372 Remove unused variable.
2373
0df363f3
VS
23742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2377 Remove set in if.
2378
b2c0c4a6
VS
23792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * include/grub/net.h: Remove double declarations.
2382
690c531f
VS
23832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Remove "payload" command in ia64 Linux loader since I couldn't
2386 find any evidence of it being used for anything.
2387 Replace "relocate" command with an environment variable
2388
2389 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2390 fields.
2391 (ia64_boot_payload): Removed.
2392 (last_payload): Likewise.
2393 (RELOCATE_OFF): Likewise.
2394 (RELOCATE_ON): Likewise.
2395 (RELOCATE_FORCE): Likewise.
2396 (relocate): Likewise.
2397 (free_pages): Don't free payloads.
2398 (grub_load_elf64): Use common error messages.
2399 Use "linux_relocate" variable.
2400 Increase the space after boot_params.
2401 (grub_cmd_payload): Removed.
2402 (grub_cmd_relocate): Likewise.
2403 (grub_cmd_fpswa): Improve messages.
2404 (cmd_payload): Removed.
2405 (cmd_relocate): Likewise.
2406 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2407 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2408
01783768
VS
24092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 Convert UHCI to DMA framework.
2412
2413 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2414 (grub_uhci_pci_iter): Fill new members
2415 (grub_alloc_td): Use P2V and V2P functions.
2416 (grub_free_queue): Likewise.
2417 (grub_alloc_qh): Likewise.
2418 (grub_uhci_setup_transfer): Likewise.
2419 (grub_uhci_check_transfer): Likewise.
2420
43206939
VS
24212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2424 Remove assignment in if while on it.
2425
571e140e
VS
24262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * util/grub-mkstandalone.in: Fix modules directory.
2429
a9d96eeb
VS
24302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2433 on i386-pc target.
2434 (argp_parser): Accept "auto" as compression specification.
2435
e4e37e8d
VS
24362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 Fix `help' with unloaded modules.
2439
2440 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2441 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2442 (grub_dyncmd_dispatcher): Small stylistic fix.
2443 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2444 explicit help is requested.
2445
e1ea3ade
VS
24462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2449 Explicitly init restart while on it.
2450
27556881
VS
24512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2454 uninited variable.
2455
d65f6b36
VS
24562012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * util/grub-mknetdir.in: Use . rather than source for POSIX
2459 compatibility.
2460
0a1e473c
VS
24612012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2464
ce6647c8
VS
24652012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2468 variable.
2469
66747894
VS
24702012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2473 without quotes.
2474
71645f6e
VS
24752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2478
0e1c1f61
VS
24792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2482 iteration of partitions.
2483
9c4b5c13
VS
24842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 Improve gettext support. Stylistic fixes and error handling fixes while
2487 on it.
2488
215c90cb
VS
24892012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2492 part. Instead setup the correct stack in RM.
2493 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2494 for stack.
2495 * include/grub/i386/relocator_private.h: New file.
2496
b5c1f9bf
VS
24972012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2500 argument.
2501 * util/grub-fstest.c (options): Add missing DEVICE part.
2502
b525fd83
VS
25032012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Clarify and unify messages.
2506
2507 * grub-core/commands/hashsum.c (options): Unify messages.
2508 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2509 literal-only message as translatable.
2510 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2511 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2512 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2513 commands.
2514 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2515 key, not the key used to unlock. Clarify what it's used for.
2516 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2517 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2518 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2519 * util/grub-editenv.c (options): Unify "verbose" message.
2520 * util/grub-fstest.c (read_file): Unify error message.
2521 (fstest): Add quotes around commands.
2522 (options): Unify "verbose" message.
2523 * util/grub-install.in: Add quotes around variable name.
2524 * util/grub-kbdcomp.in: Unify error message.
2525 * util/grub-mkfont.c (main): Likewise.
2526 * util/grub-mkrescue.in: Likewise.
2527 * util/grub-mklayout.c (options): Unify "verbose" message.
2528 * util/grub-mkstandalone.in: Unify help and verbose messages.
2529 * util/grub-mount.c (options): Unify "verbose" message.
2530 * util/grub-probe.c (options): Likewise.
2531 * util/grub-script-check.c (options): Likewise.
2532 * util/grub-setup.c (setup): Unify no-terminator message.
2533 (options): Use DEVICE and not DEV.
2534 Unify "verbose" message.
2535 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2536
0ae70393
VS
25372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 Improve and unify messages.
2540
2541 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2542 name. All users updated.
2543 Print filename in error.
2544 (read_device_map): Print filename in error.
2545 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2546 (grub_util_get_os_disk): Likewise.
2547 (grub_util_biosdisk_get_grub_dev): Likewise.
2548 (grub_util_check_block_device): Likewise.
2549 (grub_util_check_char_device): Likewise.
2550 (grub_make_system_path_relative_to_its_root): Likewise.
2551 * util/grub-editenv.c (create_envblk_file): Likewise.
2552 (open_envblk_file): Likewise.
2553 (write_envblk): Likewise.
2554 * util/grub-fstest.c (cmd_cp): Likewise.
2555 (cmd_cat): Likewise.
2556 (cmd_cmp): Likewise.
2557 * util/grub-menulst2cfg.c (main): Likewise.
2558 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2559 (write_font_width_spec): Likewise.
2560 (write_font_pf2): Likewise.
2561 * util/grub-mkimage.c (generate_image): New argument outname.
2562 All users updated.
2563 Remove unreacheable message.
2564 (options): Unify messages.
2565 (help_filter): Likewise.
2566 * util/grub-mklayout.c (usage): Removed (unused).
2567 (main): Print filename in error.
2568 * util/grub-mkrescue.in: Fix wrong quoting.
2569 * util/grub-setup.c (setup): Print filename in error.
2570 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2571 (check_sas): Likewise.
2572 * util/misc.c (grub_util_get_fp_size): Removed.
2573 (grub_util_get_image_size): Print filename in error.
2574 (grub_util_read_at): Removed.
2575 (grub_util_read_image): Print filename in error.
2576 (grub_util_load_image): Likewise.
2577 (grub_util_write_image_at): New argument filename. All users updated.
2578 Print filename in error.
2579 (grub_util_write_image): New argument filename. All users updated.
2580 Print filename in error.
2581 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2582 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2583
0a96117d
VS
25842012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/Makefile.core.def (pxechain): New module.
2587 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2588 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2589 function.
2590 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2591 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2592
aca002f7
VS
25932012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2596 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2597 * include/grub/err.h (grub_error_saved): New struct.
2598 (grub_errmsg): Make array size explicit.
2599 * include/grub/misc.h (grub_error_save): New function.
2600 (grub_error_load): Likewise.
2601 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2602 (grub_error_push): Update `errno' member name.
2603 (grub_error_pop): Likewise
2604 * grub-core/net/tftp.c (tftp_data): New member save_err.
2605 (tftp_receive): Save error.
2606 (tftp_open): Restore error.
2607
a51dab13
VS
26082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2611 to real mode down to execute A20-related code in protected mode as
2612 intended.
2613
eb6e6649
GS
26142012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2615
2616 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2617 NULL when the argument `level' has an unexpected value.
2618
92cd0f6e
VS
26192012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Move platform-dependent files from $prefix to $prefix/$platform.
2622
2623 * config.h.in (GRUB_TARGET_CPU): New definition.
2624 (GRUB_PLATFORM): Likewise.
2625 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2626 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2627 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2628 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2629 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2630 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2631 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2632 * grub-core/normal/term.c (read_terminal_list): Likewise.
2633 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2634 $prefix/locale.
2635 (grub_gettext_init_ext): Likewise.
2636 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2637 grub_platform.
2638 * util/grub-install.in: Update directories.
2639 * util/grub-mknetdir.in: Likewise.
2640 * util/grub-mkrescue.in: Likewise.
2641
db606889
VS
26422012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2645 grub_error framework. All users updated.
2646
c39992a4
VS
26472012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2650 lists (by always binsearching), improve caching (cache strings
2651 used for binsearch, not only results), improve
2652 maintainability (by using more structured binary search) and correct
2653 error handling.
2654
1e5ec32f
VS
26552012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/script/execute.c (grub_script_return): Fix warning.
2658
ac576cde
VS
26592012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/script/execute.c (grub_script_return): Fix potential
2662 NULL-dereference.
2663 Reported by: Jim Meyering.
2664
498453f6
VS
26652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * po/POTFILES.in: Regenerate.
2668 * util/grub-install.in: Gettextize the strings missed in first pass.
2669
8be63f2e
VS
26702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * Makefile.util.def (grub-mkdevicemap): Removed.
2673 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2674 * include/grub/util/deviceiter.h: Removed.
2675 * util/deviceiter.c: Likewise.
2676 * util/getroot.c (grub_util_get_os_disk): New function.
2677 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2678 replacement for EFI.
2679 * util/grub-mkdevicemap.c: Removed.
2680 * util/grub-probe.c (probe): Handle PRINT_DISK.
2681 (argp_parser): Handle -t disk.
2682
8e1e4e39
VS
26832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * util/grub-mkfont.c: Migrate to argp.
2686 * util/grub-mklayout.c: Likewise.
2687 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2688 * util/grub-mkrelpath.c: Likewise.
2689 * util/grub-probe.c: Likewise.
2690 * util/grub-script-check.c: Likewise.
2691
4459819a
VS
26922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * util/grub-reboot.in: Add missing datarootdir.
2695 Add missing newline.
2696 * util/grub-set-default.in: Add missing datarootdir.
2697 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2698 * util/grub-mkrescue.in: Likewise.
2699
f65741c7
VS
27002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2703
c1a33466
VS
27042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * util/grub-kbdcomp.in: Add decent help and gettextize.
2707 * docs/man/grub-kbdcomp.h2m: New file.
2708
c76899a0
VS
27092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 Migrate grub-mkimage.c to argp.
2712
2713 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2714 (grub-setup): Likewise.
2715 * util/grub-setup.c (print_version): Move to ...
2716 * util/argp_common.c (print_version): ... here.
2717 * util/grub-setup.c (argp_program_version_hook): Move to ...
2718 * util/argp_common.c (argp_program_version_hook): ... here.
2719 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2720 safety.
2721 * util/grub-mkimage.c (main): Migrate to argp.
2722
57db0757
VS
27232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * util/grub-mkrescue.in: Use same message as
2726 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2727 for better translations.
2728
18534ad9
VS
27292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2732 options with generic grub-mkrescue.in with the goal of future
2733 merge.
2734
c84ba308
VS
27352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/kern/mm.c: Add missing include of i18n.h
2738 * grub-core/lib/relocator.c: Likewise.
2739
347998c2
VS
27402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2743 error.
2744 (allocate_pages): Check return value.
2745 Replace fatal with error.
2746 (grub_linux_boot): Replace printf with dprintf.
2747 Check find_mmap_size return value.
2748 Replace fatal with error.
2749 Don't call grub_machine_fini.
2750 (grub_load_elf64): Replace printf with dprintf.
2751 (grub_cmd_linux): Likewise.
2752 (grub_cmd_initrd): Likewise.
2753 (grub_cmd_payload): Likewise.
2754
c779226e
VS
27552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2758 message.
2759 * grub-core/video/radeon_fuloong2e.c
2760 (grub_video_radeon_fuloong2e_setup): Likewise.
2761 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2762 * grub-core/video/video.c (grub_video_set_mode): Don't override
2763 standard out of memory message.
2764
dc87d45a
GS
27652012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2766
2767 NetBSD disk wedge support.
2768
2769 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2770 [__NetBSD__]: Handle NetBSD disk wedges.
2771 * util/getroot.c (convert_system_partition_to_system_disk)
2772 [__NetBSD__]: Likewise.
2773
055f856f
MW
27742012-02-03 Mark Wooding <mdw@distorted.org.uk>
2775
2776 * util/grub-mkconfig.in: Use umask rather than chmod to create
2777 grub.cfg.new to avoid insecure grub.cfg.
2778
4a9f8346
VS
27792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/commands/ls.c: Gettextize.
2782 * grub-core/commands/setpci.c: Likewise.
2783 * grub-core/commands/videotest.c: Likewise.
2784 * grub-core/disk/geli.c: Likewise.
2785 * grub-core/kern/mm.c: Likewise.
2786 * grub-core/lib/relocator.c: Likewise.
2787 * grub-core/loader/efi/appleloader.c: Likewise.
2788 * grub-core/loader/i386/xnu.c: Likewise.
2789 * grub-core/loader/ia64/efi/linux.c: Likewise.
2790 * grub-core/loader/xnu.c: Likewise.
2791 * grub-core/net/dns.c: Likewise.
2792 * grub-core/net/net.c: Likewise.
2793 * grub-core/script/lexer.c: Likewise.
2794 * grub-core/script/parser.y: Likewise.
2795 * grub-core/script/yylex.l: Likewise.
2796 * util/getroot.c: Likewise.
2797 * util/grub-setup.c: Likewise.
2798
a646a366
VS
27992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2802 number.
2803
54e2be26
VS
28042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2807
f7c71e68
VS
28082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2811 macro.
2812 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2813 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2814
a32d5c71
VS
28152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2818 * util/grub-install.in: Gettextize.
2819 * util/grub-mkconfig.in: Likewise.
2820 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2821 if not available.
2822 (grub_warn): Gettextize.
2823 * util/grub-mknetdir.in: Gettextize.
2824 * util/grub-mkrescue.in: Likewise.
2825 * util/grub-mkstandalone.in: Likewise.
2826 * util/grub-reboot.in: Likewise.
2827 * util/grub-set-default.in: Likewise.
2828 * util/grub.d/00_header.in: Likewise.
2829 * util/grub.d/10_hurd.in: Likewise.
2830 * util/grub.d/10_kfreebsd.in: Likewise.
2831 * util/grub.d/10_linux.in: Likewise.
2832 * util/grub.d/10_netbsd.in: Likewise.
2833 * util/grub.d/10_windows.in: Likewise.
2834 * util/grub.d/20_linux_xen.in: Likewise.
2835 * util/grub.d/30_os-prober.in: Likewise.
2836 * po/POTFILES-shell.in: Regenerate.
2837
69edd81a
RL
28382012-02-03 Richard Laager <rlaager@wiktel.com>
2839
2840 * util/grub-mkimage.c (main): Fix format-security warning.
2841 * util/grub-mkrelpath.c (main): Likewise.
2842 * util/grub-probe.c (main): Likewise.
2843
65f08dbf
RL
28442012-02-03 Richard Laager <rlaager@wiktel.com>
2845
2846 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2847 failure.
2848 Put back lost PRINT_DRIVE.
2849
e9084abe
RL
28502012-02-03 Richard Laager <rlaager@wiktel.com>
2851
2852 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2853 (grub_guess_root_devices): Replace strlen with sizeof.
2854 Avoid crash.
2855 (find_root_devices_from_poolname): Remove unused variable.
2856 Handle raidzN.
2857
cf5f7ee7
VS
28582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 Support install on multi-device filesystems.
2861
2862 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2863 (grub_guess_root_devices): ...this. Return char **. All users updated.
2864 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2865 Removed.
2866 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2867 (find_root_devices_from_poolname): ... here.
2868 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2869 Support zfs-fuse.
2870 (grub_guess_root_device): Rename to ...
2871 (grub_guess_root_devices): ... this. Return char **. All users updated.
2872 * util/grub-install.in: Handle multi-device filesystems.
2873 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2874 argument. All users updated.
2875 Handle multi-device filesystems.
2876 Use 'delim' as separator.
2877 Remove device check to allow filesystems on file.
2878 (main): Support -0 argument. Handle multi-device.
2879 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2880 Fix a cross-device check while on it.
2881 (arguments): Remove root_dev.
2882 (argp_parser): Remove -r.
2883 (main): Remove root_dev.
2884
2f53a9ed
VS
28852012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2888
17e1d934
VS
28892012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2892 symbol.
2893 Reported by: NODA, Kai <nodakai>.
2894
d3e3fab5
VS
28952012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Fix ehci on amd64.
2898
2899 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2900 pointers.
2901 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2902 (grub_ehci_setup_qh): Likewise.
2903 (grub_ehci_find_qh): Likewise.
2904 (grub_ehci_transaction): Likewise.
2905 (grub_ehci_setup_transfer): Likewise.
2906 (grub_ehci_check_transfer): Likewise.
2907 (grub_ehci_portstatus): Likewise.
2908 (grub_ehci_detect_dev): Likewise.
2909 (grub_ehci_transfer_controller_data): New field td_last_phys.
2910 (grub_ehci_setup_transfer): Fill td_last_phys.
2911 (grub_ehci_check_transfer): Use td_last_phys.
2912
3008675b
SG
29132012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2914
2915 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2916 if no submenu is present.
2917
fc9b5652
AN
29182012-02-01 Aleš Nesrsta <starous@volny.cz>
2919
2920 CBI support.
2921
2922 * include/grub/usb.h (grub_usbms_protocol_t): New values
2923 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2924 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2925 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2926 (grub_usbms_dev): Add subclass, protocol and intrpt.
2927 Remove in_maxsz and out_maxsz.
2928 (grub_usbms_reset): Rename to ...
2929 (grub_usbms_bo_reset): .. this.
2930 (grub_usbms_cbi_cmd): New function.
2931 (grub_usbms_cbi_reset): Likewise.
2932 (grub_usbms_reset): Likewise.
2933 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2934 (grub_usbms_transfer): Rename to ...
2935 (grub_usbms_transfer_bo): ... this.
2936 (grub_usbms_transfer_cbi): Likewise.
2937 (grub_usbms_transfer): Likewise.
2938
a2b81d53
AN
29392012-02-01 Aleš Nesrsta <starous@volny.cz>
29402012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2943 the support for the CS5536 modification thereos and few bugfixes.
2944
2945 * grub-core/Makefile.core.def (ehci): New module.
2946 * grub-core/bus/usb/ehci.c: New file.
2947 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2948 port and hubaddr. All users updated.
2949 Save port and hubaddr into dev structure.
2950 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2951 define.
2952 * include/grub/pci.h (grub_dma_phys2virt): New function.
2953 (grub_dma_virt2phys): Likewise.
2954 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2955
b1d51f02
VS
29562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2959 check as some mkfs implementations omit it.
2960
fc694106
VS
29612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2964
6c0920e3
VS
29652012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2968 Add new member volname2.
2969 (grub_jfs_label): Use volname2 if available.
2970
d1a46f9a
VS
29712012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2974 over last_mounted as seen in image generated by mkfs.nilfs2.
2975 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2976
dec8ed14
VS
29772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2980 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2981 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2982
7397c69b
VS
29832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2986 over the sector.
2987
b3fe42ad
VS
29882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2991 subvolume name (by removing a bogus and useless check).
2992
10476bb0
VS
29932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2996 sizeof while on it.
2997
9c08ad87
VS
29982012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3001 (grub_scsi_read_capacity10): ... this.
3002 (grub_scsi_read_capacity16): New function.
3003 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3004 0xffffffff.
3005 Fix off-by-one error.
3006 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3007 64-bit unsigned.
3008 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3009 (grub_scsi_read_capacity10): ... this.
3010 (grub_scsi_read_capacity_data): Rename to ...
3011 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3012 (grub_scsi_read_capacity16): New struct.
3013 (grub_scsi_read_capacity16_data): Likewise.
3014 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3015 grub_scsi_cmd_read_capacity10.
3016 New command grub_scsi_cmd_read_capacity16.
3017
bc8d0f45
VS
30182012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 SCSI >2TiB support.
3021
3022 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3023 (grub_scsi_write16): Likewise.
3024 (grub_scsi_read): Use read16 when necessary.
3025 (grub_scsi_write): Likewise.
3026 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3027 (grub_scsi_write16): Likewise.
3028 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3029
cc774926
VS
30302012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 SCSI write support (for usbms mainly).
3033
3034 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3035 a const pointer.
3036 (grub_scsi_write): Implement.
3037 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3038
67639fd7
VS
30392012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3042 variable.
3043
9079d3ed
VS
30442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3047
c6a6f204
VS
30482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * po/POTFILES.in: Regenerate.
3051
ecbf8cd1
VS
30522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3055 with grub_printf to avoid unnecessary fatal failure.
3056
0b3b3b38
VS
30572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3060 (INT_MAX): Likewise.
3061 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3062 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3063 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3064 (strcpy): Likewise.
3065 (strstr): Likewise.
3066 (strchr): Likewise.
3067 (strncpy): Likewise.
3068 (strcat): Likewise.
3069 (strncat): Likewise.
3070 (strcoll): Likewise.
3071 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3072 (GRUB_INT_MAX): Likewise.
3073
db7337a3
VS
30742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3077 unexpected error.
3078 (optimize_utf8): Likewise.
3079 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3080
f37c87e1
VS
30812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/boot/i386/pc/lnxboot.S: Use
3084 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3085 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3086 location.
3087 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3088 definition.
3089 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3090
63fe43f3
VS
30912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3094 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3095 now to avoid double free.
3096 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3097 hostdisk.
3098 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3099 * util/grub-probe.c (escape_of_path): Always return a new copy.
3100 (print_full_name): Escape path.
3101 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3102 Fix hints on abstractions.
3103
ebe2c961
VS
31042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3107 Don't add "root" line if no compatibility hont is available.
3108 Suggested by: Seth Goldberg.
3109
2b5336a2
VS
31102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3113 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3114 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3115 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3116
74310bd8
VS
31172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3120
c30582ba
VS
31212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * util/grub-pe2elf.c (ehdr): Make static.
3124 (shdr): Likewise.
3125 (num_sections): Likewise.
3126 (offset): Likewise.
3127
5f47782c
VS
31282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 Eliminate ofpath limits and possible overflows.
3131
3132 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3133 (OF_PATH_MAX): Removed.
3134 (MAX_DISK_CAT): New const.
3135 (find_obppath): Use allocated rather than preallocated buffer.
3136 Return result. Argument of_path removed. All users updated.
3137 Add missing fdstat.
3138 (xrealpath): New function.
3139 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3140 Allocate rather than use preallocated buffer. All users updated.
3141 (__of_path_common): Use allocated rather than preallocatecd buffer.
3142 Return result. Argument of_path removed. All users updated.
3143 (vendor_is_ATA): Read only needed part form the file.
3144 (check_sas): Allocate depending on contents rather than fixed.
3145 (main) [STANDALONE]: Handle NULL result.
3146
f990cbf9
VS
31472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3150
9c6e84b8
VS
31512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 Cryptodisk write support.
3154
3155 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3156 (grub_cryptodisk_decrypt): Moved logic to ...
3157 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3158 (grub_cryptodisk_write): Implement.
3159 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3160 (grub_util_fd_write): ... this. Make global.
3161 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3162
87cf9744
VS
31632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * include/grub/list.h (grub_list_remove): Don't crash if element is
3166 removed twice.
3167
ca8c0baf
VS
31682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Rename ofconsole to console.
3171
3172 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3173 as sysnonym to console.
3174 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3175 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3176 Rename grub_ofconsole_ to grub_console_. All users updated
3177 (grub_console_term_output): Rename "ofconsole" to "console".
3178 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3179 as "console".
3180
64c8b8f6
VS
31812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3184 handling.
3185 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3186 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3187 GRUB_DISK_DEVICE_FILE_ID.
3188
f6c434d5
VS
31892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3192 and improve performance.
3193
5858b42d
VS
31942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3197 missing ieee1275/ prefix on whole disk.
3198
4ed3c26b
VS
31992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3202 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3203
df71143e
VS
32042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3207
076e7c0f
VS
32082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 Merge common RAID and LVM logic to an abstract diskfilter.
3211 Add LDM support using the same framework.
3212
3213 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3214 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3215 (libgrubmods): Remove grub-core/disk/raid.c and
3216 grub-core/partmap/gpt.c.
3217 * grub-core/Makefile.core.def (ldm): New module.
3218 (raid): Renamed to diskfilter. All users updated.
3219 * grub-core/disk/raid.c: Moved to ...
3220 * grub-core/disk/diskfilter.c: ... here.
3221 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3222 (lv_num): New var.
3223 (find_array): Renamed to ...
3224 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3225 (grub_is_array_readable): Renamed to ...
3226 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3227 (insert_array): New argument id.
3228 (is_node_readable): New function.
3229 (scan_device): Rename to ...
3230 (scan_disk): .. this. Restrict to one disk.
3231 (scan_devices): New function.
3232 (grub_diskfilter_iterate): Support multi-LV.
3233 Skip invisible and nameless LVs.
3234 (grub_diskfilter_memberlist): Support multi-LV.
3235 (grub_diskfilter_read_node): New function.
3236 (grub_raid_read): Most of logic moved to ...
3237 (read_segment): ... here
3238 (read_lv): New function.
3239 (grub_diskfilter_get_vg_by_uuid): New function.
3240 (grub_diskfilter_make_raid): Likewise.
3241 * grub-core/disk/ldm.c: New file.
3242 * grub-core/disk/lvm.c (vg_list): Removed.
3243 (lv_count): Likewise.
3244 (scan_depth): Likewise.
3245 (is_lv_readable): Likewise.
3246 (grub_lvm_getvalue): Advance pointer past the number.
3247 (find_lv): Removed.
3248 (do_lvm_scan): Refactored into ...
3249 (grub_lvm_detect): ... this. Support raid.
3250 (grub_lvm_iterate): Removed.
3251 (grub_lvm_memberlist): Likewise.
3252 (grub_lvm_open): Likewise.
3253 (grub_lvm_close): Likewise.
3254 (read_lv): Likewise.
3255 (read_node): Likewise.
3256 (is_node_readable): Likewise.
3257 (is_lv_readable): Likewise.
3258 (grub_lvm_read): Likewise.
3259 (grub_lvm_write): Likewise.
3260 (grub_lvm_dev): Use diskfilter
3261 (GRUB_MOD_INIT): Likewise.
3262 (GRUB_MOD_FINI): Likewise.
3263 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3264 new interface.
3265 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3266 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3267 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3268 grub_diskfilter_read_node.
3269 Fix a bug with xor.
3270 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3271 grub_diskfilter_read_node.
3272 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3273 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3274 (grub_disk_dev_iterate): Move from here...
3275 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3276 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3277 Make global.
3278 (grub_hostdisk_find_partition_start): Likewise.
3279 (grub_hostdisk_os_dev_to_grub_drive): New function.
3280 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3281 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3282 * util/getroot.c (make_device_name): ... here.
3283 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3284 Move to ...
3285 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3286 * grub-core/kern/emu/hostdisk.c
3287 (convert_system_partition_to_system_disk): Move to ...
3288 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3289 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3290 * util/getroot.c (device_is_wholedisk): ... here.
3291 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3292 * util/getroot.c (find_system_device): ... here.
3293 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3294 Move to ...
3295 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3296 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3297 Move to ...
3298 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3299 Handle LDM.
3300 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3301 Move to ...
3302 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3303 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3304 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3305 DISKFILTER.
3306 * include/grub/raid.h: Renamed to ...
3307 * include/grub/diskfilter.h: ... this.
3308 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3309 (GRUB_RAID_LAYOUT_*): Make into array.
3310 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3311 (grub_diskfilter_vg): New struct.
3312 (grub_diskfilter_pv_id): Likewise.
3313 (grub_raid_member): Removed.
3314 (grub_raid_array): Likewise.
3315 (grub_diskfilter_pv): New struct.
3316 (grub_diskfilter_lv): Likewise.
3317 (grub_diskfilter_segment): Likewise.
3318 (grub_diskfilter_node): Likewise.
3319 (grub_diskfilter_get_vg_by_uuid): New proto.
3320 (grub_raid_register): Inline.
3321 (grub_diskfilter_unregister): Likewise.
3322 (grub_diskfilter_make_raid): New proto.
3323 (grub_diskfilter_vg_register): Likewise.
3324 (grub_diskfilter_read_node): Likewise.
3325 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3326 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3327 (grub_util_is_ldm): Likewise.
3328 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3329 (grub_hostdisk_find_partition_start): Likewise.
3330 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3331 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3332 New definition.
3333 (grub_gpt_partition_map_iterate): New proto.
3334 * include/grub/lvm.h (grub_lvm_vg): Removed.
3335 (grub_lvm_pv): Likewise.
3336 (grub_lvm_lv): Likewise.
3337 (grub_lvm_segment): Likewise.
3338 (grub_lvm_node): Likewise.
3339 * util/getroot.c [...]
3340 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3341 (probe_abstraction): Likewise.
3342 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3343 (main): Remove dead logic.
3344
8a7f9b9c
VS
33452012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 Simplify root device discover and don't fail when trying to open
3348 incorrect devices.
3349
3350 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3351 function.
3352 (get_diskname_from_path): Likewise.
3353 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3354 of iterating.
3355
30545b85
VS
33562012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3359
28ea58cf
VS
33602012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3363 pastthe end.
3364
692dabca
VS
33652012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * util/grub-install.in: Add missing \.
3368 Reported by: gentoofan
3369
f6e4ea70
VS
33702012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3373 (direct_read): Use correct compressed size.
3374 (grub_squash_read_data): Likewise.
3375
33762012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3377
3378 * docs/grub.texi (Platform limitations): New section.
3379 (Platform-specific operations): Likewise.
3380 * docs/grub-dev.texi (Porting): Likewise.
3381
76261110
VS
33822012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 IEEE1275 disk write support.
3385
3386 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3387 const void *.
3388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3389 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3390 and seek loginc to ...
3391 (grub_ofdisk_prepare): ... here.
3392 (grub_ofdisk_write): Implement.
3393
fc36d603
VS
33942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 ARC disk write support.
3397
3398 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3399 (reopen): New argument writable. All users updated.
3400 Handle required access mode.
3401 (grub_arcdisk_write): Implement.
3402 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3403 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3404
e06c2e7a
VS
34052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3408 (read_sblock): Don't attempt to read superblocks outside the disk size.
3409
ff447958
VS
34102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3413 first superblock to find the second one when possible.
3414
9e88df39
VS
34152012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * util/grub-install.in: Fix an ARC bug.
3418 Print a warning if no platform-specific setup is available.
3419
bb26e4ff
VS
34202012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 Use static allocation rather than scratch pointer in reed_solomon.
3423 It decreases its size significantly and avoids a variable in .text.
3424
3425 * grub-core/lib/reed_solomon.c (scratch): Removed.
3426 (chosenstat): New const or static array.
3427 (sigma): Likewise.
3428 (errpot): Likewise.
3429 (errpos): Likewise.
3430 (sy): Likewise.
3431 (mstat): Likewise.
3432 (errvals): Likewise.
3433 (eqstat): Likewise.
3434 (pol_evaluate): Replace x with log_x argument. All users updated.
3435 (syndroms): Removed.
3436 (gauss_solve): Use statically allocated arrays.
3437 (rs_recover): Likewise.
3438 Calculate syndroms directly.
3439 (decode_block): Use statically allocated arrays.
3440 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3441 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3442
2e13ede5
VS
34432012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 Eliminate fixed limit on reed solomon decoder length.
3446
3447 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3448 rather than hardcoding the address.
3449 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3450 no_reed_solomon_length.
3451 Move gate_a20 to no-reed-solomon part.
3452 Don't force a particular size of no reed-solomon part.
3453 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3454 Removed.
3455 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3456 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3457
f8a9ab12
VS
34582012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/commands/wildcard.c (match_files): Handle filenames
3461 without explicit device.
3462 (wildcard_expand): Don't add explicit device if not already present.
3463 * tests/grub_script_echo1.in: Add a new expansion test.
3464
87edb894
VS
34652012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 Replace single-linked with double-linked lists. It results in more
3468 compact and more efficient code.
3469
3470 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3471 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3472 (grub_list_remove): Moved from here ...
3473 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3474 (grub_prio_list_insert): Set prev.
3475 * include/grub/list.h (grub_list): Add prev. All users updated.
3476
48b391e9
VS
34772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 Handle newer autotools. Add some missing quotes while on it.
3480
3481 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3482 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3483 (pkgdata_DATA): ... here.
3484 * Makefile.util.def (update-grub_lib): Removed.
3485 * conf/Makefile.common (pkglib_DATA): Removed.
3486 (pkglib_SCRIPTS): Likewise.
3487 (pkgdata_DATA): New variable.
3488 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3489 needed.
3490 Add missing quotes.
3491 Remove unused variable while on it.
3492 * tests/util/grub-shell.in: Likewise.
3493 * util/grub-install.in: Likewise.
3494 * util/grub-mkconfig.in: Likewise.
3495 * util/grub-mknetdir.in: Likewise.
3496 * util/grub-mkrescue.in: Likewise.
3497 * util/grub-mkstandalone.in: Likewise.
3498 * util/grub.d/00_header.in: Likewise.
3499 * util/grub.d/10_hurd.in: Likewise.
3500 * util/grub.d/10_illumos.in: Likewise.
3501 * util/grub.d/10_kfreebsd.in: Likewise.
3502 * util/grub.d/10_linux.in: Likewise.
3503 * util/grub.d/10_netbsd.in: Likewise.
3504 * util/grub.d/10_windows.in: Likewise.
3505 * util/grub.d/20_linux_xen.in: Likewise.
3506 * util/grub.d/30_os-prober.in: Likewise.
3507 * util/update-grub_lib.in: Removed.
3508
35092012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3510
3511 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3512 a workaround for intel problem.
3513
66832792
PRP
35142012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
35152012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
35162012-01-23 pfsmorigo
3517
3518 * util/grub-install.in: Support dd'in into PreP partition.
3519 * util/grub-probe.c (probe): Support discovering partition type.
3520 (main): Support -t msdos_parttype.
3521
7816a17e
VS
35222012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3525 infinite recursion using counter.
3526 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3527 init to skip it if the magic check fails.
3528 (dec_stream_header): Init s->crc32.
3529
8f9d3a8c
ZB
35302012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
35312012-01-22 Zachary Bedell <pendorbound@gmail.com>
35322012-01-22 Richard Laager <rlaager@wiktel.com>
3533
3534 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3535 All users updated.
3536 (find_bestub): Determine correct size.
3537 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3538 (scan_disk): Align the size down.
3539 Call check pool before find_bestub to have ashift.
3540
b055dd32
VS
35412012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3544 dprintf in no-malloc zone.
3545
d779e9bd
ML
35462012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3547
3548 * configure.ac: Add back in test for limits.h.
3549
b508af69
VS
35502012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 Support 4K-sector NTFS.
3553
3554 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3555 (grub_ntfs_data): Remove blocksize.
3556 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3557 Remove data argument. All users updated.
3558
dad9c8b5
VS
35592012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3562 being in .text to avoid dprel references.
3563 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3564 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3565 (grub_arch_highmemsize): Likewise.
3566 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3567 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3568 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3569
d43a777e
VS
35702012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3573
3574 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3575 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3576
34e4208f
VS
35772012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3580 GRUB_UTIL.
3581 (grub_set_datetime_cmos): Likewise.
3582
3ec0fc1c
VS
35832012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 Make XZ compression parameters dependent on target and not host CPU.
3586
3587 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3588 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3589
22489834
VS
35902012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3593 set but not used variable.
3594
8502fbca
VS
35952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3598 created when no uuid support is compiled into mkfs.reiser.
3599
76df2068
VS
36002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3603 (utf8_to_macroman): Do the opposite.
3604 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3605
64e3f8f6
VS
36062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * configure.ac: Refise build qemu_mips w/o unifont.
3609
9c271078
VS
36102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 Eliminate grub_min/grub_max prone to overflow usage.
3613
3614 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3615 (poll_nonroot_hub): Likewise.
3616 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3617 (grub_affs_label): Likewise.
3618 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3619 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3620 (grub_hfs_label): Likewise.
3621 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3622 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3623 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3624 (zap_leaf_array_get): Likewise.
3625 (dnode_get_path): Likewise.
3626 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3627 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3628 * grub-core/script/execute.c (grub_script_break): Likewise.
3629 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3630 grub_max.
3631 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3632 * include/grub/misc.h (grub_min): Removed.
3633 (grub_max): Likewise.
3634
80662dbc
VS
36352012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3636
3637 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3638 direct.inode = 0.
3639
e6da1467
VS
36402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3643
b1ac4cb1
VS
36442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3647
b4bf7c3b
VS
36482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3651 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3652
8ee1101a
VS
36532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3656 rather than a hack for grub_strncasemap.
3657
36582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 Support multiple initrds
3661 Note: part of this was accidently committed in r3739.
3662
3663 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3664 initrd.
3665 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3666 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3667 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3668 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3669 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3670
4d1e2bc9
VS
36712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3674 disks with unknown size.
3675 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3676
75b49ebe
VS
36772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 Remove defines pertaining to arbitrary limits not affecting GRUB
3680 anymore.
3681
3682 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3683 (EXT2_MAX_SYMLINKCNT): Likewise.
3684 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3685 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3686 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3687 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3688 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3689 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3690 (DN_MAX_OBJECT_SHIFT): Likewise.
3691 (DN_MAX_OFFSET_SHIFT): Likewise.
3692 (DN_MAX_OBJECT): Likewise.
3693 (DNODES_PER_LEVEL_SHIFT): Likewise.
3694 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3695 (SPA_MAXBLOCKSIZE): Likewise.
3696 (SPA_BLOCKSIZES): Likewise.
3697 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3698 (MZAP_MAX_BLKSZ): Likewise.
3699
74a1dce7
VS
37002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3703 handle NULL appropriately.
3704 Remove MIN.
3705
30c7d3ce
VS
37062012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 Fix efiemu.
3709
3710 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3711 cpu/types.h.
3712 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3713 * configure.ac: Fix efiemu check.
3714
3c76ea0c
VS
37152012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3718 grub_probe.
3719 Reported by: adamwill
3720
7e532280
SG
37212012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3722
3723 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3724
30492374
VS
37252012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 Fix handling of wide characters in gfxterm.
3728
3729 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3730 (clear_char): Likewise.
3731 (paint_char): Skip code == NULL chars.
3732 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3733
e70cb72f
VS
37342012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/normal/charset.c: Move comment to right place.
3737
5c827cf9
VS
37382012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3741 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3742 (grub_affs_mount): Revert the correct version checking.
3743
53603892
VS
37442012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * docs/grub.texi (Unicode): Mention several other unsupported features.
3747
ff094b9b
VS
37482011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3751 case statements as compile-time one.
3752 (direct_read): Prevent spurious warnings.
3753 (grub_squash_read_data): Likewise.
3754
c029da8a
VS
37552011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 Various squash4 fixes and LZO and XZ support.
3758
3759 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3760 Add xzembed source files.
3761 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3762 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3763 (grub_squash_inode): New subtype long_dir.
3764 (SQUASH_TYPE_LONG_DIR): New inode type.
3765 (COMPRESSION): New enum.
3766 (XZBUFSIZ): New const.
3767 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3768 (read_chunk): Use data->decompress.
3769 (zlib_decompress): New function.
3770 (lzo_decompress): Likewise.
3771 (xz_decompress): Likewise.
3772 (squash_mount): Set new data fields.
3773 (grub_squash_iterate_dir): Handle long dir.
3774 (squash_unmount): Free xzdec and xzbuf.
3775 (grub_squash_open): Check ino type.
3776 (direct_read): Stylistic fixes. Use data->decompress.
3777 (grub_squash_read_data): Likewise.
3778 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3779 (get_byte): Likewise.
3780 (grub_zlib_disk_read): Removed.
3781 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3782 (GRUB_POSIX_BOOL_DEFINED): New define.
3783 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3784 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3785 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3786 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3787
7a45a539
VS
37882011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 Don't override more informative errors.
3791
3792 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3793 * grub-core/font/font.c (open_section): Likewise.
3794 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3795 filename. Don't override errors.
3796 (grub_cmd_openbsd_ramdisk): Don't override errors.
3797 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3798 (grub_cmd_initrd): Likewise.
3799 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3800 (grub_cmd_initrd): Likewise.
3801 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3802 (grub_cmd_linux): Likewise.
3803 (grub_cmd_initrd): Likewise.
3804 (grub_cmd_payload): Likewise.
3805 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3806 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3807 (grub_cmd_module): Likewise.
3808 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3809 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3810 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3811 (grub_cmd_xnu_mkext): Likewise.
3812 (grub_cmd_xnu_ramdisk): Likewise.
3813 (grub_xnu_check_os_bundle_required): Likewise.
3814 (grub_xnu_load_kext_from_dir): Likewise.
3815 (grub_cmd_xnu_kextdir): Likewise.
3816 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3817
b2d004db
VS
38182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3821 as 1024 in block size field. Found on one of my test images.
3822 Small optimisation while on it.
3823
ec000eac
VS
38242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3827 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3828 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3829 performance fixes while on it.
3830 (grub_sfs_close): Fix memory leak while on it.
3831 (grub_sfs_label): Convert Latin1 to UTF-8.
3832
f50e1165
VS
38332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3836 space to avoid overflows.
3837 (grub_hfs_label): Convert from macroman to UTF-8.
3838
2ae254de
VS
38392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3842
0108f491
VS
38432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3846
f45f5f89
VS
38472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * unicode: Import Unicode 6.0 data.
3850
4d8c4765
VS
38512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3852
63fa8ef9
VS
3853 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3854 outside of range.
3855
38562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3859
3860 * include/grub/charset.h (grub_getend): New function.
3861 * grub-core/script/function.c (grub_script_function_find): Use
3862 grub_getend.
3863 * grub-core/normal/completion.c (add_completion): Likewise.
3864
f3cb4a4e
VS
38652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3868 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3869 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3870 (GRUB_UNICODE_TAG_END): Likewise.
3871 (GRUB_UNICODE_LAST_VALID): Likewise.
3872
5da8dbc5
VS
38732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3876 len and make it smaller. All users updated.
3877 * util/import_unicode.py: Put length and not end character.
3878 Check length.
3879
8569f13d
VS
38802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 Make better Unicode-compliant and unify some UTF-8 code pathes.
3883
3884 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3885 valid character.
3886 (grub_is_valid_utf8): Use grub_utf8_process.
3887 Check resulting code range.
3888 (grub_utf8_to_ucs4): Use grub_utf8_process.
3889 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3890 valid character.
3891
cc4fddf5
VS
38922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3895
bbc47747
VS
38962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * docs/grub.texi (Filesystems): Mention AFS.
3899
f63d6bf4
VS
39002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * docs/grub.texi (Filesystems): Clarify restrictions.
3903 (Regexp): Mention non-Unicode regexp behaviour.
3904 (Other): Mention non-Unicode matching behaviour.
3905
74bbf0db
VS
39062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3907
f63d6bf4 3908 Make HFS implementation use MacRoman.
74bbf0db
VS
3909
3910 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3911 (macroman): New const array.
3912 (macroman_to_utf8): New function.
3913 (utf8_to_macroman): Likewise.
3914 (grub_hfs_find_dir): Use utf8_to_macroman.
3915 (grub_hfs_dir): Use macroman_to_utf8.
3916 Set case_insensitive.
3917
4ea0316e
VS
39182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3921
d3c13cbd
VS
39222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 Integrate hints into autogeneration scripts.
3925
3926 * docs/grub.texi (Filesystems): Add a hostdisk example.
3927 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3928 (grub-probe): Add ofpath.
3929 * gentpl.py: Remove group nosparc64.
3930 * grub-core/commands/search.c (cache_entry): New struct.
3931 (cache): New var.
3932 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3933 * grub-core/commands/search_wrap.c (options): Add platform-specific
3934 hint options.
3935 (grub_cmd_search): Handle platform-specific hints.
3936 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3937 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3938 (grub_util_biosdisk_data): Likewise.
3939 (grub_util_biosdisk_open): Set device_map.
3940 (read_device_map): Handle "" as indication of no map.
3941 Set device_map.
3942 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3943 (grub_util_biosdisk_get_compatibility_hint): New function.
3944 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3945 * include/grub/emu/hostdisk.h
3946 (grub_util_biosdisk_get_compatibility_hint): New proto.
3947 * util/grub-install.in: Don't call grub-mkdevicemap.
3948 Add platform-specific hint to load.cfg.
3949 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3950 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3951 hints. Set root preliminary to compatibility hint, not to OS name.
3952 * util/grub-probe.c (PRINT_*): Add hints.
3953 (print): Make static.
3954 (escape_of_path): New function.
3955 (guess_bios_drive): Likewise.
3956 (guess_efi_drive): Likewise.
3957 (guess_baremetal_drive): Likewise.
3958 (print_full_name): Likewise.
3959 (probe): Handle hints.
3960 (main): Likewise.
3961 * util/ieee1275/devicemap.c: Removed.
3962 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3963 updated.
3964 (grub_util_devname_to_ofpath): Return NULL on failure.
3965
3966 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3967 resource leak.
3968 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3969
3970 * po/POTFILES.in: Regenerated.
3971
3972 Allow purely long options
3973
3974 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3975 (SHORT_ARG_USAGE): Likewise.
3976 (grub_arg_show_help): Compare opt with help_options.
3977 (parse_option): Receive opt as argument. If makes big simplificatons.
3978 All users updated
3979
00ce2df3
VS
39802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3983 Restructure to avoid warning.
3984
e77e325f
VS
39852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * util/grub-install.in: Account for possible escaped comma in device
3988 name.
3989
165099ea
VS
39902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3993 channel.
3994
ce4a999d
VS
39952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3998 allocation and zero-setting.
3999 (grub_ieee1275_get_devname): Check that alias is complete.
4000
379586ad
VS
40012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4004 unaligned segments.
4005
9197b0ad
VS
40062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4009 prefix.
4010 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4011 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4012 Add ieee1275 prefix.
4013
edddb7f9
VS
40142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * docs/grub.texi (Filesystems): Update.
4017
a1a8b1b9
VS
40182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 Support odc, newc and bigendian cpio formats.
4021
4022 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4023 * grub-core/Makefile.core.def (newc): New module.
4024 (odc): Likewise.
4025 (cpio_be): Likewise.
4026 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4027 (MAGIC): Likewise.
4028 (MAGIC2): Likewise.
4029 (head) [MODE_ODC]: Adapt for the format.
4030 (head) [MODE_NEWC]: Likewise.
4031 (head) [!MODE_*]: Write fields of interest as arrays.
4032 (MAGIC_USTAR): Removed.
4033 (read_number) [MODE_NEWC]: Change to hex.
4034 (read_number) [!MODE_*]: Parse binary arrays.
4035 (grub_cpio_find_file): Factor out the code for better structure and
4036 always use read_number.
4037 (grub_cpio_mount): Use MAGIC and MAGIC2.
4038 (grub_cpio_dir): Exit on first hook non-0 return.
4039 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4040 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4041 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4042 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4043 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4044 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4045 * grub-core/fs/newc.c: New file.
4046 * grub-core/fs/odc.c: Likewise.
4047 * grub-core/fs/cpio_be.c: Likewise.
4048
58eba9ee
VS
40492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 Fix handling of tar numbers occupying the whole field.
4052
4053 * grub-core/fs/cpio.c (read_number): New function.
4054 (grub_cpio_find_file): Use read_number instead of strtoull.
4055
a54a0e12
VS
40562011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4059 occupying the whole field size.
4060
a6120aca
LA
40612011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4062
4063 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4064
a93964ce
VS
40652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4068
3ea1ca46
SG
40692011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4070
4071 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4072 TARGET_IMG_LDFLAGS.
4073
b87f7ef2
VS
40742011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4077 (mountinfo_entry): Increase the field size to take escaping into
4078 account.
4079 (find_root_device_from_libzfs): Add one byte to size of strings for
4080 security.
4081
62092395
VS
40822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4085 an assert.
4086 * util/grub-setup.c (setup): Likewise.
4087
1f0b1a77
VS
40882011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4091 _LzmaDecodeA.
4092
8eba9997
VS
40932011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * docs/grub.texi (Internationalisation): New section.
4096
dd0c91e9
VS
40972011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * docs/grub.texi (Loopback booting): New section.
4100
41012011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4102
4103 * util/grub-mkstandalone.in: Fix minor typo errors.
4104
198e150a
VS
41052011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4108
4109 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4110 net/icmp.c and net/icmp6.c.
4111 (http): New module.
4112 (priority_queue): Likewise.
4113 * grub-core/io/bufio.c: Rewritten.
4114 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4115 TYPE_WITH_CONFIGFILE_OPTION.
4116 (legacy_commands): Add bootp and dhcp.
4117 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4118 (grub_legacy_parse): Likewise.
4119 * grub-core/lib/priority_queue.c: New file.
4120 * grub-core/net/arp.c: Add missing license header.
4121 (arp_find_entry): Removed.
4122 (arp_find_entry): Likewise.
4123 (grub_net_arp_resolve): Rename to ...
4124 (grub_net_arp_send_request): ...this.
4125 (grub_net_arp_receive): New card argument.
4126 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4127 Set router and DNS server.
4128 (grub_net_configure_by_dhcp_ack): Handle routing information.
4129 (grub_cmd_bootp): Set checksum.
4130 (grub_bootp_init): Remove net_dhcp.
4131 * grub-core/net/dns.c: New file.
4132 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4133 completion.
4134 (get_card_packet): Handle allocation.
4135 (grub_efinet_findcards): Set mtu.
4136 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4137 (get_card_packet): Handle allocation.
4138 (emucard): Set mtu.
4139 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4140 (GRUB_MOD_INIT): Set mtu.
4141 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4142 mtu.
4143 (get_card_packet): Handle allocation.
4144 (grub_ofnet_findcards): Set mtu.
4145 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4146 assert.
4147 (grub_net_recv_ethernet_packet): Handle IPv6.
4148 * grub-core/net/http.c: New file.
4149 * grub-core/net/icmp.c: Likewise.
4150 * grub-core/net/icmp6.c: Likewise.
4151 * grub-core/net/ip.c (ip6addr): New type.
4152 (ip6hdr): Likewise.
4153 (reassemble): Likewise.
4154 (cmp): New function.
4155 (reassembles): New variable.
4156 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4157 (id): New variable.
4158 (send_fragmented): New function.
4159 (grub_net_send_ip_packet): Rename to ...
4160 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4161 Handle non-UDP.
4162 (grub_net_recv_ip_packets): Rename to ...
4163 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4164 (free_rsm): New function.
4165 (free_old_fragments): Likewise.
4166 (grub_net_recv_ip4_packets): New function.
4167 (grub_net_send_ip6_packet): Likewise.
4168 (grub_net_send_ip_packet): Likewise.
4169 (grub_net_recv_ip6_packets): Likewise.
4170 (grub_net_recv_ip_packets): Likewise.
4171 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4172 (LINK_LAYER_CACHE_SIZE): New const.
4173 (link_layer_find_entry): New function.
4174 (grub_net_link_layer_add_address): Likewise.
4175 (grub_net_link_layer_resolve_check): Likewise.
4176 (grub_net_link_layer_resolve): Likewise.
4177 (grub_net_ipv6_get_slaac): Likewise.
4178 (grub_net_ipv6_get_link_local): Likewise.
4179 (grub_cmd_ipv6_autoconf): Likewise.
4180 (parse_ip): Handle one number representation.
4181 (parse_ip6): New functoion.
4182 (match_net): Handle IPv6.
4183 (grub_net_resolve_address): Handle IPv6 and DNS.
4184 (grub_net_resolve_net_address): Handle IPv6.
4185 (route_cmp): New function.
4186 (grub_net_route_address): Find best route.
4187 (grub_net_addr_to_str): Handle IPv6.
4188 (grub_net_addr_cmp): New function.
4189 (grub_net_add_addr): Register local route.
4190 (print_net_address): Handle net address.
4191 (grub_net_poll_cards): Retransmit TCP.
4192 (grub_net_poll_cards_idle_real): Likewise.
4193 (have_ahead): New function.
4194 (grub_net_seek_real): Use underlying seek.
4195 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4196 * grub-core/net/tcp.c: New file.
4197 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4198 (cmp): New function.
4199 (ack): Likewise.
4200 (tftp_receive): Handle unordered input.
4201 (destroy_pq): New function.
4202 (tftp_close): Close pq.
4203 * grub-core/net/udp.c: Put missing license header.
4204 (grub_net_udp_socket): New function.
4205 (udp_socket_register): Likewise.
4206 (grub_net_udp_close): Likewise.
4207 (grub_net_recv_udp_packet): Check checksum.
4208 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4209 * include/grub/misc.h (grub_memchr): New function.
4210 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4211 (grub_net_card_driver): Return buf in recv.
4212 (grub_net_slaac_mac_list): New struct.
4213 (grub_network_level_protocol_id): Add ipv6.
4214 (grub_net_network_level_addr): Likewise.
4215 (grub_net_network_level_net_addr): Likewise.
4216 (grub_net_app_protocol): Add seek.
4217 (grub_net_socket): Removed.
4218 (grub_net_sockets): Likewise.
4219 (grub_net_socket_register): Likewise.
4220 (grub_net_socket_unregister): Likewise.
4221 (FOR_NET_SOCKETS): Likewise.
4222 (grub_net_add_addr): Add const.
4223 (GRUB_NET_BOOTP_*): New enum.
4224 (grub_net_addr_cmp): New proto.
4225 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4226 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4227 (grub_net_hwaddr_to_str): NEw proto.
4228 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4229 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4230 (grub_dns_init): New proto.
4231 (grub_dns_fini): Likewise.
4232 (grub_net_tcp_retransmit): Likewise.
4233 (grub_net_link_layer_add_address): Likewise.
4234 (grub_net_link_layer_resolve_check): Likewise.
4235 (grub_net_link_layer_resolve): Likewise.
4236 (grub_net_dns_lookup): Likewise.
4237 (grub_net_add_dns_server): Likewise.
4238 (grub_net_remove_dns_server): Likewise.
4239 (GRUB_NET_TRIES): New const.
4240 (GRUB_NET_INTERVAL): Likewise.
4241 * include/grub/net/arp.h: Mostly rewritten.
4242 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4243 * include/grub/net/ip.h: Mostly rewritten.
4244 * include/grub/net/netbuff.h: Indent.
4245 * include/grub/net/tcp.h: New file.
4246 * include/grub/net/udp.h: Mostly rewritten.
4247 * include/grub/priority_queue.h: New file.
4248 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4249 (grub_swap_bytes64_compile_time): Likewise.
4250 (grub_cpu_to_be16_compile_time): Likewise.
4251 (grub_cpu_to_be32_compile_time): Likewise.
4252 (grub_cpu_to_be64_compile_time): Likewise.
4253 (grub_be_to_cpu64_compile_time): Likewise.
4254
215c1800
VS
42552011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4258 UINT_TO_PTR with cast.
4259
c17e546c
VS
42602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4263 don't use them.
4264
ff6b18b6
VS
42652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4268 already there.
4269
70ffcc93
VS
42702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4273 confusing ipxe.
4274
e5f4d260
VS
42752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4278 Add missing const attribute.
4279 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4280 Likewise.
4281 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4282 Likewise.
4283
8e54b4b7
VS
42842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4287 misaligned access.
4288 (serpent_setkey): Likewise.
4289 (serpent_encrypt_internal): Likewise.
4290 (serpent_decrypt_internal): Likewise.
4291 (serpent_encrypt): Don't put an alignment-increasing cast.
4292 (serpent_decrypt): Likewise.
4293 (serpent_test): Likewise.
4294
813c0a2b
VS
42952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4298
f2b60fbd
VS
42992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4302
4303 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4304 grub_addr_t casts.
4305 (PTR_TO_UINT64): Likewise.
4306 (PTR_TO_UINT32): Likewise.
4307
5ef5c511
VS
43082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4311 because of stack.
4312 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4313 limit.
4314
c476e6df
VS
43152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4318 text_width > available width a bit more gracefully.
4319
384ad7cc
VS
43202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4323 current address calculation.
4324
96f8caf8
VS
43252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4328 stack.
4329 (encode_block): Likewise.
4330
276b7a8b
VS
43312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4334 certainety.
4335
e3fd394a
VS
43362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4339 non-RS part to avoid RS messing with GDT.
4340 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4341 Increase to suit in realmode routines.
4342
43432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * grub-core/kern/i386/realmode.S: Increase alignment.
4346 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4347
ee9c2e7a
VS
43482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4351 be deterministic.
4352 (syndroms): Compute 0 syndrom.
4353 (rs_recover): Use 0 syndrom.
4354
7a7f7cc9
VS
43552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4358
a14b16d1
VS
43592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4362 brackets.
4363
9f59e9fc
VS
43642011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4365
ca1b552c
VS
4366 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4367 account.
4368 (get_top_pad): Likewise.
4369 (get_right_pad): Likewise.
4370 (get_bottom_pad): Likewise.
4371
43722011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4375
e739d698
VS
43762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4379 attribute as the structure isn't guaranteed to be properly aligned.
4380 (grub_efi_pci_device_path): Likewise.
4381 (grub_efi_pccard_device_path): Likewise.
4382 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4383 specify the size of `memory_type'.
4384 (grub_efi_vendor_device_path): Likewise.
4385 (grub_efi_controller_device_path): Likewise.
4386 (grub_efi_acpi_device_path): Likewise.
4387 (grub_efi_expanded_acpi_device_path): Likewise.
4388 (grub_efi_atapi_device_path): Likewise.
4389 (grub_efi_scsi_device_path): Likewise.
4390 (grub_efi_fibre_channel_device_path): Likewise.
4391 (grub_efi_1394_device_path): Likewise.
4392 (grub_efi_usb_device_path): Likewise.
4393 (grub_efi_usb_class_device_path): Likewise.
4394 (grub_efi_i2o_device_path): Likewise.
4395 (grub_efi_mac_address_device_path): Likewise.
4396 (grub_efi_ipv4_device_path): Likewise.
4397 (grub_efi_ipv6_device_path): Likewise.
4398 (grub_efi_infiniband_device_path): Likewise.
4399 (grub_efi_uart_device_path): Likewise.
4400 (grub_efi_vendor_messaging_device_path): Likewise.
4401 (grub_efi_hard_drive_device_path): Likewise.
4402 (grub_efi_cdrom_device_path): Likewise.
4403 (grub_efi_vendor_media_device_path): Likewise.
4404 (grub_efi_file_path_device_path): Likewise.
4405 (grub_efi_protocol_device_path): Likewise.
4406 (grub_efi_piwg_device_path): Likewise.
4407 (grub_efi_bios_device_path): Likewise.
4408
cb8f88ea
VS
44092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4412 (grub_ucs4_to_utf8_alloc): Likewise.
4413 (grub_ucs4_to_utf8): Likewise.
4414 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4415 (grub_ucs4_to_utf8_alloc): Likewise.
4416
309e5352
VS
44172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 AFFS never uses unicode.
4420
4421 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4422 (grub_latin1_to_utf8): New inline function.
4423 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4424
e7987e1b
VS
44252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4428 overflow.
4429
efc2616e
VS
44302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4433 (grub_squash_dirent_header): Likewise.
4434 (read_chunk): Don't double swap.
4435 (grub_squash_iterate_dir): Fix swap sizes.
4436
3c349f5a
VS
44372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4440
b453412d
VS
44412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4444 (grub_hfs_iterate_dir): Likewise.
4445
12e9d4d1
VS
44462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 Fix video on platforms where unaligned access is forbidden.
4449 Make several optimisations while on it.
4450
4451 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4452 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4453 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4454 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4455 Disable.
4456 (grub_video_fbblit_replace_16bit_1bit):
4457 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4458 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4459 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4460 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4461 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4462 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4463 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4464 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4465 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4466 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4467 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4468 (grub_video_fbblit_replace_index_RGB888): Likewise.
4469 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4470 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4471 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4472 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4473 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4474 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4475 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4476 Disable.
4477 (grub_video_fbblit_blend_XXX565_1bit):
4478 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4479 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4480 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4481 void *.
4482 * grub-core/video/fb/video_fb.c (common_blitter)
4483 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4484 (grub_video_fb_create_render_target_from_pointer)
4485 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4486 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4487 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4488 definition.
4489 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4490
ace96609
VS
44912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4494 HH22 and HM10 relocations.
4495
fd261d73
VS
44962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4499
e59b7857
VS
45002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4503 allocation succeeded.
4504
9b4baaa4
VS
45052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4508 argument a u8 pointer. All users updated.
4509 Handle unaligned buffers.
4510
dc713193
VS
45112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4514 add_part to workaround compiler bug.
4515
30dd48c2
VS
45162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4519
0c6087a8
VS
45202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4523 Reserve alignment invariants.
4524 (grub_multiboot_load): Likewise.
4525 (retrieve_video_parameters): Likewise.
4526 (grub_multiboot_make_mbi): Likewise.
4527
c2e77777
VS
45282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4531 incorrect pointer.
4532
b70b6d11
VS
45332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4536 (grub_pata_pio_write): Likewise.
4537
02a2bf83
VS
45382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 Add noreturn attributes and remove unreachable code.
4541
4542 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4543 code.
4544 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4545 code. Mark as noreturn.
4546 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4547 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4548 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4549 unreachable code.
4550 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4551 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4552 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4553 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4554 * include/grub/kernel.h (grub_main): Mark as noreturn.
4555 * include/grub/reader.h (grub_rescue_run): Likewise.
4556
2019d09e
VS
45572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4560 redundant declaration.
4561
d1c501ee
VS
45622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4565 redundant declaration.
4566 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4567
61664420
VS
45682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4571 to ensure alignment.
4572 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4573 alignment. Ensure tmp alignment.
4574 (grub_cmd_hdparm): Ensure buf alignment.
4575 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4576 to ensure alignment.
4577 (grub_ata_dumpinfo): Ensure text alignment.
4578 (grub_atapi_identify): Preserve alignment invariant.
4579 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4580
0d51ee20
VS
45812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4584 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4585 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4586 * include/grub/misc.h (grub_reboot)
4587 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4588 (grub_halt) [__mips__]: Likewise.
4589
753ef8c1
VS
45902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4593 Remove redundant declaration.
4594 (grub_mmap_get_post64): Likewise.
4595 (grub_mmap_get_upper): Likewise.
4596 (grub_mmap_get_lower): Likewise.
4597
85c85365
VS
45982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4601 uint32_t * to ensure alignment.
4602 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4603
a23f2cc4
VS
46042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4605
93018f64
VS
4606 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4607 uint16_t * to ensure alignment.
4608 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4609 alignment.
4610
46112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4614 to ensure alignment.
4615 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4616
58acccd6
VS
46172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4620 Handle unaligned pointers.
4621 (u32at): Likewise.
4622 (u64at): Likewise.
4623 (fixup): Use byte access instead of v16at.
4624 (find_attr): Fix imporper usage of v32at.
4625 (read_data): Likewise.
4626 (list_file): Handle byte-swapping and unaligned strings.
4627 (grub_ntfs_label): Likewise.
4628
9b05cad7
VS
46292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4632 as it's not necessarily aligned.
4633
b3950b84
VS
46342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4637 redundant declaration.
4638 (grub_serial_init): Likewise.
4639 (grub_terminfo_init): Likewise.
4640
fcd232b7
VS
46412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4644 function.
4645 (ZAP_HASH_IDX): Likewise.
4646 (ZAP_LEAF_HASH_SHIFT): Likewise.
4647 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4648 (LEAF_HASH): Likewise.
4649 (ZAP_LEAF_NUMCHUNKS): Likewise.
4650 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4651 alignment invariants. Return pointer. All users updated.
4652 (ZAP_LEAF_ENTRY): Make into inline function.
4653 (NBBY): Removed.
4654 (xor): LIkewise.
4655 (xor_out): Use grub_crypto_xor.
4656 (dnode_get_path): Use grub_get_unaligned.
4657 (nvlist_find_value): Likewise.
4658 (grub_zfs_nvlist_lookup_uint64): Likewise.
4659 (grub_zfs_nvlist_lookup_string): Likewise.
4660 (get_nvlist_size): Likewise.
4661 (grub_zfs_open): Likewise.
4662 (fill_fs_info): Likewise.
4663 (grub_zfs_dir): Likewise.
4664 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4665 alignment invariants.
4666 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4667 necessarily aligned.
4668
f138623a
VS
46692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4672
564840dc
VS
46732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4676 arithmetic to conserve alignment invariants.
4677
9b40df20
VS
46782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4681 redundant declaration.
4682 (grub_efiemu_mm_obtain_request): Likewise.
4683 (grub_efiemu_prepare): Likewise.
4684
d1c930f9
VS
46852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4688 to match types.
4689
4c5f3056
VS
46902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4693 case of aunaligned recptr.
4694 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4695 alignment.
4696 (grub_hfsplus_btree_search): Handle unaligned index.
4697
728cba91
VS
46982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4701 to get freetag and skip.
4702
eb561f31
VS
47032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4706 array.
4707 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4708 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4709
20993fbb
VS
47102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4713 name for checksum and fix allocation algorithm.
4714
1f313b94
VS
47152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 * include/grub/types.h (grub_properly_aligned_t): New type.
4718 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4719 (grub_get_unaligned16): Add explicit casts.
4720 (grub_get_unaligned32): Likewise.
4721 (grub_get_unaligned64): Likewise.
4722 (grub_set_unaligned16): New function.
4723 (grub_set_unaligned32): Likewise.
4724
47ae27ec
VS
47252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4728
78c2cd1c
VS
47292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4732 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4733 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4734
53072f9b
VS
47352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4738 conditionals.
4739
055dc239
VS
47402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4743 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4744
496bd074
VS
47452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 Unify and improve RAID and crypto xor.
4748
4749 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4750 changed to grub_crypto_xor
4751 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4752 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4753 Use bigger types when possible.
4754
ef6e4335
VS
47552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * grub-core/disk/raid.c (scan_devices): Fix condition.
4758
5d048bf2
VS
47592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4762 Make name a const ptr.
4763
ee533335
VS
47642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4767 first argument a const pointer.
4768 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4769 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4770 proto.
4771 (grub_children_iterate): Likewise.
4772 (grub_machine_mmap_iterate): Remove redundant declaration.
4773
cc8f3668
VS
47742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4777 (grub_cmd_acpi) [!x86]: Disable EBDA.
4778
c5fc563a
VS
47792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Enable UTF8 in gnulib regexp.
4782
4783 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4784 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4785 (isupper): Use grub_isupper.
4786 (isascii): New inline function.
4787 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4788 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4789 * grub-core/normal/charset.c (grub_utf8_process): New function.
4790 (grub_utf8_to_utf16): Use grub_utf8_process.
4791 (grub_encode_utf8_character): New function.
4792 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4793 * include/grub/charset.h (grub_utf8_process): New declaration.
4794 (grub_encode_utf8_character): Likewise.
4795 * include/grub/misc.h (grub_islower): New inline function.
4796 (grub_isupper): Likewise.
4797 (grub_strchrsub): Moved down to fix the definitions.
4798
0af2346f
VS
47992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4802 specification.
4803
74dbd244
VS
48042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * include/grub/loader.h (grub_loader_register_preboot_hook):
4807 Use struct preboot * and not void * for handle. All users updated.
4808 (grub_loader_unregister_preboot_hook): Likewise.
4809
1bc8f60d
VS
48102011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4813 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4814 UTF-16-BE. All users updated.
4815 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4816 (grub_hfsplus_iterate_dir): Likewise.
4817 (grub_hfsplus_label): Likewise.
4818
48d6e456
VS
48192011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4822
bf3a3857
VS
48232011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 Add missing const qualifiers.
4826
4827 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4828 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4829 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4830 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4831 (grub_lvm_check_flag): Likewise.
4832 * grub-core/efiemu/i386/coredetect.c
4833 (grub_efiemu_get_default_core_name): Likewise
4834 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4835 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4836 * grub-core/fs/ntfs.c (fixup): Likewise.
4837 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4838 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4839 (fzap_lookup): Likewise.
4840 (zap_lookup): Likewise.
4841 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4842 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4843 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4844 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4845 (grub_freebsd_add_meta_module): Likewise.
4846 (grub_cmd_freebsd_module): Likewise.
4847 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4848 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4849 (grub_xnu_writetree_get_size): Likewise.
4850 (grub_xnu_writetree_toheap_real): Likewise.
4851 (grub_xnu_find_key): Likewise.
4852 (grub_xnu_create_key): Likewise.
4853 (grub_xnu_create_value): Likewise.
4854 (grub_xnu_register_memory): Likewise.
4855 (grub_xnu_check_os_bundle_required): Likewise.
4856 (grub_xnu_scan_dir_for_kexts): Likewise.
4857 (grub_xnu_load_kext_from_dir): Likewise.
4858 * grub-core/normal/color.c (color_list): Likewise.
4859 * grub-core/normal/completion.c (current_word): Likewise.
4860 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4861 * grub-core/term/serial.c (grub_serial_find): Likewise.
4862 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4863 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4864 Likewise.
4865 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4866 (grub_freebsd_add_meta_module): Likewise.
4867 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4868 * include/grub/net.h (grub_net_card_driver): Likewise.
4869 (grub_net_card): Likewise.
4870 (grub_net_app_protocol): Likewise.
4871 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4872 * include/grub/serial.h (grub_serial_find): Likewise.
4873 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4874 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4875 (grub_xnu_create_value): Likewise.
4876 (grub_xnu_find_key): Likewise.
4877 (grub_xnu_scan_dir_for_kexts): Likewise.
4878 (grub_xnu_load_kext_from_dir): Likewise.
4879
4880 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4881 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4882 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4883 Moved from here ...
4884 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4885
112b4837
CW
48862011-11-28 Colin Watson <cjwatson@ubuntu.com>
4887
4888 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4889
49e891ac
VS
48902011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4893 (read_device): Fix size calculation.
4894
fd258e5c
RM
48952011-11-25 Robert Millan <rmh@gnu.org>
4896
4897 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4898 (find_root_device_from_libzfs): Add zpool output parser to be used
4899 as fallback when libzfs isn't available.
4900
78845dc2
SG
49012011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4902
4903 * po/Makefile.in.in: Add missing escape-continuation.
4904
adac5211
VS
49052011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4908
10b64f1c
VS
49092011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4912
bb416954
VS
49132011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4916
bdfe9eeb
VS
49172011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4920
581ffa8a
VS
49212011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/lib/adler32.c: Add missing license specification.
4924 * grub-core/lib/crc64.c: Likewise.
4925 * grub-core/loader/i386/pc/plan9.c: Likewise.
4926 * grub-core/partmap/plan.c: Likewise.
4927
2536cf64
LK
49282011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4929
4930 Add facility to debug GRUB with gdb under qemu.
4931
4932 * grub-core/gdb_grub.in: New file.
4933 * grub-core/gmodule.pl.in: Likewise.
4934 * grub-core/Makefile.core.def (gmodule.pl): New script.
4935 (gdb_grub): Likewise.
4936
bc108a4a
VS
49372011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * util/grub-mount.c (argp_parser): Accept relative pathes.
4940 * util/grub-fstest.c (argp_parser): Likewise.
4941
111c1778
VS
49422011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 Plan9 support.
4945
4946 * Makefile.util.def (libgrubmods): Add
4947 grub-core/partmap/plan.c.
4948 * docs/grub.texi: Notice Plan9 support.
4949 * grub-core/Makefile.core.def (plan9): New module.
4950 (part_plan): Likewise.
4951 * grub-core/loader/i386/pc/plan9.c: New file.
4952 * grub-core/partmap/plan.c: Likewise.
4953 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4954 define.
4955 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4956 * include/grub/mm.h (grub_extend_alloc): New inline function.
4957
c30be3b6
VS
49582011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 Make Reed-Solomon faster by using power of generator representation of
4961 GF(256)*.
4962
4963 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4964 (gf_double_t): Likewise.
4965 (gf_invert): Removed.
4966 (gf_powx): New array.
4967 (gf_powx_inv): Likewise.
4968 (scratch): Move higher.
4969 (gf_reduce): Removed.
4970 (gf_mul): Use powx.
4971 (gf_invert): Likewise.
4972 (init_inverts): Replaced with ...
4973 (init_powx): ...this. All users updated.
4974 (pol_evaluate): Replace multiplications with additions.
4975 (rs_encode): Likewise.
4976 (gauss_eliminate): Call gf_invert.
4977 (grub_reed_solomon_add_redundancy): Call init_powx.
4978 (grub_reed_solomon_recover): Call init_powx unconditionally.
4979
fa5aeffc
VS
49802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4983
a346b81c
VS
49842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4987 disk->partiton for safety.
4988
d89ee414
VS
49892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4992 Fix a memory leak.
4993 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4994
91ee7b6d
VS
49952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4998
91e5a33d
VS
49992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5002
9edd7be2
VS
50032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 Fix spaces handling in proc/self/mountinfo.
5006
5007 * util/getroot.c (unescape): New function.
5008 (grub_find_root_device_from_mountinfo): Use unescape.
5009
ba102053
VS
50102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Support ZFS embedding.
5013
5014 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5015 (grub_zfs_fs): Register grub_zfs_embed.
5016
aa94b870
VS
50172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Fix MIPS compilation.
5020
5021 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5022 * include/grub/offsets.h: Rename decompressor fields from
5023 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5024 * util/grub-mkimage.c (image_targets): Use new names.
5025
5fbdac14
VS
50262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 Defer multiboot device parsing until we're in compressed part.
5029
5030 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5031 bsd_part. setdevice has fallen into disuse.
5032 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5033 (bsd_part): Likewise.
5034 (boot_dev): New variable.
5035 (multiboot_trampoline): Don't parse multiboot device.
5036 Pass multiboot device in %edx.
5037 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5038 grub_boot_device.
5039 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5040 Likewise.
5041 * grub-core/kern/i386/pc/startup.S: Save edx.
5042 (grub_boot_drive): Removed.
5043 (grub_install_dos_part): Likewise.
5044 (grub_install_bsd_part): Likewise.
5045 (grub_boot_device): New variable.
5046 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5047 (grub_install_bsd_part): Likewise.
5048 (grub_boot_drive): Likewise.
5049 (grub_boot_device): New variable.
5050 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5051 Removed.
5052 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5053 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5054 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5055 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5056 * util/grub-install.in: Remove redundant condition.
5057
691cbb58
VS
50582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 Fix bug introduced by previous commit.
5061
5062 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5063
60240b8b
VS
50642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 Use decompressors framework on i386-pc. It increases core size
5067 by 46 bytes but improves compatibility and maintainability.
5068
5069 * grub-core/Makefile.core.def (lzma_decompress): New image.
5070 (kernel): Add i386_pc_ldflags.
5071 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5072 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5073 to real_to_prot, prot_to_real and device info.
5074 * include/grub/offsets.h: Renamed decompressor offsets.
5075 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5076 (image_target_desc): Remove raw_size and rename decompressor fields.
5077 (compress_kernel): Handle lzma.
5078 (generate_image): Handle decompressors on i386-pc.
5079
e9d3421c
VS
50802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * configure.ac: Add -fno-asynchronous-unwind-tables.
5083
2b23074a
VS
50842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 Move assembly code to C by using intwrap. It increases core size
5087 by 88 bytes but improves compatibility and maintainability.
5088
5089 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5090 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5091 ... here. Translated to C.
5092 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5093 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5094 ... here. Translated to C.
5095 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5096 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5097 ... here. Translated to C.
5098 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5099 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5100 ... here. Translated to C.
5101 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5102 * grub-core/term/i386/pc/console.c (grub_console_cls):
5103 ... here. Translated to C.
5104 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5105 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5106 ... here. Translated to C.
5107 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5108 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5109 Translated to C.
5110 * grub-core/term/i386/pc/console.c (int10_9): New function.
5111 (grub_console_putchar): Likewise.
5112 * include/grub/i386/pc/console.h: Removed the not anymore shared
5113 functions.
5114
678f4b67
VS
51152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 Move grub_chainloader_real_boot out of the kernel.
5118
5119 * grub-core/Makefile.am: Remove machine/loader.h.
5120 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5121 Removed.
5122 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5123 variable.
5124 (grub_relocator16_keep_a20_enabled): Likewise.
5125 (grub_relocator16_boot): Fill new variables.
5126 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5127 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5128 relocator.
5129 (grub_chainloader_unload): Likewise.
5130 (grub_chainloader_cmd): Likewise.
5131 * include/grub/i386/pc/loader.h: Removed.
5132 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5133 and esi. All initialisers updated.
5134
4626edf6
VS
51352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
51362011-11-12 Colin Watson <cjwatson@ubuntu.com>
5137
5138 * Makefile.util.def (grub-mount): New util.
5139 * .bzrignore: Add grub-mount.
5140 * configure.ac: Check for fuse and enable grub-mount if available.
5141 * docs/man/grub-mount.h2m: New file.
5142 * util/grub-mount.c: Likewise.
5143
10f0117b
VS
51442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/commands/efi/fixvideo.c: Gettextize.
5147 * grub-core/commands/hashsum.c: Likewise.
5148 * grub-core/commands/i386/cmostest.c: Likewise.
5149 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5150 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5151 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5152 * grub-core/commands/lsmmap.c: Likewise.
5153 * grub-core/commands/menuentry.c: Likewise.
5154 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5155 * grub-core/commands/setpci.c: Likewise.
5156 * grub-core/loader/i386/bsd.c: Likewise.
5157 * grub-core/loader/i386/linux.c: Likewise.
5158 * util/getroot.c: Likewise.
5159 * util/grub-editenv.c: Likewise.
5160 * util/grub-fstest.c: Likewise.
5161 * util/grub-mkfont.c: Likewise.
5162 * util/grub-mkimage.c: Likewise.
5163 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5164 * util/grub-pe2elf.c: Likewise.
5165 * util/grub-probe.c: Likewise.
5166 * util/grub-setup.c: Likewise.
5167 * util/ieee1275/ofpath.c: Likewise.
5168 * util/misc.c: Likewise.
5169 * util/raid.c: Likewise.
5170
566f779b
RM
51712011-11-11 Robert Millan <rmh@gnu.org>
5172
5173 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5174 __attribute__((unused)) from `os_dev', which *is* being used.
5175
b50787de
VS
51762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5179 forgotten define.
5180 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5181 GRUB_IA64_DL_GOT_ALIGN.
5182 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5183 GRUB_IA64_DL_TRAMP_ALIGN.
5184
119d11c8
VS
51852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 Replace grub_fatal with normal errors in i386 linux loader.
5188
5189 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5190 (allocate_pages): Check find_efi_mmap_size return value.
5191 (grub_e820_add_region): Return error.
5192 (grub_linux_boot): Check mmap return value.
5193
6e0632e2
VS
51942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/commands/acpihalt.c: Gettextized.
5197 * grub-core/commands/cacheinfo.c: Likewise.
5198 * grub-core/commands/cmp.c: Likewise.
5199 * grub-core/commands/efi/loadbios.c: Likewise.
5200 * grub-core/commands/gptsync.c: Likewise.
5201 * grub-core/commands/ieee1275/suspend.c: Likewise.
5202 * grub-core/commands/legacycfg.c: Likewise.
5203 * grub-core/commands/memrw.c: Likewise.
5204 * grub-core/commands/minicmd.c: Likewise.
5205 * grub-core/commands/parttool.c: Likewise.
5206 * grub-core/commands/time.c: Likewise.
5207 * grub-core/commands/videoinfo.c: Likewise.
5208 * grub-core/disk/geli.c: Likewise.
5209 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5210 * grub-core/disk/luks.c: Likewise.
5211 * grub-core/disk/lvm.c: Likewise.
5212 * grub-core/font/font_cmd.c: Likewise.
5213 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5214 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5215 * grub-core/gfxmenu/view.c: Likewise.
5216 * grub-core/kern/emu/hostdisk.c: Likewise.
5217 * grub-core/kern/emu/main.c: Likewise.
5218 * grub-core/kern/emu/misc.c: Likewise.
5219 * grub-core/kern/emu/mm.c: Likewise.
5220 * grub-core/kern/mips/arc/init.c: Likewise.
5221 * grub-core/kern/mips/loongson/init.c: Likewise.
5222 * grub-core/kern/partition.c: Likewise.
5223 * grub-core/lib/i386/halt.c: Likewise.
5224 * grub-core/lib/mips/arc/reboot.c: Likewise.
5225 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5226 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5227 * grub-core/loader/i386/xnu.c: Likewise.
5228 * grub-core/loader/multiboot.c: Likewise.
5229 * grub-core/net/bootp.c: Likewise.
5230 * grub-core/net/net.c: Likewise.
5231 * grub-core/normal/term.c: Likewise.
5232 * grub-core/partmap/bsdlabel.c: Likewise.
5233 * grub-core/parttool/msdospart.c: Likewise.
5234 * grub-core/term/gfxterm.c: Likewise.
5235 * grub-core/term/terminfo.c: Likewise.
5236 * grub-core/video/i386/pc/vbe.c: Likewise.
5237 * util/grub-menulst2cfg.c: Likewise.
5238 * util/grub-mkdevicemap.c: Likewise.
5239 * util/grub-mklayout.c: Likewise.
5240 * util/grub-mkrelpath.c: Likewise.
5241 * util/grub-script-check.c: Likewise.
5242 * util/ieee1275/grub-ofpathname.c: Likewise.
5243 * util/resolve.c: Likewise.
5244
073aa7a9
VS
52452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 Support %1$d syntax.
5248
5249 * tests/printf_unit_test.c: New file.
5250 * Makefile.util.def (printf_test): New test.
5251 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5252
c76b5417
VS
52532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5256 fix.
5257
df067ad1
VS
52582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5261 dprintf.
5262 * grub-core/font/font.c (grub_font_load): Likewise.
5263
5b289bc5
VS
52642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * util/grub-macho2img.c: Add comment concerning gettext.
5267 * grub-core/lib/legacy_parse.c: Likewise.
5268
c1860f87
VS
52692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5272 (grub_xvasprintf): Likewise.
5273
d35d0d37
VS
52742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 Add const keyword to grub_env_get and gettextize week days.
5277
5278 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5279 (grub_read_hook_datetime): Return const char *.
5280 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5281 updated.
5282 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5283 Mark for gettext.
5284 (grub_get_weekday_name): Return const char *. Call gettext.
5285 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5286 char * and len as the argument. All users updated.
5287 (grub_script_argv_split_append): Receive const char *.
5288 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5289 * include/grub/env.h (grub_env_get): Likewise.
5290 (grub_env_read_hook_t): Return const char *.
5291 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5292 (grub_script_argv_split_append): Likewise.
5293
9aed8a71
VS
52942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5297
067fdf00
VS
52982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5301 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5302
a8bd9d39
VS
53032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5306 Fix prototype.
5307
f7ce5baf
VS
53082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 Fix mips compilation.
5311
5312 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5313 normal decoder.
5314 (hashes): Use in embed decoder as well (for sizes).
5315 (dec_stream_header): Fix embed decompressor logic.
5316 (dec_stream_footer): Likewise.
5317
9bb182f3
VS
53182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5321 an error and not a fatal on unrecognised relocation types.
5322
63a9e6f6
VS
53232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5326 Issue error rather than printf on unknown arguments.
5327
4c458569
VS
53282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5331 Make buf a const.
5332
e2d22baf
VS
53332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5336 Fix module name.
5337
53dc8590
VS
53382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5341 leftover debug printf.
5342
6c189294
VS
53432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5346
f7688369
VS
53472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5350 A stylistic fix.
5351
11a775a3
VS
53522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5355
33f784e8
SL
53562011-11-10 Shea Levy <slevy@tieronedesign.com>
5357
5358 Allow all modules to perform serial IO
5359
5360 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5361 * include/grub/serial.h (grub_serial_port_configure): New inline
5362 function.
5363 (grub_serial_port_fetch): Likewise.
5364 (grub_serial_port_put): Likewise.
5365 (grub_serial_port_fini): Likewise.
5366 (grub_serial_find): New proto.
5367
f6276525
VS
53682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Put symlink at the end of the node and fix a potential
5371 memory corruption.
5372
5373 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5374 Make symlink into an array.
5375 (set_rockridge): Set have_symlink and alloc_dirents.
5376 (grub_iso9660_read_symlink): Use new layout.
5377 (grub_iso9660_iterate_dir): Fix memory corruption.
5378 Use new layout.
5379 (grub_iso9660_dir): Set have_symlink.
5380 (grub_iso9660_open): Likewise.
5381
c3591189
VS
53822011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 Remove local keyword.
5385
5386 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5387 (version_test_gt): Likewise.
5388 (version_find_latest): Likewise.
5389 (gettext_printf): Likewise.
5390 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5391
cb544caa
VS
53922011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5395
45bd824d
VS
53962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 Fix ZFS memory and resource leaks.
5399
5400 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5401 All users updated.
5402 Free type on exit.
5403 (fill_vdev_info): New parameter inserted. All users updated.
5404 (check_pool_label): Likewise.
5405 (scan_disk): Likewise.
5406 (scan_devices): Close non-inserted disks.
5407 (fzap_iterate): Free l.
5408 (unmount_device): Free children descripto memory.
5409
ad9a2f44
VS
54102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5413 argument (access out of bounds).
5414
6b68db81
VS
54152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5418 >= 6 drives.
5419
28840fda
VS
54202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5423 Fix declaration.
5424
8a5a3a5b
VS
54252011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 Fix several memory leaks.
5428
5429 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5430 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5431 (grub_cpio_dir): Likewise.
5432 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5433 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5434 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5435 (grub_romfs_label): Likewise.
5436 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5437 (squash_unmount): New function.
5438 (grub_squash_dir): Fix memory leak.
5439 (grub_squash_open): Likewise.
5440 (grub_squash_read): Likewise.
5441 (grub_squash_mtime): Likewise.
5442 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5443 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5444 * util/grub-fstest.c (fstest): Likewise.
5445
57b01250
VS
54462011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5449 avoid accessing beyond the array.
5450
19e81ba7
VS
54512011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5454
52b656c0
VS
54552011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 Several AFFS fixes.
5458
5459 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5460 (GRUB_AFFS_FLAG_FFS): Removed.
5461 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5462 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5463 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5464 (grub_fshelp_node): Make block 32-bit.
5465 Add block_cache and last_block_cache.
5466 (grub_affs_read_block): Fill and use block cache.
5467 (grub_affs_read_file): Removed.
5468 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5469 boot block.
5470 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5471 safety.
5472 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5473 space.
5474 (grub_affs_close): Free block cache.
5475 (grub_affs_read): Use grub_fshelp_read_file directly.
5476
438a746a
VS
54772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5480 with no error set.
5481
49a45021
VS
54822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5485 used variable.
5486 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5487 Likewise.
5488
3ae17eb8
VS
54892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5492
5493 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5494 byteswap when needed.
5495
27610c38
VS
54962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 Fix FreeBSD compilation.
5499
5500 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5501 to avoid circular dependency.
5502 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5503 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5504 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5505
4a19b601
VS
55062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 Fix ZFS crypto error types.
5509
5510 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5511 (grub_gcm_decrypt): Likewise.
5512 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5513 from PBKDF2.
5514
958ee221
VS
55152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 Illumos support.
5518
5519 * Makefile.util.def (10_illumos): New script.
5520 * configure.ac: Set COND_HOST_ILLUMOS.
5521 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5522 Support Illumos calls.
5523 (find_partition_start) [__sun__]: Likewise.
5524 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5525 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5526 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5527 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5528 device.
5529 * util/grub-probe.c (probe) [__sun__]: Do character check.
5530 * util/grub.d/10_illumos.in: New file.
5531
cac14fb6
VS
55322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 Support escaped commas in hostdisk.
5535
5536 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5537 (find_grub_drive): Use unescape_cmp.
5538 (make_device_name): Escape commas.
5539
78e08dc3
VS
55402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5543
9f421dd1
VS
55442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5547 variable.
5548
ed64e9e2
VS
55492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 Support trampoline jumps on powerpc.
5552
5553 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5554 __ia64__ path.
5555 (grub_dl_load_segments): Set mod->sz.
5556 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5557 segments.
5558 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5559 (jump): Likewise.
5560 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5561 function.
5562 (trampoline): New struct.
5563 (trampoline_template): New const.
5564 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5565 * include/grub/dl.h (grub_dl): Add sz element.
5566 [__powerpc__]: Follow __ia64__.
5567 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5568 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5569 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5570 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5571
3084ede4
VS
55722011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 ZFS crypto support.
5575
5576 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5577 * grub-core/Makefile.core.def (zfscrypt): New module.
5578 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5579 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5580 it. All users updated.
5581 (grub_zfs_decrypt): New var.
5582 (grub_zfs_load_key): Likewise.
5583 (zio_checksum_functions): Add SHA256+MAC.
5584 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5585 (zio_read): Handle encrypted blocks.
5586 (zap_verify): Remove incorrect check.
5587 (fzap_iterate): Handle non-standard fzap.
5588 (zap_iterate): Likewise.
5589 (zap_iterate_u64): New function.
5590 (dnode_get_fullpath): Load keys.
5591 * grub-core/fs/zfs/zfscrypt.c: New file.
5592 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5593 (grub_crypto_ecb_encrypt): Make input const.
5594 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5595 (grub_crypto_ecb_encrypt): Make input const.
5596 (GRUB_CIPHER_AES): New macro.
5597 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5598 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5599 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5600 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5601 prefix. All users updated.
5602 (grub_zfs_add_key): New proto.
5603 (grub_zfs_decrypt): Likewise.
5604 (grub_zfs_load_key): Likewise.
5605 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5606 * util/grub-fstest.c (options): Add -K option.
5607 (argp_parser): Likewise.
5608
b632b404
VS
56092011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 Support zle compression on ZFS.
5612
5613 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5614 (decomp_table): Add zle.
5615 * include/grub/zfs/zio.h (zio_compress): Add zle.
5616
c7ba4f69
VS
56172011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 Support BtrFS embedding.
5620
5621 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5622 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5623 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5624 * util/grub-setup.c (setup): Use fs embedding if available.
5625 Add additional sanity check.
5626
455377d9
VS
56272011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * util/grub-install.in: Fix condition for config_opt.
5630
c2fd16ca
VS
56312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 Support third redundancy strip on raidz3.
5634
5635 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5636 Return error on singularity. All users updated.
5637 (read_device): Don't stop on 3rd failure on raidz3.
5638
8622923b
VS
56392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 Support case-insensitive ZFS subvolumes.
5642
5643 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5644 All users updated.
5645 (zap_hash): Likewise.
5646 (name_cmp): New function.
5647 (zap_leaf_array_equal): New parameter case_insensitive.
5648 All users updated.
5649 (zap_leaf_lookup): Likewise.
5650 (fzap_lookup): Likewise.
5651 (zap_lookup): Likewise.
5652 (dnode_get_path): New parameter case_insensitive. Retrieve case
5653 sensitiviness of a volume. All users updated.
5654 (dnode_get_fullpath): New parameter case_insensitive.
5655 All users updated.
5656 (grub_zfs_dir): Set info.case_insensitiveness.
5657
95f2e860
VS
56582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 Support second redundancy strip on raidz(2,3).
5661
5662 * grub-core/fs/zfs/zfs.c (powx): New array.
5663 (powx_inv): Likewise.
5664 (poly): New const.
5665 (xor_out): New function.
5666 (gf_mul): Likewise.
5667 (recovery): Likewise.
5668 (read_device): Use second redundancy strip.
5669
11ee4389
VS
56702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 Use a power of generator representation of GF(256) multiplication group
5673 to save space time and complexity.
5674
5675 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5676 (raid6_table2): Likewise.
5677 (powx): New array.
5678 (powx_inv): Likewise.
5679 (poly): New const.
5680 (grub_raid_block_mul): Replace with ...
5681 (grub_raid_block_mulx): ...this.
5682 (grub_raid6_init_table): Rewritten.
5683 (grub_raid6_recover): Use power of generator representation.
5684
09e2763f
VS
56852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5688 for the right device.
5689
8bec9a28
VS
56902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5693 expected by grub-mkimage and it's more clear since there is no implicit
5694 padding.
5695
dbd3a32e
VS
56962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5699 disk.
5700 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5701
182c872a
PMH
57022011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5703
5704 * util/grub-mkrescue.in: Fix handling xorriso option.
5705
1e51cabd
VS
57062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5709 NULL.
5710
9cc3581d 57112011-11-03 crocket <crockabiscuit@gmail.com>
5712
5713 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5714
158dc1ea
VS
57152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 XZ CRC64 and SHA256 support.
5718
5719 * Makefile.util.def (libgrubmods): Add crc64.c.
5720 * grub-core/Makefile.core.def (crc64): New module.
5721 * grub-core/lib/crc64.c: New file.
5722 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5723 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5724 Fix the type.
5725 (MAX_HASH_SIZE): New define.
5726 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5727 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5728 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5729 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5730 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5731 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5732 Handle non-crc32 hashes.
5733 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5734 (dec_stream_header): Handle non-crc32 hashes.
5735 (dec_stream_footer): Likewise.
5736 (dec_block_header): Likewise.
5737 (dec_main): Likewise.
5738 (xz_dec_init): Likewise.
5739 (xz_dec_reset): Likewise.
5740 (xz_dec_end): Likewise.
5741 * util/import_gcry.py: Add CRC64 line.
5742
9d9b3d2f
VS
57432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5746 as well.
5747
7d0ac931
VS
57482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 Make reiserfs label retrieval similar to other *_label functions.
5751
5752 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5753 (REISERFS_MAX_LABEL_LENGTH): Removed.
5754 (REISERFS_LABEL_OFFSET): Likewise.
5755 (grub_reiserfs_label): Rewritten.
5756
57572011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5760 field.
5761
cf5ba824
VS
57622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5765
17744004
VS
57662011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5769 drive failure on both raidz and raidz2.
5770
aca5aefc
VS
57712011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 Fix RAIDZ(2) for >= 5 devices.
5774
5775 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5776 asize argument. All users updated.
5777
ce8ca56e
VS
57782011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 Fix RAIDZ(2).
5781
5782 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5783 (fill_vdev_info_real): Set ashift.
5784 (read_device): Rewrite RAIDZ part based on reverse engineering.
5785
7c01e783
VS
57862011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5789 don't report potentially unavialiable fields in debug output.
5790 (find_path): Fix double-free and memory leak.
5791
ce109e84
VS
57922011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 Read label on UFS1.
5795
5796 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5797 (grub_ufs_fs): Always set .label.
5798
87661123
VS
57992011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 Use shifts in UFS.
5802
5803 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5804 (grub_ufs_data): New field log2_blksz.
5805 (grub_ufs_read_file): Use shifts.
5806 (grub_ufs_mount): Check block size and logarithm it.
5807
46bc1dc2
VS
58082011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5811 long symlinks.
5812
19ee2987
VS
58132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 Handle symlinks and long names on tar and cpio.
5816
5817 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5818 (ATTR_FILE): Likewise.
5819 (ATTR_DIR): Likewise.
5820 (ATTR_LNK): Likewise.
5821 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5822 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5823 L and K entries.
5824 (grub_cpio_mount): Zero-fill data.
5825 (handle_symlink): New function.
46bc1dc2
VS
5826 (grub_cpio_dir): Handle symlinks.
5827 (grub_cpio_open): Likewise.
5828 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5829
c83a08d8
VS
58302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 Fix iso9660 filename limitations and fix memory leaks.
5833
5834 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5835 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5836
45cdd3ea
VS
58372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 Fix JFS file name length limitations.
5840
5841 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5842 (grub_jfs_diropen): Fix maximum filename length.
5843 (grub_jfs_getent): Fix filename length.
5844 (grub_jfs_lookup_symlink): Fix size checks.
5845
94ef05c2
VS
58462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5849 string.
5850
785ab8c7
VS
58512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5852
eb0b6b45
VS
5853 Leverage BFS implementation to read AFS.
5854
5855 * Makefile.util.def (libgrubmods): Add afs.c.
5856 * grub-core/Makefile.core.def (afs): New module
5857 * grub-core/fs/afs.c: New file.
5858 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5859
58602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5863
c4a1628f
VS
58642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 * grub-core/fs/bfs.c: Run indent.
5867
5825b379
VS
58682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 BFS implementation based on the specification.
5871
5872 * grub-core/fs/bfs.c: New file.
5873 * Makefile.util.def (libgrubmods): Add bfs.c.
5874 * grub-core/Makefile.core.def (bfs): New module.
5875
42b2a706
VS
58762011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * util/grub-fstest.c (cmd_cp): Clarify error message.
5879 (cmd_cmp): Likewise.
5880
61b99bfc
YB
58812011-10-30 Yves Blusseau <blusseau@zetam.org>
5882
5883 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5884 and befs_be.
5885
faba3d16
VS
58862011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 Remove afs and befs because of copyright problem.
5889
5890 * grub-core/fs/afs.c: Removed.
5891 * grub-core/fs/afs_be.c: Removed.
5892 * grub-core/fs/befs.c: Removed.
5893 * grub-core/fs/befs_be.c: Removed.
5894 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5895 * grub-core/Makefile.core.def (afs): Removed.
5896 (afs_be): Likewise.
5897 (befs): Likewise.
5898 (befs_be): Likewise.
5899
c39224b0
VS
59002011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 Prefer rockridge over Joliet.
5903
5904 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5905 to ...
5906 (set_rockridge): ... here.
5907 (grub_iso9660_mount): Check rockridge on the primary label when
5908 discovering. Ignore Joliet if Rockridge is present.
5909
e551115a
VS
59102011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 Use shifts in nilfs2.
5913
5914 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5915 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5916 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5917 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5918 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5919 (grub_nilfs2_entries_per_block): Replaced with ...
5920 (grub_nilfs2_log_entries_per_block_log): ... this.
5921 (grub_nilfs2_blocks_per_group): Replaced with ...
5922 (grub_nilfs2_blocks_per_group_log): ... this.
5923 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5924 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5925 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5926 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5927 (grub_nilfs2_palloc_entry_offset): Replaced ...
5928 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5929 (grub_nilfs2_dat_translate): Use shifts.
5930 (grub_nilfs2_read_inode): Likewise.
5931 (GRUB_MOD_INIT): Ensure that logs are correct.
5932
564dd58c
VS
59332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 Use shifts in minix filesystem.
5936
5937 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5938 (GRUB_MINIX_ZONE2SECT): Likewise.
5939 (grub_minix_data): Replace block_size with log_block_size.
5940 (grub_minix_read_file): Use shifts.
5941 (grub_minix_mount): Check block size and take a logarithm.
5942
ed9ba06d
VS
59432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 Use shifts in squash4.
5946
5947 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5948 (squash_mount): Check block size and take logarithm.
5949 (direct_read): Use shifts.
5950
ad03fe76
VS
59512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 Correct befs block counting logic.
5954
5955 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5956 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5957 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5958 (grub_afs_read_inode): Use block_shift.
5959 (RANGE_SHIFT): New definition.
5960 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5961 unexpected conditions, use shifts and appropriate types.
5962 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5963
6563f63d
VS
59642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/disk/raid.c (scan_devices): Check partition.
5967 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5968
5b1ae25f
VS
59692011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 Support BFS (befs) UUID.
5972
5973 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5974 (grub_afs_small_data_element_header): New struct.
5975 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5976 (grub_afs_read_attribute) [MODE_BFS]: New function.
5977 (grub_afs_iterate_dir): Allocate for complete inode.
5978 (grub_afs_mount): Likewise.
5979 (grub_afs_uuid) [MODE_BFS]: New function.
5980 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5981
f8d82408
VS
59822011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5985 (zfs_unmount): Fix memory leak.
5986
5773fb64
VS
59872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 Support NTFS reparse points.
5990
5991 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5992 (symlink_descriptor): New struct.
5993 (grub_ntfs_read_symlink): New function.
5994 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5995 (grub_ntfs_open): Likewise.
5996
91c3fdde
VS
59972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6000
3be82e10
VS
60012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 fstest xnu_uuid subcommand.
6004
6005 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6006 grub-core/commands/xnu_uuid.c.
6007 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6008 (fstest): Handle xnu_uuid.
6009 (options): Document xnu_uuid.
6010 (argp_parser): Parse xnu_uuid.
6011
8e32442e
VS
60122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6015 -l argument. Add newline at the end if printing.
6016 (GRUB_MOD_INIT): Document -l.
6017
52a05075
VS
60182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6021
1869edb5
VS
60222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 ZFS multi-device and version 33 support.
6025
6026 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6027 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6028 (grub_zfs_data): Add multidev-ice-related fields.
6029 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6030 (dva_get_offset): Make dva const.
6031 (zfs_fetch_nvlist): New function.
6032 (fill_vdev_info_real): Likewise.
6033 (fill_vdev_info): Likewise.
6034 (check_pool_label): Likewise.
6035 (scan_disk): Likewise.
6036 (scan_devices): Likewise.
6037 (read_device): Likewise.
6038 (read_dva): Likewise.
6039 (zio_read_gang): Use read_dva.
6040 (zio_read_data): Likewise.
6041 (zap_leaf_lookup): Add missing endian conversion.
6042 (zap_verify): Add missing endian conversion. All users updated.
6043 (fzap_lookup): Likewise.
6044 (fzap_iterate): Likewise.
6045 (dnode_get_path): Handle SA bonus.
6046 (nvlist_find_value): Make input const. All users updated.
6047 (unmount_device): New function.
6048 (zfs_unmount): Use unmount_device.
6049 (zfs_mount): Use scan_disk.
6050 (zfs_mtime): New function.
6051 (grub_zfs_open): Handle system attributes.
6052 (fill_fs_info): Likewise.
6053 (grub_zfs_dir): Likewise.
6054 (grub_zfs_fs): Add mtime.
6055 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6056 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6057 (SA_MTIME_OFFSET): Likewise.
6058 (SA_SYMLINK_OFFSET): Likewise.
6059 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6060 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6061 (fstest): Support zfsinfo.
6062 (argp_parser): Likewise.
6063
186b4028
VS
60642011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6067 error.
6068
60692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6070
6071 ZFS fixes.
6072
6073 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6074 sharing the same block. Iterate over correct number of indices.
6075 (dnode_get_path): Handle symlinks correctly.
6076
c0584900
VS
60772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6080
67e2bd71
VS
60812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 Read label on HFS+.
6084
6085 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6086 (grub_hfsplus_btree_search): Fix types.
6087 (grub_hfsplus_label): Implement.
6088
e9cc6b7b
VS
60892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6092
19832ddb
VS
60932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6096
66b40850
VS
60972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 Fix symlink handling on iso9660.
6100
6101 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6102 All users updated.
6103 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6104 (grub_iso9660_read_symlink): Moved most of code ...
6105 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6106
db821363
VS
61072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6110 Use union to avoid breaking strict-aliasing rules.
6111
e1211949
VS
61122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 Support multi-extent iso files.
6115
6116 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6117 Add node.
6118 (grub_fshelp_node): Revamp. All users updated.
6119 (FLAG_*): New enum.
6120 (read_node): New function.
6121 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6122 All users updated.
6123 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6124 (get_node_size): New function.
6125 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6126 entries.
6127 Fix memory leak on . and ..
6128 (grub_iso9660_read): Use read_node.
6129 (grub_iso9660_close): Free node.
6130
d4888031
VS
61312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 Fix tar 4G limit and handle paths containing dot.
6134
6135 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6136 (canonicalize): New function.
6137 (grub_cpio_find_file): Use canonicalize. Store offs in
6138 grub_disk_addr_t.
6139 (grub_cpio_dir): Use grub_disk_addr_t.
6140 (grub_cpio_open): Likewise.
6141
9f12e664
VS
61422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6145
6146 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6147 unused flags.
6148 (grub_squash_inode): Add long_file and block_size.
6149 (grub_squash_cache_inode): New struct.
6150 (grub_squash_dirent): Make types into enum.
6151 (SQUASH_TYPE_LONG_REGULAR): New type.
6152 (grub_squash_frag_desc): Add field size.
6153 (SQUASH_BLOCK_FLAGS): New enum.
6154 (grub_squash_data): Use grub_squash_cache_inode.
6155 (grub_fshelp_node): Make ino_chunk 64-bit.
6156 (read_chunk): Minor argument change. All users updated.
6157 (squash_mount): Use correct le_to_cpu.
6158 (grub_squash_open): Handle LONG_REGULAR.
6159 (direct_read): New function.
6160 (grub_squash_read_data): Handle blocks correctly.
6161
9f326fba
VS
61622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6165
f4d9b64b
VS
61662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6169
5bbd28b8
VS
61702011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 Fix 2G limit on ZFS.
6173
6174 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6175 types.
6176 (uberblock_verify): Likewise.
6177 (dmu_read): Likewise.
6178 (grub_zfs_read): Likewise. Remove invalid cast.
6179
68c72069
VS
61802011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6183 (grub_jfs_blkno): Fix incorrect shift.
6184 (grub_jfs_read_file): Use more appropriate types.
6185
6e536dc8
VS
61862011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Support triple indirect on minix2 and minix3.
6189
6190 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6191 Declare triple_indir_zone.
6192 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6193 indirect.
6194
e0864e7a
VS
61952011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 Minix FS fixes.
6198
6199 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6200 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6201 Rename ctime to mtime. All users updated.
6202 (grub_minix_get_file_block): Fix types and double indirect computations.
6203
89481cab
VS
62042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6207 if no label is found.
6208 (grub_fat_iterate_dir): Fix file size type.
6209 (grub_fat_iterate_dir): Likewise.
6210
f646e143
VS
62112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6214 save some space.
6215 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6216 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6217
534d769e
VS
62182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6221
e084ba18
VS
62222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * util/import_gcry.py: Accept space between # and include.
6225
3471ecdf
VS
62262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6229
124df5f6
VS
62302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6233
6234 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6235 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6236 yylex_strncpy.
6237 * grub-core/script/yylex.l: Add fine-grained #pragma.
6238
4defb8d5
VS
62392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6242 New inline function.
6243 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6244 Likewise.
6245 (memset) [GRUB_UTIL]: Likewise.
6246 (memcmp) [GRUB_UTIL]: Likewise.
6247
4e94ae65
VS
62482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6251 inline function rather than a define.
6252
18c575e5
VS
62532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * util/grub-setup.c: Add missing include.
6256
f8bc22a8
VS
62572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * util/ieee1275/grub-ofpathname.c: Add missing include.
6260
3ce69fc9
VS
62612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6264 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6265 Likewise.
6266
d1e293bb
VS
62672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6270 grub_memcmp usage.
6271
7a5c54a4
VS
62722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * util/grub-install.in: Add datarootdir as per automake manual
6275 suggestion.
6276 * util/grub-mknetdir.in: Likewise.
6277
62782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6279
6280 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6281 suggestion.
6282 * util/grub.d/10_kfreebsd.in: Likewise.
6283 * util/grub.d/10_linux.in: Likewise.
6284 * util/grub.d/10_netbsd.in: Likewise.
6285 * util/grub.d/10_windows.in: Likewise.
6286 * util/grub.d/20_linux_xen.in: Likewise.
6287
766f7d08
VS
62882011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 Remove redundant grub_kernel_image_size.
6291
6292 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6293 _edata and _start.
6294 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6295 the small code. It moves it only by few bytes but simplifies the code.
6296 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6297 _start.
6298 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6299 (grub_kernel_image_size): Removed.
6300 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6301 (grub_kernel_image_size): Removed.
6302 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6303 compiled with Apple toolchain.
6304 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6305 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6306 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6307 (grub_total_module_size): Likewise.
6308 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6309 Removed.
6310 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6311 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6312 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6313 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6314 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6315 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6316 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6317 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6318 Removed.
6319 (grub_total_module_size): Removed.
6320 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6321 (image_targets): Likewise.
6322 Set .compressed_size to no field on sparc.
6323 (generate_image): Remove kernel_image_size handling.
6324
fcf1d672
SJ
63252011-10-19 Szymon Janc <szymon@janc.net.pl>
6326
6327 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6328 NULL pointer dereference.
6329
de9c615e
VS
63302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6333 done with a dedicated section.
6334
6335 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6336 Ensure the correct position of boot_path.
6337 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6338 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6339 other fields.
6340 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6341 * include/grub/boot.h: Removed. All references removed.
6342 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6343 Removed.
6344 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6345
e55599dc
VS
63462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6349 name.
6350
36dd20ad
VS
63512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6354
f8f72eb8
VS
63552011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6358 Don't add the bogus brackets.
6359
a374751b
VS
63602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 ExFAT support.
6363
6364 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6365 * grub-core/Makefile.core.def (exfat): New module.
6366 * grub-core/fs/exfat.c: New file.
6367 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6368 (GRUB_FAT_ATTR_*): Make into an enum.
6369 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6370 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6371 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6372 (GRUB_FAT_MAXFILE): Removed.
6373 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6374 (grub_current_fat_bpb_t): New type.
6375 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6376 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6377 (grub_fat_dir_node_t): New type.
6378 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6379 (fat_log2) [MODE_EXFAT]: Removed.
6380 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6381 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6382 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6383 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6384 (grub_fat_label) [MODE_EXFAT]: New function.
6385 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6386 reserved_first_sector to 0.
6387
544c2487
VS
63882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 Move grub_reboot out of the kernel.
6391
6392 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6393 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6394 * grub-core/lib/efi/reboot.c: ... here.
6395 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6396 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6397 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6398 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6399 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6400 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6401 * grub-core/lib/ieee1275/reboot.c: ... here.
6402 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6403 * grub-core/lib/mips/arc/reboot.c: ... here.
6404 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6405 * grub-core/lib/mips/loongson/reboot.c: ...here.
6406 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6407 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6408 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6409 * include/grub/i386/reboot.h: New file.
6410 * include/grub/mips/loongson/ec.h: Fix includes.
6411 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6412 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6413 * grub-core/lib/i386/reboot.c: New file.
6414
a97501d2
VS
64152011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Make grub_prefix into module to fix the arbitrary limit and save
6418 some space.
6419
6420 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6421 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6422 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6423 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6424 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6425 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6426 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6427 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6428 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6429 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6430 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6431 * include/grub/ia64/efi/kernel.h: Removed.
6432 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6433 (grub_prefix): Removed.
6434 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6435 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6436 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6437 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6438 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6439 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6440 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6441 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6442 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6443 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6444 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6445 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6446 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6447 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6448 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6449 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6450 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6451 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6452 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6453 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6454 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6455 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6456 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6457 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6458 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6459 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6460 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6461 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6462 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6463 from module.
6464 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6465 prefix_end.
6466 (image_targets): Likewise.
6467 (generate_image): Put prefix as a module.
6468
39705fad
VS
64692011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 Replace grub_module_iterate with FOR_MODULES.
6472
6473 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6474 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6475 (grub_efi_modules_addr): ...this.
6476 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6477 (grub_efi_init): Set grub_modbase.
6478 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6479 (grub_modbase): New variable.
6480 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6481 (grub_modbase): New variable.
6482 (grub_machine_init): Set grub_modbase.
6483 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6484 (grub_modbase): New variable.
6485 (grub_machine_init): Set grub_modbase.
6486 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6487 (grub_modbase): New variable.
6488 (grub_machine_init): Set grub_modbase.
6489 * grub-core/kern/main.c (grub_module_iterate): Remove.
6490 (grub_modules_get_end): Use grub_modbase.
6491 (grub_load_modules): Use FOR_MODULES.
6492 (grub_load_config): Likewise.
6493 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6494 (grub_modbase): New variable.
6495 (grub_machine_init): Set grub_modbase.
6496 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6497 (grub_modbase): New variable.
6498 (grub_machine_init): Set grub_modbase.
6499 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6500 Removed.
6501 (grub_modbase): New variable.
6502 (grub_machine_init): Set grub_modbase.
6503 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6504 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6505 (grub_module_iterate): Likewise.
6506 (grub_modbase): New variable declaration.
6507 (FOR_MODULES): New macro.
6508
2afb7f6c
VS
65092011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6512 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6513
366e34fa
VS
65142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 Fix few obvious type discrepancies.
6517
6518 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6519 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6520 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6521 variable.
6522 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6523 and connected types.
6524 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6525 offset.
6526 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6527 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6528 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6529 and connected types.
6530
177b960e
VS
65312011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 Fix python 3.x incompatibilities.
6534
6535 * gentpl.py: Put brackets around print strings.
6536 * util/import_gcry.py: Open explicitly as utf-8.
6537 Use in instead of has_key.
6538
3b619ae1
VS
65392011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6542 (GRUB_XFS_INO_AGBITS): Make into inline function.
6543 (GRUB_XFS_INO_INOINAG): Likewise.
6544 (GRUB_XFS_INO_AG): Likewise.
6545 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6546 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6547 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6548 (GRUB_XFS_EXTENT_SIZE): Likewise.
6549 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6550 (GRUB_XFS_NEXT_DIRENT): Likewise.
6551 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6552 (grub_xfs_read_file): Fix offset type.
6553
8bcebcb8
RM
65542011-10-15 Robert Millan <rmh@gnu.org>
6555
6556 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6557
0017e5ef
RM
65582011-10-15 Robert Millan <rmh@gnu.org>
6559
6560 Fix build problem on FreeBSD and GNU/kFreeBSD.
6561
6562 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6563
d8919552
VS
65642011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6567
6568 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6569 types.
6570 (grub_hfsplus_btree_recoffset): Likewise.
6571 (grub_hfsplus_btree_recptr): Likewise.
6572 (grub_hfsplus_find_block): Likewise.
6573 (grub_hfsplus_btree_search): Likewise.
6574 (grub_hfsplus_read_block): Likewise.
6575 (grub_hfsplus_read_file): Likewise.
6576 (grub_hfsplus_mount): Likewise.
6577 (grub_hfsplus_btree_iterate_node): Likewise.
6578 (grub_hfsplus_btree_search): Likewise.
6579 (grub_hfsplus_iterate_dir): Likewise.
6580 (grub_hfsplus_read): A small code simplification.
6581
c81296b6
VS
65822011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 * grub-core/kern/emu/hostdisk.c
6585 (convert_system_partition_to_system_disk): Don't assume that children
6586 of mapper nodes are mapper nodes.
6587
0eb8ffb1
VS
65882011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6591 * include/grub/misc.h (grub_isxdigit): New function.
6592 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6593 switched to grub_isxdigit.
6594 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6595 number starting with a letter.
6596
a98f4a08
RM
65972011-10-09 Robert Millan <rmh@gnu.org>
6598
6599 LVM support for FreeBSD and GNU/kFreeBSD.
6600
6601 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6602 GNU/kFreeBSD.
6603 (LVM_DEV_MAPPER_STRING): Move from here ...
6604 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6605 * util/getroot.c: Include `<grub/util/lvm.h>'.
6606 (grub_util_get_dev_abstraction): Enable
6607 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6608 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6609 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6610 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6611 support it.
6612 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6613 GNU/kFreeBSD.
6614 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6615 when LVM abstraction is required for ${GRUB_DEVICE}.
6616
050e8e90
SJ
66172011-10-06 Szymon Janc <szymon@janc.net.pl>
6618
6619 Add support for LZO compression in GRUB:
6620 - import of minilzo library,
6621 - LZO decompression for btrfs,
6622 - lzop files decompression.
6623
6624 * grub-core/io/lzopio.c: New file.
6625 * grub-core/lib/adler32.c: Likewise.
6626 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6627 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6628 * grub-core/lib/minilzo/minilzo.c: Likewise.
6629 * grub-core/lib/minilzo/minilzo.h: Likewise.
6630 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6631 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6632 grub-core/lib/minilzo/minilzo.c to common.
6633 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6634 cflags in cppflags.
6635 * grub-core/Makefile.core.def (btrfs): Likewise.
6636 * grub-core/Makefile.core.def (lzopio): New module.
6637 (adler32): Likewise.
6638 * grub-core/fs/btrfs.c: Include minilzo.h.
6639 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6640 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6641 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6642 (grub_btrfs_lzo_decompress): New function.
6643 (grub_btrfs_extent_read): Add support for LZO compression type.
6644 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6645 (GRUB_USHRT_MAX): Likewise.
6646 (GRUB_UINT_MAX): Likewise.
6647 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6648 (UINT_MAX): Likewise.
6649 (CHAR_BIT): Likewise.
6650 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6651 grub-core/lib/posix_wrap/limits.h
6652 (UCHAR_MAX): Likewise.
6653 * include/grub/file.h (grub_file_filter_id): New compression filter
6654 GRUB_FILE_FILTER_LZOPIO.
6655 * include/grub/file.h (grub_file_filter_id): Set
6656 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6657 * include/grub/types.h (grub_get_unaligned16): New function.
6658 (grub_get_unaligned32): Likewise.
6659 (grub_get_unaligned64): Likewise.
6660 * util/import_gcry.py (cryptolist): Add adler32.
6661
0eb8ffb1
VS
66622011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6665 in perspective decreases the complexity of build system and fixes
6666 compilation right now.
6667
ce79cc99 66682011-10-01 Ales Nesrsta <starous@volny.cz>
6669
6670 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6671 (fixed problem related to using UHCI with coreboot).
6672
8667a314
BC
66732011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6674
6675 * gentpl.py: Use Autogen macros so that the output template file
6676 (Makefile.tpl) size is reduced.
6677
fc5efcc0
MK
66782011-09-29 Mads Kiilerich <mads@kiilerich.com>
6679
6680 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6681 extra_dist.
6682
d1ab689d
ML
66832011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6684
6685 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6686 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6687
c05de032
ML
66882011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6689
6690 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6691 _fullpath.
6692
cca7ccd8
ML
66932011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6694
6695 Remove extra declaration of sleep for mingw32.
6696
6697 * util/misc.c (sleep) [__MINGW32__]: Removed.
6698 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6699
e0b0dc83
GS
67002011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6701
6702 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6703 type and packname.
6704 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6705 Resurrected.
6706 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6707 (grub_netbsd_btinfo_bootwedge): New struct.
6708 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6709 New function.
6710 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6711
91a1a164
TH
67122011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6713
6714 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6715 loader.
6716
2ded951e
AB
67172011-09-28 Andreas Born <futur.andy@googlemail.com>
6718
6719 Fix incorrect identifiers in bash-completion.
6720
6721 * util/bash-completion.d/grub-completion.bash.in
6722 (_grub_mkpasswd-pbkdf2): Rename to ...
6723 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6724 (_grub_script-check): Rename to ...
6725 (_grub_script_check): ... this. All users updated.
6726
69915030
VS
67272011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6730 Return 0 if disk isn't biosdisk.
6731
20fd15f9
GS
67322011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6733
6734 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6735 on NetBSD.
6736 * Makefile.util.def (grub-fstest): Likewise.
6737
1a7d7db9
GS
67382011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6739
6740 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6741 Get sector size from disk label.
6742
2221ab6c
CW
67432011-09-05 Colin Watson <cjwatson@ubuntu.com>
6744
6745 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6746 */README* as well as README*.
6747 Reported by: Axel Beckert.
6748
ca51c4a0
VS
67492011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6752 case of less than 256 MiB of RAM.
6753
ab80f326
VS
67542011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/commands/wildcard.c (make_regex): Handle @.
6757
4155e697
VS
67582011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6761
ab178c08
SJ
67622011-08-21 Szymon Janc <szymon@janc.net.pl>
6763
6764 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6765 AC_LANG_CONFTEST macros.
6766
7dc3c686
SJ
67672011-08-20 Szymon Janc <szymon@janc.net.pl>
6768
6769 Add grub-fstest option to uncompress data for commands.
6770
6771 * util/grub-fstest.c (uncompress): New var.
6772 (options): New option -u.
6773
fe8d4a7b
SJ
67742011-08-20 Szymon Janc <szymon@janc.net.pl>
6775
6776 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6777 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6778
a5219af1
SJ
67792011-08-20 Szymon Janc <szymon@janc.net.pl>
6780
6781 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6782 file type was not recognized correctly (not gzip or corrupted).
6783
f87abff5
VS
67842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6787 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6788
d94497ea
VS
67892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6792 loongson.
6793 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6794 video_radeon_fuloong2e.
6795 * grub-core/video/radeon_fuloong2e.c: New file.
6796 * include/grub/video.h (grub_video_id_t): Add new ID
6797 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6798
0d1fd011
VS
67992011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6802 define.
6803 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6804 that PRID matches the detected subplatform and reset the subplatform
6805 if it doesn't.
6806
84beb0ee
VS
68072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6810
1227c133
VS
68112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 Fix PCI iterating on functions >= 4.
6814
6815 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6816 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6817 Removed.
6818 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6819 (grub_pci_read): Fix bitmask.
6820 (grub_pci_read_word): Likewise.
6821 (grub_pci_read_byte): Likewise.
6822 (grub_pci_write): Likewise.
6823 (grub_pci_write_word): Likewise.
6824 (grub_pci_write_byte): Likewise.
6825
9594c689
VS
68262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6829 can still be specified in TARGET_CFLAGS)
6830
14a2562c
VS
68312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6834
6835 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6836 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6837 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6838 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6839 (FULOONG): Rename to ...
6840 (FULOONG2F): ... this. All users updated.
6841 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6842 (machtype_fuloong2f_str): ... this.
6843 (machtype_fuloong2e_str): New string.
6844 Check for machtype_fuloong2e_str.
6845 * grub-core/loader/mips/linux.c (loongson_machtypes)
6846 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6847 * grub-core/term/serial.c (loongson_defserial)
6848 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6849 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6850 loongson_defserial.
6851 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6852 Rename to ...
6853 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6854 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6855 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6856 to IMAGE_FULOONG2F_FLASH. All users updated.
6857 (image_targets): Rename images.
6858 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6859
b526cbb6
SJ
68602011-08-19 Szymon Janc <szymon@janc.net.pl>
6861
6862 Make enable of disk cache statistics code configurable.
6863
6864 * configure.ac: --enable-cache-stats added.
6865 * config.h.in (DISK_CACHE_STATS): New define.
6866 * grub-core/Makefile.core.def (cacheinfo): New command.
6867 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6868 * grub-core/commands/cacheinfo.c: New file.
6869 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6870 moved to cacheinfo.c.
6871 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6872 debug code.
6873 * include/grub/disk.h: Likewise.
6874
fb739ccd
SJ
68752011-08-19 Szymon Janc <szymon@janc.net.pl>
6876
6877 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6878 * grub-core/Makefile.am: Likewise.
6879
2bba8cfd
VS
68802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6883 non-zero pull.
6884
43526629
VS
68852011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6888 All users updated.
6889 (grub_jfs_lookup_symlink): Use correct starting inode.
6890
5c144cc8
VS
68912011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * util/grub-setup.c (main): Add missing gcry initialisation.
6894
b1257f65
VS
68952011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 Don't accept text modes on EFI when booting Linux.
6898
6899 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6900 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6901
828bc390
ML
69022011-08-15 Mario Limonciello <mario_limonciello@dell.com>
69032011-08-15 Colin Watson <cjwatson@ubuntu.com>
6904
6905 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6906 use of "/path/.." as in grub-install for EFI as well as handling
6907 symlinks correctly.
6908 Fixes Debian bug #637768.
6909
5f60ccac
CW
69102011-08-15 Colin Watson <cjwatson@ubuntu.com>
6911
6912 * util/grub-probe.c: Remove duplicate #include.
6913
6dc212f9
RM
69142011-08-10 Robert Millan <rmh@gnu.org>
6915
6916 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6917
6918 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6919 function.
6920 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6921 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6922
66816d85
RM
69232011-08-03 Robert Millan <rmh@gnu.org>
6924
6925 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6926 la_array as packed.
6927 Reported by: Zachary Bedell
6928
20168fca
CW
69292011-07-26 Colin Watson <cjwatson@ubuntu.com>
6930
6931 * configure.ac: The Loongson port requires grub-mkfont due to its
6932 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6933 be built.
6934
303b6246
CW
69352011-07-26 Colin Watson <cjwatson@ubuntu.com>
6936
6937 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6938 processing arguments (otherwise help2man fails when GRUB has not yet
6939 been installed).
6940
6795300e
VS
69412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6942
41aa28ea
VS
6943 New script grub-mkstandalone.
6944
6945 * Makefile.util.def (grub-mkstandalone): New script.
6946 * docs/man/grub-mkstandalone.h2m: New file.
6947 * util/grub-mkstandalone.in: Likewise.
6948
69492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 Support ATA disks with 4K sectors.
6795300e
VS
6952
6953 * include/grub/ata.h (grub_ata): New member log_sector_size.
6954 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6955 (grub_ata_identify): Read sector size.
6956 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6957
92227597
VS
69582011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * util/grub-install.in: Don't use uhci outside of x86.
6961
c77069f5
VS
69622011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * util/grub-mkrescue.in: Add missing quotes.
6965
69662011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6967
6968 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6969 dereference.
6970
583168a2
VS
69712011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6974
6be1c01f
VS
69752011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * include/grub/video.h: add missing EXPORT_FUND on
6978 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6979
a1167439
VS
69802011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * include/grub/mips/kernel.h: Fix define conflict.
6983
bf66054f
VS
69842011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6987 all four ways.
6988
8fc4fa45
CW
69892011-07-21 Colin Watson <cjwatson@ubuntu.com>
6990
6991 Preferred resolution detection for VBE.
6992
6993 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6994 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6995 the Flat Panel extension, in line with the X.org VESA driver.
6996 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6997 New function.
6998 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6999 (grub_vbe_bios_read_edid): Likewise.
7000 (grub_vbe_get_preferred_mode): Likewise.
7001 (grub_video_vbe_setup): When the mode is "auto", try to get the
7002 preferred mode from VBE, and use the largest mode that is no larger
7003 than the preferred mode (some BIOSes expose a preferred mode that is
7004 not in their mode list!). If this fails, fall back to 640x480 as a
7005 safe conservative choice.
7006 (grub_video_vbe_get_edid): New function.
7007 (grub_video_vbe_adapter): Add get_edid.
7008 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7009 (struct grub_video_adapter): Add get_edid.
7010 (grub_video_edid_checksum): Add prototype.
7011 (grub_video_edid_preferred_mode): Likewise.
7012 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7013 structure.
7014
7015 * grub-core/commands/videoinfo.c (print_edid): New function.
7016 (grub_cmd_videoinfo): Print EDID if available.
7017
7018 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7019 is more appropriate on a wider range of platforms than 640x480.
7020 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7021 documentation.
7022
ca5572a9
VS
70232011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7026
e4bcf625
VS
70272011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * po/POTFILES.in: Regenerate.
7030
c4edd548
VS
70312011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7034 incorrect memory usage.
7035
16a2bab0
VS
70362011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * util/grub-install.in: Source grub-mkconfig_lib.
7039
2e418de6
VS
70402011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 Remove getroot.c from core on emu platform.
7043
7044 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7045 kern/emu/raid.c.
7046 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7047 useless.
7048 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7049 * util/getroot.c (get_win32_path): ... here.
7050 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7051 * util/getroot.c (fini_libzfs): ... here.
7052 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7053 * util/getroot.c (grub_get_libzfs_handle): ... here.
7054 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7055 Moved from here...
7056 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7057 * grub-core/kern/emu/misc.c
7058 (grub_make_system_path_relative_to_its_root): Moved from here...
7059 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7060 * grub-core/kern/emu/getroot.c: Moved from here ...
7061 * util/getroot.c: ... here. All users updated.
7062 * grub-core/kern/emu/raid.c: Moved from here ...
7063 * util/raid.c: ... here. All users updated.
7064
def9832a
VS
70652011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * po/POTFILES.in: Regenerate.
7068
cd8fe79a
VS
70692011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 Fix compilation on GNU/Linux.
7072
7073 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7074 Disable geli.
7075 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7076 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7077 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7078
a251b719
VS
70792011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
70802011-07-07 Michael Gorven <michael@gorven.za.net>
70812011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7082
7083 LUKS and GELI support.
7084
7085 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7086 grub-core/disk/luks.c, grub-core/disk/geli.c,
7087 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7088 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7089 grub-core/lib/arg.c.
7090 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7091 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7092 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7093 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7094 (grub-bin2h): Add libgcry.a.
7095 (grub-mkimage): Likewise.
7096 (grub-mkrelpath): Likewise.
7097 (grub-script-check): Likewise.
7098 (grub-editenv): Likewise.
7099 (grub-mkpasswd-pbkdf2): Likewise.
7100 (grub-pe2elf): Likewise.
7101 (grub-fstest): Likewise.
7102 (grub-mkfont): Likewise.
7103 (grub-mkdevicemap): Likewise.
7104 (grub-probe): Likewise.
7105 (grub-ofpath): Likewise.
7106 (grub-mklayout): Likewise.
7107 (example_unit_test): Likewise.
7108 (grub-menulst2cfg): Likewise.
7109 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7110 * grub-core/Makefile.core.def (cryptodisk): New module.
7111 (luks): Likewise.
7112 (geli): Likewise.
7113 * grub-core/disk/AFSplitter.c: New file.
7114 * grub-core/disk/cryptodisk.c: Likewise.
7115 * grub-core/disk/geli.c: Likewise.
7116 * grub-core/disk/luks.c: Likewise.
7117 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7118 grub_util_is_lvm.
7119 (grub_util_get_dm_abstraction): New function.
7120 (grub_util_follow_gpart_up): Likewise.
7121 (grub_util_get_geom_abstraction): Likewise.
7122 (grub_util_get_dev_abstraction): Use new functions.
7123 (grub_util_pull_device): Pull GELI and LUKS.
7124 (grub_util_get_grub_dev): Handle LUKS and GELI.
7125 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7126 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7127 (follow_geom_up): Removed.
7128 (grub_util_fd_seek): New function.
7129 (open_device): Use grub_util_fd_seek.
7130 (nread): Rename to ..
7131 (grub_util_fd_read): ... this. All users updated.
7132 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7133 (grub_crypto_cbc_decrypt): Likewise.
7134 (grub_crypto_hmac_write): Likewise.
7135 (grub_crypto_hmac_buffer): Likewise.
7136 (grub_password_get): Extend to util.
7137 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7138 New member modname.
7139 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7140 * include/grub/cryptodisk.h: New file.
7141 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7142 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7143 LUKS and GELI.
7144 (grub_util_follow_gpart_up): New proto.
7145 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7146 (grub_util_fd_read): Likewise.
7147 (grub_cryptodisk_cheat_mount): Likewise.
7148 (grub_util_cryptodisk_print_uuid): Likewise.
7149 (grub_util_get_fd_sectors): Likewise.
7150 * util/grub-fstest.c (mount_crypt): New var.
7151 (fstest): Mount crypto if requested.
7152 (options): New option -C.
7153 (argp_parser): Parse -C.
7154 (main): Init and fini gcry.
7155 * util/grub-install.in: Support cryptodisk install.
7156 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7157 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7158 cryptodisk.
7159 (prepare_grub_to_access_device): Likewise.
7160 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7161 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7162 (probe_cryptodisk_uuid): New function.
7163 (probe_abstraction): Likewise.
7164 (probe): Use new functions.
7165 * util/import_gcry.py: Create Makefile.utilgcry.def.
7166 Add modname member.
7167
9bfdcbbc
VS
71682011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 Lazy device scanning.
7171
7172 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7173 (grub-setup): Remove util/raid.c.
7174 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7175 * grub-core/disk/lvm.c (scan_depth): New variable.
7176 (grub_lvm_iterate): Rescan if necessary.
7177 (find_lv): New function based on grub_lvm_open.
7178 (grub_lvm_open): Use find_lv. Rescan on error.
7179 (is_node_readable): New function.
7180 (is_lv_readable): Likewise.
7181 (grub_lvm_scan_device): Skip already found disks.
7182 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7183 Stop if searched device is found and readable.
7184 * grub-core/disk/raid.c (inscnt): New variable.
7185 (scan_depth): Likewise.
7186 (scan_devices): New function based on grub_raid_register. Abort if
7187 looked for device is found.
7188 (grub_raid_iterate): Rescan if needed.
7189 (find_array): NEw function based on -grub_raid_open.
7190 (grub_raid_open): Use find_array and rescan.
7191 (insert_array): Set became_readable_at.
7192 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7193 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7194 New function.
7195 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7196 (grub_util_pull_device): New function.
7197 (grub_util_get_grub_dev): Call grub_util_pull_device.
7198 * util/raid.c: Moved to ..
7199 * grub-core/kern/emu/raid.c: ... here.
7200 (grub_util_raid_getmembers): New parameter "bootable".
7201 All users updated. Support 1.x.
7202 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7203 All users updated.
7204 * include/grub/disk.h (grub_disk_pull_t): New enum.
7205 (grub_disk_dev): Change iterate prototype.
7206 All users updated.
7207 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7208 New proto.
7209 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7210 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7211 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7212 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7213 All users updated.
7214 * include/grub/util/raid.h: Removed.
7215
1c358e59
VS
72162011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * po/POTFILES.in: Regenerate.
7219
abee94ed
VS
72202011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 Unify sparc init with other ieee1275.
7223
7224 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7225 instead of kern/sparc64/ieee1275/init.c.
7226 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7227 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7228 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7229 grub/machine/kernel.h.
7230 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7231 (grub_claim_heap) [__sparc__]: Use sparc version.
7232 (grub_machine_init): Moved args parsing to
7233 (grub_parse_cmdline): ...this.
7234 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7235 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7236 New definition.
7237 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7238
7239 Move BOOTP to separate file.
7240
7241 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7242 * grub-core/net/net.c: Move all BOOTP functions to
7243 * grub-core/net/bootp.c: ... here.
7244
7245 Use frame interface on PXE.
7246
7247 * grub-core/Makefile.core.def (pxecmd): Removed.
7248 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7249 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7250 * grub-core/i386/pc/pxe.c: Moved from here ...
7251 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7252 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7253 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7254
7255 EFI network support.
7256
7257 * grub-core/Makefile.core.def (efinet): New module.
7258 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7259 here...
7260 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7261 All users updated.
7262 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7263 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7264 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7265 * grub-core/net/drivers/efi/efinet.c: New file.
7266 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7267 (grub_efi_net_config): New extern var.
7268
7269 Various cleanups and bugfixes.
7270
7271 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7272 error.
7273 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7274 disk declared as partition.
7275 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7276 leak on failure.
7277 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7278 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7279 (grub_debug_zalloc): Likewise.
7280 (grub_debug_realloc): Likewise.
7281 (grub_debug_memalign): Likewise.
7282 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7283 Check that target is IPv4.
7284 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7285 local-mac-address as fallback.
7286 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7287 memory leak.
7288 * grub-core/net/ip.c (ipchksum): Rename to ...
7289 (grub_net_ip_chksum): ... this. All users updated.
7290 (grub_net_recv_ip_packets): Special handling for DHCP.
7291 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7292
7293 Unify prefix handling
7294
7295 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7296 (grub_machine_get_bootlocation): ... this.
7297 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7298 (grub_machine_get_bootlocation): ... this.
7299 (grub_prefix): New variable.
7300 (prefix): Removed.
7301 (root_dev): New variable.
7302 (dir): Likewise.
7303 (main): Use new variables.
7304 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7305 Revamped into ...
7306 (grub_machine_get_bootlocation): ... this.
7307 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7308 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7309 (grub_machine_get_bootlocation): ... this.
7310 (grub_machine_set_prefix): Removed.
7311 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7312 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7313 Revamped into ...
7314 (grub_machine_get_bootlocation): ... this.
7315 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7316 (grub_set_prefix_and_root): ... this. All users updated.
7317 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7318 Revamped into ...
7319 (grub_machine_get_bootlocation): ... this.
7320 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7321 (grub_machine_get_bootlocation): New proto.
7322 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7323
7324 Less intrusive and more reliable seek on network implementation.
7325
7326 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7327 (grub_file_seek): Don't call grub_file_net_seek.
7328 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7329 (grub_net_fs_read_real): .. this.
7330 (grub_net_seek_real): Use net->offset.
7331 (grub_net_fs_read): Seek if necessary.
7332
7333 Unify IEEE1275 netwotk config with the other platforms.
7334
7335 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7336 New variable.
7337 (grub_machine_get_bootlocation): Support network.
7338 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7339 Support type and device parsing.
7340 (grub_ieee1275_get_device_type): New function.
7341 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7342 into ...
7343 (grub_ieee1275_net_config_real): ... this.
7344 (grub_ofnet_probecards): Removed.
7345 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7346 * include/grub/ieee1275/ofnet.h: Removed.
7347 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7348 extern var.
7349 (grub_ieee1275_get_device_type): New function.
7350
7351 Unify network device closing across platforms and make more robust.
7352
7353 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7354 grub_grubnet_fini.
7355 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7356 already.
7357 * grub-core/net/net.c (grub_net_network_level_interface_register):
7358 Update num_ifaces.
7359 (grub_net_card_unregister): Close all interfaces.
7360 (receive_packets): Don't poll if no iterfaces are registered.
7361 Open if necessary.
7362 (grub_net_fini_hw): New function.
7363 (grub_net_restore_hw): Likewise.
7364 (fini_hnd): New variable.
7365 (GRUB_MOD_INIT): Register preboot hook.
7366 (GRUB_MOD_FINI): Run and unregister preboot hook.
7367
7368 Poll network cards when idle.
7369
7370 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7371 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7372 * grub-core/net/net.c (receive_packets): Save last poll time.
7373 (grub_net_poll_cards_idle_real): New function.
7374 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7375 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7376 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7377
7378 Rename ofnet interfaces.
7379
7380 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7381 (grub_ofnet_findcards): Use ofnet_%s names.
7382
7383 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7384
7385 Cleanup socket opening.
7386
7387 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7388 (grub_net_fs_close): Likewise.
7389 (grub_net_fs_read_real): Use eof member.
7390 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7391 (+grub_net_udp_close): New inline function.
7392
7393 * include/grub/net/tftp.h: Moved to the top of ...
7394 * grub-core/net/tftp.c: ... here.
7395 * include/grub/net/ip.h: Moved mostly to the top of ...
7396 * grub-core/net/ip.c: ... here.
7397 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7398 * grub-core/net/ethernet.c: ... here.
7399
7400 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7401
7402 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7403 FS name.
7404
7405 * include/grub/net/ip.h (ipv4_ini): Removed.
7406 (ipv4_fini): Likewise.
7407
7408 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7409 (grub_net_send_ip_packets): Likewise.
7410
cf1337aa
VS
74112011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7414 grub_read_cmos prototype.
7415
93c06ff9
VS
74162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 VGA text support in qemu-mips
7419
7420 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7421 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7422 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7423 text.
7424 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7425 * grub-core/kern/vga_init.c: ... this.
7426 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7427 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7428 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7429 Adjust.
7430 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7431 GRUB_MACHINE_PCI_IO_BASE.
7432
748ccabe
VS
74332011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 MIPS qemu flash support.
7436
7437 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7438 magic.
7439 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7440 (grub_machine_init): Probe memory if its size isn't known.
7441 * util/grub-mkimage.c (image_targets): Add flash targets.
7442 (generate_image): Handle flash targets.
7443
d7345994
VS
74442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 MIPS qemu at_keyboard support.
7447
7448 * gentpl.py (videoinkernel): Add qemu-mips.
7449 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7450 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7451 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7452 modules.
7453 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7454 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7455 * grub-core/term/serial.c (grub_serial_register)
7456 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7457
a07a81b3
VS
74582011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 CMOS support on sparc.
7461
7462 * gentpl.py (cmos): Add powerpc and sparc.
7463 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7464 powerpc and sparc.
7465 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7466 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7467 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7468 grub_set_datetime_cmos.
7469 * grub-core/lib/ieee1275/cmos.c: New file.
7470 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7471 (find_rtc): Set no_ieee1275_rtc on error.
7472 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7473 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7474 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7475 fail. Move value to argument. All users updated
7476 (grub_cmos_write): Likewise.
7477 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7478 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7479 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7480 grub_get_datetime_cmos and grub_set_datetime_cmos.
7481
77546584
GS
74822011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7483
7484 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7485 sourcing grub-mkconfig_lib.
7486 * util/update-grub_lib.in: Likewise.
7487 * util/grub.d/00_header.in: Likewise.
7488 * util/grub.d/10_hurd.in: Likewise.
7489 * util/grub.d/10_kfreebsd.in: Likewise.
7490 * util/grub.d/10_linux.in: Likewise.
7491 * util/grub.d/10_netbsd.in: Likewise.
7492 * util/grub.d/10_windows.in: Likewise.
7493 * util/grub.d/20_linux_xen.in: Likewise.
7494 * util/grub.d/30_os-prober.in: Likewise.
7495
54894791
CW
74962011-06-28 Colin Watson <cjwatson@ubuntu.com>
7497
7498 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7499 default_bg_color rather than black.
7500 (grub_gfxterm_fullscreen): Likewise.
7501 (grub_gfxterm_background_color_cmd): Save new background color in
7502 default_bg_color.
7503
8d5d8444
VS
75042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7507
5afeb5bd
VS
75082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7511 mismerge.
7512
ba7df45e
VS
75132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 Chainloading on coreboot support.
7516
7517 * grub-core/Makefile.core.def (chain): Add coreboot.
7518 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7519
d0b526b2
VS
75202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7523 if it happens.
7524
5ff1d945
VS
75252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 Implement time command.
7528
7529 * grub-core/Makefile.core.def (time): New module.
7530 * grub-core/commands/time.c: New file.
7531 * grub-core/script/parser.y: Remove "time" keyword.
7532 * grub-core/script/yylex.l: Likewise.
7533
5ebaad7e
VS
75342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7537
bdea3798
VS
75382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7541 when handling leftovers.
7542
b28c5655
VS
75432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7546 so that help2man doesn't fail.
7547
b6f945dc
VS
75482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7551 type in pointers on sparc64.
7552 (get_card_packet): Likewise.
7553
f9b75e8a
CW
75542011-06-27 Colin Watson <cjwatson@ubuntu.com>
7555
7556 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7557 with `*'.
7558 (grub_cmd_videoinfo): Fetch current video mode.
7559
1e3d9b86
VS
75602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7563 because of underlying system restrictions.
7564
efff4b1c
VS
75652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7568 necessary.
7569
9fc9ce37
VS
75702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 Coreboot video support.
7573
7574 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7575 (vbe): Likewise.
7576 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7577 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7578 here ...
7579 * grub-core/kern/i386/int.S: ... here.
7580 * grub-core/video/i386/pc/vbe.c: Updated includes.
7581 * grub-core/video/i386/pc/vga.c: Likewise.
7582 * include/grub/i386/coreboot/memory.h
7583 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7584 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7585 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7586 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7587 Disable interrupts.
7588 * include/grub/i386/pc/vga.h: Removed. All users updated.
7589
41bec7fe
VS
75902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7593 definitions for dprintf.
7594 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7595
ca80309d
VS
75962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7599 prototype.
7600 (get_card_packet): Likewise.
7601
9e322ce8
YB
76022011-06-26 Yves Blusseau <blusseau@zetam.org>
7603
7604 Display the path of the file when file is not found
7605
7606 * grub-core/fs/fat.c: Display the filename when file is not found.
7607 * grub-core/fs/fshelp.c: Likewise.
7608 * grub-core/fs/hfs.c: Likewise.
7609 * grub-core/fs/jfs.c: Likewise.
7610 * grub-core/fs/minix.c: Likewise.
7611 * grub-core/fs/ufs.c: Likewise.
7612 * grub-core/fs/btrfs.c: Likewise.
7613 * grub-core/commands/i386/pc/play.c: Likewise.
7614
cbf597af
SJ
76152011-06-26 Szymon Janc <szymon@janc.net.pl>
7616
7617 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7618 pointer checks before calling grub_free().
7619 * grub-core/commands/wildcard.c (match_devices): Likewise.
7620 * grub-core/commands/wildcard.c (match_files): Likewise.
7621 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7622 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7623 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7624 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7625 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7626 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7627 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7628 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7629 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7630
6295b32f
P
76312011-06-25 Patrick <p55@mailinator.com>
7632
7633 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7634
77c0840b
VS
76352011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7638 (grub_pxe_send): Likewise.
7639 (GRUB_MOD_INIT): Fix types.
7640
40ea05de
SJ
76412011-06-24 Szymon Janc <szymon@janc.net.pl>
7642
7643 * grub-core/io/xzio.c: Fix code style issues
7644
90162423
MRA
76452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
76462011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7647
7648 Network infrastructure.
7649 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7650
7651 * include/grub/net/arp.h: New file.
90162423
MRA
7652 * include/grub/net/device.h: Likewise.
7653 * include/grub/net/ethernet.h: Likewise.
7654 * include/grub/net/ip.h: Likewise.
7655 * include/grub/net/netbuff.h: Likewise.
7656 * include/grub/net/tftp.h: Likewise.
7657 * include/grub/net/udp.h: Likewise.
7658 * include/grub/ieee1275/ofnet.h: Likewise.
7659 * include/grub/emu/export.h: Likewise.
7660 * include/grub/net.h: Likewise.
7661 * grub-core/net/arp.c: Likewise.
7662 * grub-core/net/ethernet.c: Likewise.
7663 * grub-core/net/ip.c: Likewise.
7664 * grub-core/net/udp.c: Likewise.
7665 * grub-core/net/tftp.c: Likewise.
7666 * grub-core/net/netbuff.c: Likewise.
7667 * grub-core/net/net.c: Likewise.
7668 * grub-core/net/drivers/emu/emunet.c: Likewise.
7669 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7670 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7671 export.h.
7672 * grub-core/Makefile.core.def (net): New module.
7673 (tftp): Likewise.
7674 (ofnet): Likewise.
7675 (emunet): Likewise.
7676 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7677 network protocols.
7678 * grub-core/kern/device.c (grub_net_open) : New variable.
7679 (grub_device_open): Handle network device.
7680 (grub_device_close): Likewise.
7681 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7682 (grub_grubnet_fini): Likewise.
7683 (grub_file_seek): Seek in network device.
7684 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7685 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7686 network root.
7687 (grub_machine_fini): Call grub_grubnet_fini.
7688 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7689 network.
7690 (grub_ieee1275_get_aliasdevname): New function.
7691 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7692 Add unofficial Solaris network info.
7693 (grub_multiboot_make_mbi): Likewise.
7694 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7695 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7696 * include/grub/device.h (grub_fs): Removed.
7697 * include/grub/err.h (grub_err_t): Add network-related values.
7698 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7699 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7700 (grub_ieee1275_get_aliasdevname): New proto.
7701 * include/grub/net.h: Rewritten.
423a1849 7702
031f22a0
VS
77032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7706 names.
7707
4388ca72
VS
77082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7711 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7712 it truncates the output.
7713 Reported by: Ximin Luo.
7714
98e2f506
VS
77152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7718
2a5e94d8
VS
77192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7722 partmap before abstraction.
7723
535c1910
AK
77242011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7725
7726 * util/grub-mkconfig_lib.in: Add missing quotes.
7727
bc09e1a2
VS
77282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7731 old method if mountinfo would return /dev/root and /dev/root doesn't
7732 exist.
7733
290766fb
VS
77342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 ZFS zlib support
7737
7738 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7739 (decomp_table): Add zlib entries.
7740 (zio_read): USe 8 bits for compression function rather than 3.
7741 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7742
77432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/disk/ahci.c: Add missing license statements.
7746 * grub-core/fs/romfs.c: Likewise.
7747 * grub-core/lib/ia64/setjmp.S: Likewise.
7748 * grub-core/loader/i386/pc/freedos.c: Likewise.
7749 * grub-core/loader/ia64/efi/linux.c: Likewise.
7750 * grub-core/video/colors.c: Likewise.
7751 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7752
5ab3f48a
VS
77532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 AHCI support.
7756
7757 * grub-core/Makefile.core.def (ata_pthru): Removed.
7758 (ahci): New module.
7759 (pata): Likewise.
7760 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7761 on unload.
7762 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7763 readwrite.
7764 (grub_hdparm_do_check_powermode_cmd): Likewise.
7765 (grub_hdparm_do_smart_cmd): Likewise.
7766 (grub_hdparm_set_val_cmd): Likewise.
7767 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7768 * grub-core/disk/ahci.c: New file.
7769 * grub-core/disk/ata.c: Factor out the low-level part into ...
7770 * grub-core/disk/pata.c: ... here.
7771 * grub-core/disk/ata_pthru.c: Contents moved to ...
7772 * grub-core/disk/pata.c: ... here.
7773 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7774 (grub_scsi_iterate): Use grub_scsi_names.
7775 (grub_scsi_open): Likewise.
7776 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7777 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7778 (grub_ata_regs_t): New struct.
7779 (grub_disk_ata_pass_through_parms): Likewise.
7780 (grub_ata_device): Renamed to ...
7781 (grub_ata): ... this.
7782 (grub_ata_dev): New struct.
7783 Removed all low-level inline functions.
7784 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7785 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7786 iterate hooks and open. All users updated.
7787 * util/grub-install.in: Handle AHCI disk module.
7788
c31dc5f5
SJ
77892011-06-23 Szymon Janc <szymon@janc.net.pl>
7790
7791 Add support for DRI and RSTn markers in JPEG files.
7792
7793 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7794 (JPEG_MARKER_RST0): Likewise.
7795 (JPEG_MARKER_RST1): Likewise.
7796 (JPEG_MARKER_RST2): Likewise.
7797 (JPEG_MARKER_RST3): Likewise.
7798 (JPEG_MARKER_RST4): Likewise.
7799 (JPEG_MARKER_RST5): Likewise.
7800 (JPEG_MARKER_RST6): Likewise.
7801 (JPEG_MARKER_RST7): Likewise.
7802 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7803 (grub_jpeg_decode_dri): New function.
7804 (grub_jpeg_decode_sos): Move image data related part into
7805 grub_jpeg_decode_data function.
7806 (grub_jpeg_decode_data): New function.
7807 (grub_jpeg_reset): New function.
7808 (grub_jpeg_decode_jpeg): Handle new markers.
7809
fe12fd5b
VS
78102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * util/ieee1275/ofpath.c (check_sas): Close fd.
7813 (main): Free of_path.
7814 Reported by: David Volgyes <dvolgyes>.
7815
03147f46
VS
78162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7819 Reported by: David Volgyes <dvolgyes>.
7820
cad3237f
VS
78212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7824 file after stat.
7825 Reported by: David Volgyes <dvolgyes>.
7826
13548d26
VS
78272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7830
7831 Reported by: David Volgyes <dvolgyes>.
7832
e061a1b5
VS
78332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7836 Prevent memory leak.
7837
1abe47dc
VS
78382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7841 (main): Close file.
e061a1b5 7842 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7843
fbc62666
VS
78442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7847 to continue if allocation is failed.
7848
7849 Reported by: David Volgyes <dvolgyes>.
7850
e98c83e9
DV
78512011-06-23 David Volgyes <dvolgyes>
7852
7853 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7854 dereference.
7855
a199a8cd
VS
78562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 Fix spurious warning.
7859
7860 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7861 (acorn_partition_map_find): Use .bin member.
7862
e2d1dba0
VS
78632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7866 /dev/root as a valid device.
7867
8a5d6919
JM
78682011-06-23 Jim Meyering <meyering@redhat.com>
7869
e2d1dba0
VS
7870 Avoid NULL deref in grub_device_open.
7871
8a5d6919
JM
7872 * grub-core/kern/device.c (grub_device_open): Don't dereference
7873 a NULL pointer upon failed grub_env_get.
7874
f7db6f4a
VS
78752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 Support non-512B sectors and agglomerate reads.
7878
7879 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7880 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7881 (disk_io_guid): Removed.
7882 (make_devices): Locate solely by BlockIO.
7883 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7884 (grub_efidisk_read): Use read_blocks.
7885 (grub_efidisk_write): Use write_blocks.
7886 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7887 log_sector_size.
7888 (get_safe_sectors): Handle non-512B sectors.
7889 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7890 sectors.
7891 (grub_biosdisk_write): Handle non-512B sectors.
7892 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7893 (grub_scsi_read): Remove special non-512B block handling (now handled
7894 one level up).
7895 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7896 and do sanity checks.
7897 (grub_disk_adjust_range): Handle non-512B sectors.
7898 (transform_sector): New function.
7899 (grub_disk_read_small): Likewise.
7900 (grub_disk_read): Rewritten.
7901 (grub_disk_write): Handle non-512B sectors.
7902 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7903 log_sector_size.
7904 (open_device): Use log_sector_size.
7905 (grub_util_biosdisk_read): Likewise.
7906 (grub_util_biosdisk_write): Likewise.
7907 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7908 non-512B sectors.
7909 (pc_partition_map_embed): Likewise.
7910 * include/grub/disk.h (grub_disk): New field log_sector_size.
7911 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7912 (GRUB_DISK_CACHE_BITS): Increased to 6.
7913 * util/grub-fstest.c (fstest): New command testload.
7914 (argp_parser): Likewise.
7915
881ac815
RM
79162011-06-16 Robert Millan <rmh@gnu.org>
7917
7918 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7919 `ata' driver on kernel of FreeBSD 9.
7920
7921 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7922 (get_ataraid_disk_name): New functions.
7923 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7924 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7925 get_ataraid_disk_name() and get_ada_disk_name().
7926
1e9aef7d
CW
79272011-06-13 Colin Watson <cjwatson@ubuntu.com>
7928
7929 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7930 input format.
7931
351c7c8a
CW
79322011-05-29 Colin Watson <cjwatson@ubuntu.com>
7933
7934 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7935 `ftp.gnu.org' for `alpha.gnu.org'.
7936
6b4e6430
CW
79372011-05-27 Colin Watson <cjwatson@ubuntu.com>
7938
7939 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7940 partitions under /dev/disk/by-id/.
7941
c64db050
CW
79422011-05-27 Colin Watson <cjwatson@ubuntu.com>
7943
7944 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7945 after ten consecutive open failures. Scanning all the way up to
7946 10000 is excessive and can cause serious performance problems in
7947 some configurations.
7948 Fixes Ubuntu bug #787461.
7949
245f4aba
VS
79502011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7953 opening new one.
7954
f767c929
VS
79552011-05-21 Colin Watson <cjwatson@ubuntu.com>
79562011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 Don't stat devices unless we have to.
7959
7960 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7961 dir == /dev/mapper.
7962 (grub_guess_root_device): Use already known os_dev if possible.
7963 * grub-core/kern/emu/hostdisk.c
7964 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7965 if device is known to be a dm one.
7966
f35fa3a6
CW
79672011-05-20 Colin Watson <cjwatson@ubuntu.com>
7968
7969 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7970 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7971 Reported by: Pawel Tecza.
7972
9a79fcf2
VS
79732011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7976 (lsefisystab): Likewise.
7977 (lssal): Likewise.
7978 (lsefimmap): Likewise.
7979 (hdparm): Enable on qemu-mips.
7980 (setjmp): Add ia64 nodist.
7981 (serial): Simplify tags.
7982
63e3eea9
CW
79832011-05-18 Colin Watson <cjwatson@ubuntu.com>
7984
7985 * Makefile.util.def (grub-ofpathname): Install manual page.
7986
09728256
CW
79872011-05-18 Colin Watson <cjwatson@ubuntu.com>
7988
7989 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7990
8b63a142
CW
79912011-05-18 Colin Watson <cjwatson@ubuntu.com>
7992
7993 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7994
e775d8ed
VS
79952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7998 into dprintf.
7999
bf947d36
VS
80002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 Use full 64-bit division.
8003
8004 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8005 (grub_divmod64): ... this.
8006 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8007 version.
8008
b84f26c5
CW
80092011-05-18 Colin Watson <cjwatson@ubuntu.com>
8010
8011 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8012 `source'.
8013
5626056f
CW
80142011-05-18 Colin Watson <cjwatson@ubuntu.com>
8015
8016 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8017 to avoid accidents when debugging with 'sh -x'.
8018 * grub-core/gensyminfo.sh.in: Likewise.
8019 * tests/example_scripted_test.in: Likewise.
8020 * tests/grub_cmd_regexp.in: Likewise.
8021 * tests/grub_script_blanklines.in: Likewise.
8022 * tests/grub_script_dollar.in: Likewise.
8023 * tests/grub_script_expansion.in: Likewise.
8024 * tests/grub_script_final_semicolon.in: Likewise.
8025 * tests/partmap_test.in: Likewise.
8026 * tests/util/grub-shell-tester.in: Likewise.
8027 * tests/util/grub-shell.in: Likewise.
8028
e2965f4a
CW
80292011-05-18 Colin Watson <cjwatson@ubuntu.com>
8030
8031 Move gfxmenu color handling to video, so that gfxterm can use it
8032 too.
8033
8034 * grub-core/gfxmenu/named_colors.c: Move to ...
8035 * grub-core/video/colors.c: ... here. Rename
8036 grub_gui_get_named_color to grub_video_get_named_color.
8037 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8038 * grub-core/video/colors.c (my_isxdigit): ... here.
8039 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8040 Move to ...
8041 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8042 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8043 to ...
8044 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8045
8046 * include/grub/gui.h (grub_gui_color_t): Move to ...
8047 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8048 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8049 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8050 * include/grub/gui.h (grub_gui_map_color): Move to ...
8051 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8052 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8053 to ...
8054 * include/grub/video.h (grub_video_get_named_color): ... here.
8055 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8056 * include/grub/video.h (grub_video_parse_color): ... here.
8057
8058 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8059 video/colors.c.
8060 (gfxmenu): Remove gfxmenu/named_colors.c.
8061 (video) [videomodules]: Add video/colors.c.
8062
8063 Add a background_color command.
8064
8065 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8066 function.
8067 (GRUB_MOD_INIT): Register background_color command.
8068 (GRUB_MOD_FINI): Unregister background_color command.
8069 (redraw_screen_rect): Allow blend/replace of text layer to be
8070 controlled independently from whether there is a background bitmap.
8071 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8072 changing bitmap.
8073
1e4b4390
VS
80742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8075
26618ff0
VS
8076 Patch BPB in ntldr and chainloader --bpb.
8077
1e4b4390
VS
8078 * grub-core/fs/fat.c: Include grub/fat.h.
8079 (grub_fat_bpb): Moved to ...
8080 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8081 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8082 grub/ntfs.h.
8083 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8084 Moved from here...
8085 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8086 here.
8087 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8088 New function.
8089 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8090 (GRUB_MOD_INIT): Show --bpb.
8091 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8092 * grub-core/normal/main.c (features): New variable.
8093 (GRUB_MOD_INIT): Set feature_* variables.
8094 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8095 proto.
8096 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8097
cf02731e
VS
80982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8101 for cleanness.
8102
e3a1073f
VS
81032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 FreeDOS direct loading support.
8106
8107 * docs/grub.texi (Supported OS): Add FreeDOS.
8108 * grub-core/Makefile.core.def (freedos): New module.
8109 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8110 variable.
8111 (grub_relocator16_boot): Handle %ebx.
8112 * grub-core/lib/i386/relocator16.S: Likewise.
8113 * grub-core/loader/i386/pc/freedos.c: New file.
8114
05caa461
VS
81152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 Long Linux command line support.
8118
8119 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8120 (maximal_cmdline_size): New variable.
8121 (allocate_pages): Use maximal_cmdline_size.
8122 (grub_cmd_linux): Set and use maximal_cmdline_size.
8123 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8124 (allocate_pages): Use maximal_cmdline_size.
8125 (grub_cmd_linux): Set and use maximal_cmdline_size.
8126 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8127 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8128 and cmdline_size.
8129
a2491e23
VS
81302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
81312011-05-18 Colin Watson <cjwatson@ubuntu.com>
8132
8133 Improve devmapper support
8134
8135 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8136 (grub_util_is_lvm): New function.
8137 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8138 than lvm if not dmraid.
8139 Handle mapped md nodes.
8140 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8141 (grub_util_device_is_mapped): ... this. Make always available. All users
8142 updated.
8143 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8144 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8145 dmraid nodes.
8146 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8147
6ad6223e
VS
81482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8151
8152 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8153 * grub-core/modinfo.sh.in: New file.
8154 * grub-core/Makefile.core.def (modinfo.sh): New script.
8155 * util/grub-mknetdir.in: Use modinfo.sh.
8156 * util/grub-mkrescue.in: Likewise.
8157
543a8f6e
VS
81582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8161 Fix potential usage of Elf32 instead of Elf64 when compiling on
8162 32-bit architecture. Add endianness macros while on it.
8163
4959e111
VS
81642011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 Use mipsel- rather than mips- in directories involving mipsel ports to
8167 allow both endiannesses coexist.
8168
8169 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8170 mips. All conditions adjusted.
8171 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8172 variable.
8173 * util/grub-install.in: Adjust conditions to take renaming into account.
8174 * util/grub-mkimage.c (image_targets): Likewise. New target
8175 mips-qemu_mips-elf for bigendian mips.
8176
35341bbc
VS
81772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 Avoid unnecessary copying on MIPS.
8180
8181 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8182 early if src == dest.
8183 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8184 compression is none.
8185
b772baed
VS
81862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 Reduce memory footprint on SGI by putting modules before the kernel
8189 as opposed to after.
8190
8191 * grub-core/Makefile.core.def (kernel): Increase linking address.
8192 (none_decompress): Likewise.
8193 (xz_decompress): Likewise.
8194 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8195 address.
8196 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8197 layout change.
8198 (grub_arch_modules_addr): New function.
8199 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8200 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8201 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8202 here.
8203 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8204 (grub_total_modules_size): ... this. Make global.
8205 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8206 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8207 New definition.
8208 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8209 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8210 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8211 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8212 * util/grub-mkimage.c (image_target_desc): New flag
8213 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8214 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8215 (generate_image): Handle images with modules before kernel.
8216
566a1917
VS
82172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 Prevent potential loss of memory map by overwrite on qemu-mips.
8220
8221 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8222 Save ram size in $s4.
8223 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8224 All users changed to grub_arch_memsize.
8225 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8226 Loongson.
8227 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8228 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8229 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8230 external variable.
8231
5d420cd9
CW
82322011-05-17 Colin Watson <cjwatson@ubuntu.com>
8233
8234 * .bzrignore: Remove grub-dumpbios.
8235
d064b830
CW
82362011-05-17 Colin Watson <cjwatson@ubuntu.com>
8237
8238 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8239 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8240 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8241 existing options which append).
8242 * docs/grub.texi (Simple configuration): Document new options.
8243 Reported by: Ian Jackson. Fixes Debian bug #617538.
8244
3ca2b466
CW
82452011-05-17 Colin Watson <cjwatson@ubuntu.com>
8246
8247 * util/grub-fstest.c (cmd_cat): New function.
8248 (fstest): Handle CMD_CAT.
8249 (options): Add cat.
8250 (argp_parser): Handle cat.
8251
24c9143a
CW
82522011-05-17 Colin Watson <cjwatson@ubuntu.com>
8253
8254 * Makefile.util.def (grub-bin2h): Don't install.
8255 * docs/man/grub-bin2h.h2m: Remove.
8256
90f7ac19
VS
82572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8260 place.
8261
8d4a5178
VS
82622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 Reenable qemu-mips port.
8265
8266 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8267 Fix small arc bug while on it.
8268 * gentpl.py: Handle qemu_mips.
8269 * grub-core/Makefile.am: Likewise.
8270 * grub-core/Makefile.core.def: Likewise.
8271 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8272 inappropriate includes.
8273 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8274 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8275 * grub-core/kern/main.c (grub_modules_get_end)
8276 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8277 * grub-core/kern/mips/qemu-mips: Moved to ..
8278 * grub-core/kern/mips/qemu_mips: ... this.
8279 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8280 (grub_machine_init): Call terminfo_init and serial_init.
8281 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8282 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8283 New variable.
8284 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8285 parameter passing.
8286 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8287 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8288 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8289 * include/grub/mips/qemu_mips/cmos.h: New file.
8290 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8291 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8292 Removed.
8293 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8294 Use correct mips-style address.
8295 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8296 (GRUB_TICKS_PER_SECOND): Removed.
8297 (grub_get_rtc): Likewise.
8298 (grub_cpu_idle): Likewise.
8299 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8300 New definition.
8301 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8302 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8303 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8304 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8305 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8306 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8307 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8308 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8309
400b9371
VS
83102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 SGI ARCS port.
8313
8314 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8315 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8316 platforms.
8317 * configure.ac: New target mips-arc.
8318 * gentpl.py: Likewise.
8319 * grub-core/Makefile.am: Likewise.
8320 * grub-core/Makefile.core.def: Likewise.
8321 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8322 (none_decompress): Likewise.
8323 (lsdev): New module.
8324 (datetime): Use lib/arc/datetime.c on ARC.
8325 (part_dvh): New module.
8326 * grub-core/commands/arc/lsdev.c: New file.
8327 * grub-core/disk/arc/arcdisk.c: Likewise.
8328 * grub-core/kern/mips/arc/init.c: Likewise.
8329 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8330 aligned addresses.
8331 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8332 support.
8333 (grub_arch_dl_relocate_symbols): Likewise.
8334 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8335 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8336 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8337 platforms.
8338 * grub-core/lib/arc/datetime.c: New file.
8339 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8340 pci.h on non-loongson.
8341 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8342 (grub_linux_boot): Set unused registers to 0.
8343 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8344 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8345 * grub-core/mmap/mips/uppermem.c: ...here.
8346 * grub-core/partmap/dvh.c: New file.
8347 * grub-core/term/arc/console.c: Likewise.
8348 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8349 (grub_terminfo_set_current): Add terminal "arc".
8350 (grub_terminfo_readkey): Support ARC sequences.
8351 * include/grub/arc/arc.h: New file.
8352 * include/grub/arc/console.h: Likewise.
8353 * include/grub/disk.h (grub_disk_dev_id): Add
8354 GRUB_DISK_DEVICE_ARCDISK_ID.
8355 * include/grub/mips/arc/kernel.h: New file.
8356 * include/grub/mips/arc/memory.h: Likewise.
8357 * include/grub/mips/arc/time.h: Likewise.
8358 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8359 * include/grub/mips/kernel.h (grub_halt): ... here.
8360 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8361 here...
8362 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8363 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8364 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8365 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8366 proto.
8367 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8368 from here ...
8369 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8370 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8371 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8372 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8373 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8374 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8375 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8376 (grub_phys_addr_t): Moved from here ...
8377 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8378 (grub_vtop): Moved from here ...
8379 * include/grub/mips/memory.h (grub_vtop): ... here.
8380 (grub_map_memory): Moved from here ...
8381 * include/grub/mips/memory.h (grub_map_memory): ... here.
8382 (grub_unmap_memory): Moved from here ...
8383 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8384 (grub_machine_mmap_iterate): Moved from here ...
8385 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8386 (grub_mmap_get_lower): Moved from here ...
8387 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8388 (grub_mmap_get_upper): Moved from here ...
8389 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8390 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8391 here ...
8392 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8393 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8394 here ...
8395 * include/grub/mips/time.h (grub_get_rtc): ... here.
8396 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8397 here ...
8398 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8399 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8400 here ...
8401 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8402 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8403 definition.
8404 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8405 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8406 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8407 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8408 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8409 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8410 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8411 (GRUB_MACHINE_LINK_ADDR): Likewise.
8412 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8413 to 6.
8414 * util/grub-install.in: Run dvhtool on ARC.
8415 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8416 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8417
c8ecc840
VS
84182011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8421 blocks.
8422
153a4b55
VS
84232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8426 after enabling port.
8427
ff44d107
VS
84282011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 Skip incorrect USB devices.
8431
8432 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8433 configcnt == 0.
8434 * include/grub/usb.h (grub_usb_err_t): New enum value
8435 GRUB_USB_ERR_BADDEVICE.
8436
638dbe4f
VS
84372011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 Fuloong video init support.
8440
8441 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8442 well.
8443 (grub_vga_read_arx): New function.
8444 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8445 definition.
8446 (framebuffer): New members io, mmioptr and mmiobase.
8447 (read_sis_cmd): New function.
8448 (write_sis_cmd): Likewise.
8449 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8450 rather than 640x400.
8451 * grub-core/video/sis315_init.c: New file.
8452
c3fc520c
VS
84532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8456 non-loongson.
8457 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8458 to grub_dl_register_symbol.
8459
67b1e5c9
VS
84602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 Fix compilation errors.
8463
8464 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8465 potentially unused.
8466 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8467 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8468 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8469 to loongson machines.
8470
b756f75f
VS
84712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 Several FS mtime support.
8474
8475 * grub-core/fs/affs.c (grub_affs_time): New struct.
8476 (grub_affs_file): New field mtime.
8477 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8478 type. Removed 'size'. New field 'di'. All users updated.
8479 (grub_affs_mount): Simplify checsum checking.
8480 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8481 (grub_affs_dir): Handle mtime.
8482 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8483 (grub_cpio_dir): Likewise.
8484 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8485 (grub_hfs_filerec): New field mtime.
8486 (grub_hfs_dir): Handle mtime.
8487 (grub_hfs_mtime): New function.
8488 (grub_hfs_fs): Register grub_hfs_mtime.
8489 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8490 (grub_iso9660_dir): New field mtime.
8491 (grub_fshelp_node): New field dirent.
8492 (iso9660_to_unixtime): New function.
8493 (iso9660_to_unixtime2): Likewise.
8494 (grub_iso9660_read_symlink): Use node->dirent.
8495 (grub_iso9660_iterate_dir): Likewise.
8496 (grub_iso9660_dir): Set mtime.
8497 (grub_iso9660_mtime): New function.
8498 (grub_iso9660_fs): Register grub_iso9660_mtime.
8499 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8500 (grub_jfs_inode): New fields atime, ctime and mtime.
8501 (grub_jfs_dir): Set mtime.
8502 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8503 * grub-core/fs/ntfs.c (list_file): Set mtime.
8504 (grub_ntfs_dir): Likewise.
8505 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8506 (grub_reiserfs_iterate_dir): Set mtime.
8507 (grub_reiserfs_dir): Likewise.
8508 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8509 (grub_fshelp_node): Likewise.
8510 (grub_sfs_iterate_dir): Set mtime.
8511 (grub_sfs_dir): Likewise.
8512 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8513 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8514 (grub_xfs_inode): New fields atime, mtime, ctime.
8515 (grub_xfs_dir): Set mtime.
8516 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8517 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8518 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8519
8520 Support UDF symlinks.
8521
8522 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8523 (grub_ufs_read_symlink): New function. All users updated.
8524
8525 Check amiga partmap checksum.
8526
8527 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8528 (grub_amiga_partition): Likewise.
8529 (amiga_partition_map_checksum): New function.
8530 (amiga_partition_map_iterate): Check checksum.
8531
5470225d
VS
85322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 ROMFS support.
8535
8536 * Makefile.util.def (libgrubmods.a): Add romfs.
8537 * grub-core/Makefile.core.def (romfs): New module.
8538 * grub-core/fs/romfs.c: New file.
8539
d4680a35
VS
85402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 Squashfs v4 support.
8543
8544 * Makefile.util.def (libgrubmods.a): Add squash4.
8545 * grub-core/Makefile.core.def (squash4): New module.
8546 * grub-core/fs/squash4.c: New file.
8547 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8548 disk_input_start, disk_input.
8549 (get_byte): Handle disk_input.
8550 (grub_zlib_disk_read): New function.
8551 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8552
bcb18e74
FZ
85532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
85542011-05-15 Feiran Zheng <famcool@gmail.com>
8555
8556 * Makefile.util.def (libgrubmods.a): Add minix3.
8557 * grub-core/Makefile.core.def (minix3): New module.
8558 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8559 (GRUB_MINIX_BSIZE): Removed.
8560 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8561 (grub_minix_ino_t): New type.
8562 (grub_minix_le_to_cpu_ino): New macro.
8563 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8564 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8565 (grub_minix_data): New field block_size.
8566 (grub_minix_read_file): Handle 64-bit correctly.
8567 * grub-core/fs/minix3.c: New file.
8568
32297d5f
TG
85692011-05-15 Tristan Gingold <gingold@free.fr>
85702011-05-15 Robert Millan <rmh.grub@aybabtu.com>
85712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 IA64 support.
8574
8575 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8576 * configure.ac: Add ia64-efi target.
8577 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8578 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8579 * gentpl.py: Add ia64_efi platform.
8580 Rename x86_efi to efi and Add ia64-efi. All users updated.
8581 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8582 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8583 Remove kern/generic/rtc_get_time_ms.c on EFI.
8584 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8585 kern/ia64/dl_helper.c on ia64-efi.
8586 Add kern/emu/cache.c on emu.
8587 (linux): Use on loader/ia64/efi/linux.c on ia64.
8588 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8589 whether symbol is a function.
8590 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8591 (grub_symbol): New field 'isfunc'.
8592 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8593 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8594 (grub_dl_load_segments): Place all sections into the same region.
8595 [__ia64__]: Create trampolines and got.
8596 [GRUB_MACHINE_EMU]: Call mprotect.
8597 (grub_dl_resolve_symbols): Resolve symbol type as well.
8598 [__ia64__]: Create function descriptors.
8599 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8600 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8601 (grub_get_rtc): New function.
8602 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8603 * grub-core/kern/emu/cache.S: Renamed to ...
8604 * grub-core/kern/emu/cache_s.S: ... this.
8605 [__ia64__]: Add a nop.
8606 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8607 [__ia64__]: New function.
8608 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8609 * grub-core/kern/ia64/dl.c: New file.
8610 * grub-core/kern/ia64/dl_helper.c: Likewise.
8611 * grub-core/kern/ia64/efi/init.c: New file.
8612 * grub-core/kern/ia64/efi/startup.S: Likewise.
8613 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8614 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8615 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8616 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8617 * grub-core/loader/ia64/efi/linux.c: New file.
8618 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8619 (GRUB_MOD_DEP): Likewise.
8620 (grub_dl) [__ia64__]: New fields got and tramp.
8621 (grub_dl): New field 'base'.
8622 (grub_dl_register_symbol): New argument isfunc. All users updated.
8623 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8624 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8625 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8626 (grub_ia64_dl_get_tramp_got_size): New proto.
8627 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8628 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8629 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8630 * include/grub/efi/api.h: Skip call wrappers on ia64.
8631 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8632 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8633 * include/grub/elf.h (ELF_ST_INFO): New definition.
8634 * include/grub/ia64/efi/kernel.h: New file.
8635 * include/grub/ia64/efi/memory.h: Likewise.
8636 * include/grub/ia64/efi/time.h: Likewise.
8637 * include/grub/ia64/kernel.h: Likewise.
8638 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8639 * include/grub/ia64/time.h: New file.
8640 * include/grub/ia64/types.h: Likewise.
8641 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8642 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8643 New protos.
8644 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8645 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8646 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8647 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8648 All users updated.
8649 (EFI64_HEADER_SIZE): New definition. All users updated.
8650 (image_targets): Add ia64-efi.
8651 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8652 jumpers_addr. All users updated.
8653 Create function descriptors.
8654 (count_funcs): New function.
8655 (unaligned_uint32): New struct.
8656 (MASK20): New definition.
8657 (MASK19): Likewise.
8658 (MASKF21): Likewise.
8659 (add_value_to_slot_20b): New function.
8660 (add_value_to_slot_21_real): Likewise.
8661 (add_value_to_slot_21): Likewise.
8662 (ia64_kernel_trampoline): New struct.
8663 (nopm): New variable.
8664 (jump): Likewise.
8665 (make_trampoline): New function.
8666 (relocate_addresses): Handle ia64.
8667 (make_reloc_section): Likewise.
8668 (load_image): Likewise.
8669
983b414d
VS
86702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8673 warning. Move variables before code while on it.
8674
5d063cdc
VS
86752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 Fuloong support.
8678
8679 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8680 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8681 * grub-core/boot/mips/loongson/fuloong.S: New file.
8682 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8683 Explicitly init CS5536.
8684 [FULOONG]: Don't use serial until CS5536 is available.
8685 Set GPIO based on dumps.
8686 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8687 [FULOONG]: Handle GPIO and memory controller differences.
8688 Parse machine type in $a2.
8689 * grub-core/boot/mips/startup_raw.S: Determine and save the
8690 architecture.
8691 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8692 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8693 init on architecture type.
8694 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8695 SIS315E. Don't init at_keyboard on fuloong.
8696 (grub_halt): Support Fuloong.
8697 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8698 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8699 (loongson_machtypes): New array.
8700 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8701 type.
8702 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8703 config. All users updated. Handle CS5536 serial.
8704 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8705 default port on machine type. Register serial as inactive.
8706 * grub-core/video/sis315pro.c: New file.
8707 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8708 definition.
8709 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8710 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8711 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8712 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8713 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8714 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8715 to ...
8716 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8717 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8718 definition.
8719 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8720 (grub_arch_machine): New extern var.
8721 * include/grub/mips/loongson/serial.h
8722 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8723 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8724 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8725 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8726 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8727 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8728 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8729 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8730 * include/grub/term.h (grub_term_register_input_inactive): New inline
8731 function.
8732 (grub_term_register_output_inactive): Likewise.
8733 * include/grub/video.h (grub_video_driver_id): New value
8734 GRUB_VIDEO_DRIVER_SIS315PRO.
8735 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8736 New field "names". All users updated.
8737 New field value IMAGE_FULOONG_FLASH.
8738 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8739
6ada82d1
JU
87402011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8741
8742 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8743 and add some clarification.
8744
90c571a4
VS
87452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8748 platforms if kernel is compressed.
8749
de04eecf
VS
87502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8753 unused modules since currently referrence counter isn't reliable and
8754 there isn't much memory to recover there anyway.
8755
57688121
VS
87562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8759 rather than resetting it to allow modules to reference themselves
8760 in init.
8761
3d2c7e35
VS
87622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8765 counter on dependencies since grub_dl_unref already handles this.
8766
b25db218
VS
87672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8770 on error if not already done.
8771
25a45338
VS
87722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 Fix few potential memory misusage.
8775
8776 * grub-core/font/font.c (load_font_index): Don't free char_index to
8777 avoid double free.
b25db218
VS
8778 (grub_font_load): Zero-fill font at alloc for safety.
8779 Close file on error.
8780 (free_font): Free bmp_idx.
25a45338 8781
0cac83df
VS
87822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * docs/grub.texi (Installation): Fix several outdated claims.
8785
2217a143
VS
87862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 Handle module_license on windows.
8789
8790 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8791 sections shifted.
8792 (insert_string): Make argument const char * instead of char *.
8793 (write_section_data): Handle long section names.
8794 Handle module_license.
8795
d4de6b01
VS
87962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8799 handle class-free menuentries.
8800 (grub_normal_add_menu_entry): Add a check to be sure.
8801
4c2a3b43
VS
88022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8805 PgUp and PgDown.
8806
85c6210f
VS
88072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * configure.ac: Bump version to 1.99.
8810
36084912
VS
88112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 Give ATA device a bit more time on first try in order to allow disks
8814 to spin up.
8815
8816 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8817 if dev->present is 1. Reset dev->present on failure.
8818 (grub_ata_device_initialize): Set dev->present to 1.
8819 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8820 (grub_ata_device): New member 'present'.
8821
bda0e219
VS
88222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * util/grub-mkimage.c (generate_image): Update hash.
8825
19e1c41b
VS
88262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 Flush caches on DMA memory.
8829
8830 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8831 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8832 (grub_dma_free): Likewise.
8833 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8834
91bbcc0c
VS
88352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8838 to avoid asm treating ld and sd as macros.
8839
60ddfad3
VS
88402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8843 decompressor.
8844
a298aa04
VS
88452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8848 grub_decompress_core since later would fail if grub_decompress_core
8849 is too far.
8850
9b44feca
VS
88512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8854 R_MIPS_JALR since it's used by newer compiler.
8855
56dbe7b4
VS
88562011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8859
52856af2
VS
88602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8863 file_path to 0 for surety.
8864 (grub_chainloader_boot): Set exit_data to NULL.
8865 Unset the loader once done.
8866 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8867
9c9bfc6d
VS
88682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8871 unknown key into a dprintf.
8872
dd94a3df
VS
88732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8876 on first non-existant partition.
8877
fa68d99c
VS
88782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8881 openning fails.
8882 Reported by: Mark Korenberg.
8883
157effb7
VS
88842011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8887 overflow.
8888
ea75312f
VS
88892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8892 before closing to ensure that it will be readable by grub-setup.
8893
072b5d31
VS
88942011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8897 (devpath_1): Use MAKE_PIWG_PATH.
8898 (devpath_2): Likewise.
8899 (devpath_3): Likewise.
8900 (devpath_4): Likewise.
8901 (devpath_5): Likewise.
8902 (devpath_6): Likewise.
8903
8904 The appleldr.mod was checked that to be binary identical to previous
8905 version.
8906
7fae0051
Z
89072011-05-05 Zach <mikezackles>
8908
8909 Support 2010 Macbooks.
8910
8911 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8912 (devs): Add devpath_6.
8913
7c515bee
VS
89142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8917 /dev/random. /dev/urandom is good enough for our purposes (salting).
8918
ed660bd8
VS
89192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8922
ee5614b7
VS
89232011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8926 hexadecimal.
8927
664889a6
VS
89282011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8931 and not 0 on failure.
8932
bd405bbc
CW
89332011-05-03 Colin Watson <cjwatson@ubuntu.com>
8934
8935 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8936 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8937 disk; otherwise grub_fs_probe will not fall back to the next
8938 filesystem.
8939 (grub_pxefs_open): Likewise, for consistency.
8940 Reported and tested by: Ezekiel Grave.
8941
4ebff753
CW
89422011-05-03 Colin Watson <cjwatson@ubuntu.com>
8943
8944 * tests/partmap_test.in: Don't hardcode path to parted.
8945 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8946
8f942553
CW
89472011-05-01 Colin Watson <cjwatson@ubuntu.com>
8948
8949 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8950 of `ls' to find out which devices are available.
8951
3c62402d
VS
89522011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8955 than source address for efi mmap buffer.
8956
723f63f2
VS
89572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8960 wrong action on non-detecting the magic.
8961
68797f92
VS
89622011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8965 already supplied by another part of the module (fixes compilation on
8966 FreeBSD).
8967
6be8715d
VS
89682011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8971 match the one used by mdadm.
8972
e91dba5b
CW
89732011-04-21 Colin Watson <cjwatson@ubuntu.com>
8974
8975 * po/README: Add instructions for creating po/LINGUAS.
8976
c85140b3
CW
89772011-04-21 Colin Watson <cjwatson@ubuntu.com>
8978
8979 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8980 #551428.
8981
8982 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8983 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8984 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8985 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8986 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8987 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8988 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8989 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8990 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8991 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8992 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8993 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8994 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8995 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8996 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8997 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8998 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8999 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9000 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9001 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9002 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9003 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9004
92051871
CW
90052011-04-21 Colin Watson <cjwatson@ubuntu.com>
9006
9007 * grub-core/kern/emu/getroot.c
9008 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9009 test that was incorrectly reintroduced in r3214.
9010 Reported by: Ian Dall. Fixes Savannah bug #33133.
9011
b13f79a4
CW
90122011-04-21 Colin Watson <cjwatson@ubuntu.com>
9013
9014 Fix stack pointer handling in 16-bit relocator.
9015
9016 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9017 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9018 Fixes Ubuntu bug #683904.
9019
9b710a88
VS
90202011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * configure.ac: Bump version to 1.99~rc2.
9023
d97e7b59
VS
90242011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9027 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9028 * grub-core/lib/x86_64/setjmp.S: Likewise.
9029 * grub-core/lib/mips/setjmp.S: Likewise.
9030 * grub-core/lib/powerpc/setjmp.S: Likewise.
9031 * grub-core/lib/sparc64/setjmp.S: Likewise.
9032
0624551c
VS
90332011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9036 * grub-core/lib/efi/datetime.c: Likewise.
9037
e8f28d4c
VS
90382011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9041 New function.
9042 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9043 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9044 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9045
bba79a15
VS
90462011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9049 bitmap.
9050 (grub_gfxterm_term_init): Likewise.
9051
abc474ef
VS
90522011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 Take into account the decorations the computing menu entry width.
9055
9056 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9057 (grub_gfxmenu_create_box): Register get_border_width.
9058 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9059 if available.
9060 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9061 get_border_width.
9062
e74b3947
EP
90632011-04-18 Endres Puschner <code@e7p.de>
9064
9065 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9066 Don't skip first class.
9067
34faa595
VS
90682011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9071 chunks.
9072 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9073
93a777e3
VS
90742011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 Complete 64-bit division support.
9077
9078 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9079 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9080 * include/grub/misc.h (grub_divmod64): Rename to ...
9081 (grub_divmod64_full): ... this.
9082 (grub_divmod64): New inline function.
9083
a5102d94
VS
90842011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9087
f3fb7b36
VS
90882011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9091 performing the necessary test.
9092
9ac718b0
VS
90932011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9096 (kfreebsd.elf): Likewise.
9097 (pc-chainloader.elf): Likewise.
9098 (ntldr.elf): Likewise.
9099
50d2cc5a
VS
91002011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Identify RAID by its UUID rather than (guessed) name.
9103
9104 * grub-core/disk/raid.c (ascii2hex): New function.
9105 (grub_raid_open): Accept mduuid/%s specification.
9106 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9107 (get_mdadm_uuid): ... this.
9108 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9109
e03f7bea
VS
91102011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9113 to negative size.
9114
e74c3112
CW
91152011-04-13 Colin Watson <cjwatson@ubuntu.com>
9116
9117 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9118 btrfs subvolume.
9119 * util/grub.d/20_linux_xen.in: Likewise.
9120
78fa584f
CW
91212011-04-13 Colin Watson <cjwatson@ubuntu.com>
9122
9123 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9124 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9125
9126 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9127 Build a list of relevant visible mounts using the mnt_id and
9128 parent_mnt_id fields, and then scan that list at the end.
9129
9d5f8162
CW
91302011-04-12 Colin Watson <cjwatson@ubuntu.com>
9131
9132 * docs/grub.texi (normal): New section.
9133 (normal_exit): New section.
9134 (Embedded configuration): Add reference to normal.
9135 (GRUB only offers a rescue shell): Likewise.
9136 * docs/grub-dev.texi (Error Handling): Fix typo.
9137
09a9d66f
CW
91382011-04-12 Colin Watson <cjwatson@ubuntu.com>
9139
9140 * NEWS: Drop obsolete entry about probe-only btrfs support.
9141
0c676933
CW
91422011-04-12 Colin Watson <cjwatson@ubuntu.com>
9143
9144 * util/import_gcry.py: Fix typo.
9145
ec9f5e0d
VS
91462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * NEWS: Add btrfs support.
9149
fe6b2cba
VS
91502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
91512011-04-11 Colin Watson <cjwatson@ubuntu.com>
9152
9153 BtrFS support. Written by me (Vladimir) with important bugfixes and
9154 even more important testing by Colin.
9155
9156 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9157 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9158 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9159 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9160 mem_input_off and mem_input. All users updated to accept in-RAM input.
9161 (gzio_seek): New function.
9162 (test_zlib_header): Likewise.
9163 (grub_gzio_read): Likewise.
9164 (grub_zlib_decompress): Likewise.
9165 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9166 Accept partial and non-virtual mounts.
9167 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9168 avoid receiving /dev/dm-X as device.
9169 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9170 Handle bind and partial mounts.
9171 * grub-core/lib/crc.c: New file.
9172 * include/grub/deflate.h: Likewise.
9173 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9174 proto.
9175 * include/grub/lib/crc.h: New file.
9176
e745cf0c
VS
91772011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 Implement automatic module license checking according to new GNU
9180 guidelines.
9181
9182 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9183 (grub_dl_load_core): Use grub_dl_check_license.
9184 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9185 (GRUB_MOD_LICENSE): Likewise.
9186 (GRUB_MOD_DUAL_LICENSE): Likewise.
9187 All modules updated.
9188
2a9bc016
CW
91892011-04-11 Colin Watson <cjwatson@ubuntu.com>
9190
9191 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9192 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9193 loaders.
9194 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9195
8a3bc88e
VS
91962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9199
af869a4a
VS
92002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9203 failed.
9204
9ee8d94f
VS
92052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9208 parenthesis in the middle of the filename.
9209
b01abe3e
VS
92102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9213 rather than trying to put initrd way too high.
9214 Reported by: Ryan Lortie <desrt@desrt.ca>
9215
335bda1e
VS
92162011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9219 improperly removed string.
9220
5ca1a64d
VS
92212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9224 is_disk.
9225 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9226 (open_device) Likewise.
9227 (grub_util_biosdisk_close): Likewise.
d8ce9995 9228 Reported by: Mark Korenberg.
5ca1a64d 9229
cbac5b1e
AK
92302011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9231
9232 * util/grub-mkconfig_lib.in: Add missing quotes.
9233
088cdb65
CW
92342011-04-10 Colin Watson <cjwatson@ubuntu.com>
9235
9236 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9237 is NULL.
9238
8b8a81fa
VS
92392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 Dynamically count the number of lines for the lower banner.
9242
9243 * grub-core/normal/menu_entry.c (per_term_screen): New member
9244 num_entries.
9245 (print_down): Use num_entries.
9246 (update_screen): Likewise.
9247 (grub_menu_entry_run): Set num_entries.
9248 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9249 num_entries.
9250 (grub_print_message_indented): Move real part to ...
9251 (grub_print_message_indented_real): ... here. Additional argument
9252 dry_run.
9253 (draw_border): Additional argument num_entries.
9254 (print_message): Additional argument dry_run.
9255 (print_entries): Receive menu viewer data.
9256 (grub_menu_init_page): New argment num_entries.
9257 (menu_text_set_chosen_entry): Use num_entries.
9258 (grub_menu_try_text): Likewise.
9259 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9260 All users updated.
9261 (grub_ucs4_count_lines): New function.
9262 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9263 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9264 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9265 (grub_term_border_height): Likewise.
9266 (grub_term_num_entries): Likewise.
9267
277f955b
VS
92682011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9271 Remove now unused string.
9272
536ce85a
CW
92732011-04-09 Colin Watson <cjwatson@ubuntu.com>
9274
9275 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9276 build system.
9277 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9278
9279 (Comment): Fix typo.
9280 (Getting started): General copy-editing.
9281 (Typical Development Experience): Likewise.
9282 (Error Handling): Likewise.
9283 (Video API): Likewise.
9284
2cf09e32
CW
92852011-04-09 Colin Watson <cjwatson@ubuntu.com>
9286
9287 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9288 throughout.
9289
1ec652f4
VS
92902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9293 directory.
9294
2c583728
CW
92952011-04-08 Colin Watson <cjwatson@ubuntu.com>
9296
9297 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9298 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9299 "development".
9300
d7a565e9
VS
93012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9304 grub_strcpy since the lines aren't necessarily 0-terminated.
9305
7c2e4909
VS
93062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9309 root on legacy.
9310
34c09785
VS
93112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9314 (GRUB_MOD_INIT): DEVICE isn't optional.
9315
6a6f8058
VS
93162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9319 word on new line if it's too long anyway. Fixes a hang.
9320
2e335e90
VS
93212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9324 const.
9325 * util/grub-setup.c (main): Reuse md device name if available.
9326 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9327 not GRUB name as argument.
9328 Based on patch by: Florian Wagner <fwagner>.
9329
10a7a867
VS
93302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9333 Place mbi on low memory for better compatibility.
9334
7a3d6cd9
VS
93352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9338
18dd6b47
VS
93392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
93402011-04-08 Colin Watson <cjwatson@ubuntu.com>
9341
9342 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9343 * conf/Makefile.common: Likewise.
18dd6b47 9344
3c0e3f14
VS
93452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9346
f7148863
VS
9347 * grub-core/normal/menu.c: Add missing include.
9348
93492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9352
6d1fa41f
MZ
93532011-04-08 Martin Zuther <mzuther@mzuther.de>
9354
9355 * util/grub-mkconfig.in: Ignore emacsen backup.
9356
478182a8
VS
93572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9360 on open.
9361 (grub_util_biosdisk_close): Likewise.
9362
72a89a54
VS
93632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9366 const attribute and use grub_isdigit.
9367
b5ebecfa
A
93682011-04-06 Andrey <dev_null@ukr.net>
9369
9370 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9371 gcc warning.
9372
7755f66e
VS
93732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9376 useful grub_dprintf's.
9377
461121ff
VS
93782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9381
2a961775
VS
93822011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9385
adf594cc
VS
93862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 Output errors if theme loading failed.
9389
9390 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9391 grub_gfxterm_fullscreen on error paths to ...
9392 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9393 theme loading error.
9394
665900a3
VS
93952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9398 space for older compilers.
9399 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9400
a562b479
VS
94012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9404 and report them as not RAID members since they are useless for GRUB.
9405 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9406
850e9373
VS
94072011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 Increase LVM implementation robustness in order not to crash on
9410 configurations like pvmove. Previously code assumed that in some places
9411 only lvs or only pvs are used whereas it seems that they are used
9412 interchangeably.
9413
9414 * grub-core/disk/lvm.c (read_node): New function.
9415 (read_lv): Use read_node.
9416 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9417 Match volumes only at the end when all lvs are found. Take both
9418 pvs (first) and lvs (second) into account.
9419 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9420 mirror_* into node_*. All users updated.
9421 (grub_lvm_stripe): Merge this ...
9422 (grub_lvm_mirror): ... and this ...
9423 (grub_lvm_node): ... into this. All users updated.
9424
6f332153
VS
94252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9428 of function to allow further scanning for LVMs.
9429
829ea451
VS
94302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9433 on failed seek as it breaks open fd reusage.
9434
09ceb9a5
VS
94352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * util/grub-install.in: Add a recommendation to use --recheck before
9438 reporting bugs.
9439
67e11623
VS
94402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9443 are obtained.
9444
caee5efd
VS
94452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 GRUB developper manual based on existing Internals section and
9448 contributions by the various authors with active copyright assignment.
9449
9450 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9451 * docs/font_char_metrics.png: New file.
9452 * docs/font_char_metrics.txt: Likewise.
9453 * docs/grub-dev.texi: Likewise.
9454 * docs/grub.texi (Internals): Move from here ...
9455 * docs/grub-dev.texi: ... here.
9456
2cccc747
CW
94572011-04-01 Colin Watson <cjwatson@ubuntu.com>
9458
9459 Store the loopback device as data on loopback grub_disk structures,
9460 rather than the file it points to. This fixes use of freed memory
9461 if an existing loopback device is replaced.
9462
9463 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9464 disk->data, not dev->file.
9465 (grub_loopback_read): Adjust file assignment to match.
9466 Fixes Ubuntu bug #742967.
9467
186ae367
CW
94682011-04-01 Colin Watson <cjwatson@ubuntu.com>
9469
9470 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9471 when replacing an existing device.
9472
cfed2ad0
VS
94732011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9476 memory corruptions.
9477
9478 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9479 unsigned.
9480 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9481 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9482 (grub_jfs_read_inode): Likewise.
9483 (grub_jfs_opendir): Likewise. Remove now useless casts.
9484 (grub_jfs_getent): Likewise.
9485 Make ino a grub_uint32_t rather than int.
9486 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9487 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9488 division and module with bit operations.
9489 (grub_jfs_find_file): Make ino a grub_uint32_t.
9490 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9491
05d2ed32
CW
94922011-04-01 Colin Watson <cjwatson@ubuntu.com>
9493
9494 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9495 warning. (This was in fact always initialised before use, but GCC
9496 wasn't smart enough to prove that.)
9497 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9498
91dc6073
VS
94992011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9502 stack alignment.
9503 (efi_wrap_1): Likewise.
9504 (efi_wrap_2): Likewise.
9505 (efi_wrap_3): Likewise.
9506 (efi_wrap_4): Likewise.
9507 (efi_wrap_5): Likewise.
9508 (efi_wrap_6): Likewise.
9509 (efi_wrap_10): Likewise.
9510 Based on information by: Red Hat/Peter Jones.
9511
a8afc1d1
CW
95122011-03-31 Colin Watson <cjwatson@ubuntu.com>
9513
9514 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9515 set-but-not-used variable.
9516
a826cc7d
CW
95172011-03-31 Colin Watson <cjwatson@ubuntu.com>
9518
9519 * docs/grub.texi (Simple configuration): Be more explicit about
9520 GRUB_DEFAULT, and add an example.
9521 Reported by: Leslie Rhorer.
9522
875b67ba
CW
95232011-03-30 Colin Watson <cjwatson@ubuntu.com>
9524
9525 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9526 shell".
9527
fd7cd914
AS
95282011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9529
9530 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9531 * util/grub.d/20_linux_xen.in: Likewise.
9532
090b1b6a
VS
95332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * util/grub.d/10_linux.in: Try alternative config filenames where
9536 we parse config file.
9537 * util/grub.d/20_linux_xen.in: Likewise.
9538
baad885c
AS
95392011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9540
9541 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9542 * util/grub.d/20_linux_xen.in: Likewise.
9543
241e41f5
VS
95442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/disk/raid.c (insert_array): Add few potentially
9547 useful grub_util_info.
9548 (grub_raid_register): Likewise.
9549
56445fb2
VS
95502011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9553 Preserve partition number in mdadm code path.
9554
c871b1c6
VS
95552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9558 few potentially useful grub_util_info.
9559
5e631b4f
CW
95602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9563
2d5d0333
CW
95642011-03-30 Colin Watson <cjwatson@ubuntu.com>
9565
9566 * docs/grub.texi (default): Use @example rather than nested
9567 itemized lists to avoid breaking gendocs.
9568
3d7ed04e
CW
95692011-03-30 Colin Watson <cjwatson@ubuntu.com>
9570
9571 * docs/grub.texi (Future): Update.
9572
abf04200 95732011-03-30 Colin Watson <cjwatson@ubuntu.com>
9574
9575 * docs/grub.texi (Environment): New chapter.
9576 (Changes from GRUB Legacy): Link to "Environment block" section for
9577 details of limitations.
9578 (Simple configuration): Likewise. Link to documentation of gfxmode
9579 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9580 respectively.
9581 (Shell-like scripting): Note that normal variables are stored in the
9582 environment.
9583 (gettext): Link to documentation of lang and locale_dir.
9584 (list_env): New section.
9585 (load_env): New section.
9586 (save_env): New section.
9587
9588 (Reporting bugs): Fix typo.
9589
e1ad0edd
VS
95902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9593 the example.
9594
5d803174
VS
95952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * grub-core/term/at_keyboard.c (set_scancodes)
9598 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9599
2a2da1d0
CW
96002011-03-30 Colin Watson <cjwatson@ubuntu.com>
9601
9602 * docs/grub.texi (Menu-specific commands): Remove some semantics
9603 that were true in GRUB Legacy but not in GRUB 2.
9604 (submenu): New section.
9605 (false): New section.
9606 (read): New section.
9607 (true): New section.
9608
a7527639
CW
96092011-03-30 Colin Watson <cjwatson@ubuntu.com>
9610
9611 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9612
96132011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9614
9615 * docs/grub.texi (Simple configuration): Explain some of the
9616 current limitations of grub-mkconfig.
8a748df2 9617 Reported by: Leslie Rhorer.
e30af029 9618
fc858482
VS
96192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 Old macs search for boot.efi rather than for bootia32.efi.
9622
9623 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9624 * util/grub-mkrescue.in: Likewise.
9625 Suggested by: Peter Jones.
9626
e1eb511d
VS
96272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9630
70e75364
VS
96312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9634 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9635 (grub_lvm_mirror): New struct.
9636 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9637 (grub_lvm_iterate): Iterate only visible volumes.
9638 (grub_lvm_read): Factor out to ..
9639 (read_lv): ... this. Support mirrors.
9640 (grub_lvm_read): New wrapper function.
9641 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9642 stripped or mirrored.
9643
fc18f6a3
VS
96442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9647
5c650f4c
CW
96482011-03-29 Colin Watson <cjwatson@ubuntu.com>
9649
9650 * docs/grub.texi (loopback): New section.
9651
61d7156b
CW
96522011-03-29 Colin Watson <cjwatson@ubuntu.com>
9653
9654 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9655 removed -p option.
9656
994b8264
CW
96572011-03-29 Colin Watson <cjwatson@ubuntu.com>
9658
9659 * docs/grub.texi (BIOS installation): New section, partly based on
9660 previous text in other sections.
9661 (Installing GRUB using grub-install): Replace BIOS discussion with a
9662 cross-reference.
9663 (Images): Likewise.
9664
9e4d19e0
VS
96652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9668 [HAVE_DIOCGDINFO]: Add safety checks.
9669
a307c0b2
VS
96702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9673 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9674
b4db4f39
CW
96752011-03-29 Colin Watson <cjwatson@ubuntu.com>
9676
9677 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9678 real_sb->size is zero (e.g. RAID-0), get the disk size from
9679 real_sb->data_size instead.
9680 Fixes Ubuntu bug #743136.
9681
35e5f84c
VS
96822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9685 printf clauses for printing size and start.
9686
d2e29d81
VS
96872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9690 Reported and tested by: Timothy Nikkel.
9691
ed5587af
VS
96922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9695 (dirty_region_add_real): ... this.
9696 (dirty_region_add): Don't discard margin refresh when performing
9697 scheduled repaint.
9698
a1dc717c
VS
96992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/lib/relocator.c (allocate_regstart)
9702 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9703 terminals are capabple of malloc-free operation.
9704 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9705 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9706
9f3677d3
VS
97072011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9708
9709 * util/grub-setup.c: Copy the partition table zone if floppy support
9710 is disabled, even if no partition table is found.
9711
9712 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9713 during POST if an invalid partition table is contained in the PBR
9714 of the active partition when GRUB is installed to a partition.
9715
24148725
CW
97162011-03-28 Colin Watson <cjwatson@debian.org>
9717
9718 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9719 comment.
9720
f329eda7
CW
97212011-03-28 Colin Watson <cjwatson@debian.org>
9722
9723 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9724 to be specific about what kind of RAID device we're scanning for.
9725
c482ad98
SG
97262011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9727
9728 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9729 return freed string.
9730
5ee04984
VS
97312011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9734
f4727da9
VS
97352011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 Use libgeom on FreeBSD to detect partitions.
9738
9739 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9740 (grub-mkrelpath): Likewise.
9741 (grub-script-check): Likewise.
9742 (grub-editenv): Likewise.
9743 (grub-mkpasswd-pbkdf2): Likewise.
9744 (grub-fstest): Likewise.
9745 (grub-mkfont): Likewise.
9746 (grub-mkdevicemap): Likewise.
9747 (grub-probe): Likewise.
9748 (grub-setup): Likewise.
9749 (grub-ofpathname): Likewise.
9750 (grub-mklayout): Likewise.
9751 (example_unit_test): Likewise.
9752 (grub-menulst2cfg): Likewise.
9753 * grub-core/Makefile.core.def (grub-emu): Likewise.
9754 (grub-emu-lite): Likewise.
9755 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9756 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9757 define HAVE_DIOCGDINFO.
9758 (follow_geom_up) [FreeBSD]: New function.
9759 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9760 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9761 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9762 unconditionally of HAVE_DIOCGDINFO.
9763
82fe6c75
VS
97642011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 Fix FreeBSD compilation problem.
9767
9768 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9769 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9770
4c6c9431
CW
97712011-03-24 Colin Watson <cjwatson@ubuntu.com>
9772
9773 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9774 Switch back to page zero before loading a kernel, since some kernel
9775 drivers expect that.
9776 Thanks to: Felix Kuehling.
9777
c7064d94
VS
97782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9781 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9782 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9783
3f71cded
VS
97842011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9787 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9788
ef6de21a
VS
97892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9792 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9793 malloc is disabled.
9794
8bc66a2c
VS
97952011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9798 for modules headers when counting the needed allocation size.
9799
5657722c
VS
98002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9803 if no ASCII character is found to prevent crash.
9804
41a85f55
AK
98052011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9806
9807 * grub-core/video/bitmap.c (match_extension): Ignore case.
9808
59e1e5f1
VS
98092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9812
bd4d051a
VS
98132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/script/parser.y: Declare "time" as valid argument.
9816
bae7fcc1
PJ
98172011-03-23 Peter Jones <pjones@redhat.com>
9818
9819 Fix incorrect assert failure reporting.
9820
9821 * grub-core/tests/example_functional_test.c (example_test): Add
9822 a failure comment.
9823 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9824 (failure_start): ...this. Check that malloc succeeded.
9825 Don't call xvasprintf. Return failure struct.
9826 (failure_append_vtext): New function.
9827 (failure_append_text): Likewise.
9828 (add_failure): Likewise.
9829 (grub_test_assert_helper): Likewise.
9830 * include/grub/test.h (grub_test_assert_helper): New declaration.
9831 (grub_test_assert): Macro rewritten.
9832
537dc9be
VS
98332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9836
fa3e01bf
VS
98372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9840
b1d28404
VS
98412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9844 into GRUB-style one.
9845
2e3e2e09
VS
98462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9849 error and not grub_errno.
9850 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9851
ed57e557
VS
98522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9855 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9856
d1611f01
VS
98572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/efiemu/i386/pc/cfgtables.c
9860 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9861 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9862 (grub_xnu_unlock): Likewise.
9863 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9864
7d4e39d6
VS
98652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9868 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9869 * grub-core/commands/hashsum.c (aliases): Likewise.
9870 * grub-core/commands/setpci.c (pci_registers): Likewise.
9871 * grub-core/disk/usbms.c (attach_hook): Likewise.
9872 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9873 (zio_checksum_table): Likewise.
9874 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9875 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9876 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9877 * grub-core/lib/relocator.c (leftovers): Likewise.
9878 (extra_blocks): Likewise.
9879 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9880 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9881 (modules_last): Likewise.
9882 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9883 (devices): Likewise.
9884 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9885 (modules_last): Likewise.
9886 * grub-core/normal/auth.c (users): Likewise.
9887 * grub-core/normal/context.c (initial_menu): Likewise.
9888 (current_menu): Likewise.
9889 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9890 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9891 (grub_serial_terminfo_input_template): Likewise.
9892 (grub_serial_terminfo_output_template): Likewise.
9893 (grub_serial_terminfo_input): Likewise.
9894 (grub_serial_terminfo_output): Likewise.
9895 (registered): Likewise.
9896 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9897
40fc4659
VS
98982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9901 grub_video_mode_type_t.
9902 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9903 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9904 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9905
2da48d28
VS
99062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * util/grub-install.in: Correct the x86-64 name as x86_64.
9909
9b43bf39
CW
99102011-03-11 Colin Watson <cjwatson@ubuntu.com>
9911
9912 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9913 initial chunk read from the kernel always includes GRUB's multiboot
9914 header, which is now outside the first sector.
9915
be1a7ce0
CW
99162011-03-09 Colin Watson <cjwatson@ubuntu.com>
9917
9918 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9919 cached mmap_size, so that this works correctly when called multiple
9920 times.
9921 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9922
83a3c48d
CW
99232011-03-09 Colin Watson <cjwatson@ubuntu.com>
9924
9925 * docs/grub.texi (Simple configuration): Tidy up formatting.
9926
57d75699
SJ
99272011-03-07 Szymon Janc <szymon@janc.net.pl>
9928
9929 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9930 Set-but-not-used variable removed.
9931
028501a0
VS
99322011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 Workaround yet another IEEE1275 bug.
9935
9936 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9937 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9938 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9939 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9940 is set.
9941 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9942 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9943
d998657d
VS
99442011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9947 error.
9948
fee7cdd4
CW
99492011-02-11 Colin Watson <cjwatson@ubuntu.com>
9950
9951 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9952 empty, since in that case we can only generate either nothing or a
9953 syntactically invalid configuration file.
9954 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9955
97286eb5
CW
99562011-02-09 Colin Watson <cjwatson@ubuntu.com>
9957
9958 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9959 (Making a GRUB bootable CD-ROM): Likewise.
9960 (Invoking grub-mkrescue): New section.
9961 Reported by: Yann Dirson. Fixes Debian bug #612585.
9962
22b28eb3
CW
99632011-02-09 Colin Watson <cjwatson@ubuntu.com>
9964
9965 * util/grub-install.in: Remove unnecessary brackets from tr
9966 arguments.
9967 * util/grub.d/10_hurd.in: Likewise.
9968 * util/grub.d/10_kfreebsd.in: Likewise.
9969 * util/grub.d/10_linux.in: Likewise.
9970 * util/grub.d/20_linux_xen.in: Likewise.
9971 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9972
7e735e43
CW
99732011-02-08 Colin Watson <cjwatson@ubuntu.com>
9974
9975 * include/grub/file.h (not_easly_seekable): Rename to ...
9976 (not_easily_seekable): ... this. Update all users.
9977
800f1881
CW
99782011-01-28 Colin Watson <cjwatson@ubuntu.com>
9979
9980 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9981 grub-mkrescue.
9982
3281d3d6
VS
99832011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * util/grub-mkimage.c (generate_image): Refuse to create the images
9986 bigger than the actual flash (512K) in Loongson machines. 512K is also
9987 the biggest chip supported by them.
9988
3533413c
VS
99892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9992
73ae4f4f
VS
99932011-01-22 Anthony DeRobertis <anthony@derobert.net>
9994
9995 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9996 super_offset field.
9997
37f4f608
VS
99982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * util/grub-install.in: Ignore install device on platforms
10001 where it doesn't make sense. Always use UUIDs except on pc, efi and
10002 sparc64.
10003 Reported by: Daniel Kahn Gillmor.
10004
03a4ccb5
VS
100052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10008
ffc8f4d8
VS
100092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10012 (iterate_real): Don't rely on partition being non-NULL.
10013
80f23be7
VS
100142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10017 supported platforms. Put a compile time assert for this rather than
10018 generate a warning with 32-bit shift.
10019
5d4f4dd5
VS
100202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10023 logical expression more readable.
10024
e489601a
VS
100252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10028 even if some elements have a name.
10029 Reported by: Alexander GQ Gerasiov.
10030
96e0a6ea
CW
100312011-01-22 Colin Watson <cjwatson@ubuntu.com>
10032
10033 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10034 path unreadable if `grub-probe -t abstraction' fails, for example if
10035 memberlist fails on an LVM volume group.
10036 Reported by: Darius Jahandarie.
10037
81431e2b
CW
100382011-01-22 Colin Watson <cjwatson@ubuntu.com>
10039
10040 * docs/grub.texi (Simple configuration): Document
10041 GRUB_PRELOAD_MODULES.
10042
5e79d66a
CW
100432011-01-17 Colin Watson <cjwatson@ubuntu.com>
10044
10045 * .bzrignore: Remove nonexistent grub-pbkdf2.
10046
646ada34
VS
100472011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * configure.ac: Bump version to 1.99~rc1.
10050
04360337
VS
100512011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10054 for safety.
10055
46c9db88
VS
100562011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10059 module.
10060
100612011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10062
10063 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10064
4fbf1852
VS
100652011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10068 diskdevid.
10069
f1632d4d
VS
100702011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 Fix compilation on cygwin.
10073
10074 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10075 -R .drectve on cygwin.
10076 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10077 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10078 (COND_CYGWIN): New condition.
10079 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10080 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10081 not @TARGET_OBJ2ELF@.
10082 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10083 type to determine whether aux is to be used.
10084
0b5e127b
VS
100852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10088 realpath'ed device string.
10089 Handle floppy (somewhat).
10090 Issue error in unknown case rather than garbage.
10091 Reported by: Axel Beckert.
10092
173b71e9
VS
100932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * util/grub.d/00_header.in (load_video): Handle the case when no video
10096 drivers available.
10097 Thanks to: Axel Beckert.
10098
f8f479db
VS
100992011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10102 variable. Fixes problem on big endian platforms.
10103
8fc0a245
VS
101042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10107 It doesn't work well there.
10108
b8494fbe
VS
101092011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10112 warning.
10113 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10114 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10115 counter.
10116
b44a558c
VS
101172011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 Use alias->path rather than buggy "canon".
10120
10121 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10122 (ofdisk_hash_add): New argument curcan. All users updated.
10123
51fa856c
CW
101242011-01-11 Colin Watson <cjwatson@ubuntu.com>
10125
10126 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10127
9da068a5
VS
101282011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10131 loadmask before doing any calculations. Use correct type for offset.
10132 (grub_linux_load64): Likewise.
10133
86205c94
CW
101342011-01-11 Colin Watson <cjwatson@ubuntu.com>
10135
10136 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10137 with NULL.
10138 (console_grub_equivalences_unshift): Likewise.
10139 Reported by: Daniel Dehennin.
10140
4531a206
VS
101412011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10144 (set_env_limn_ro): Likewise.
10145 (GRUB_MOD_INIT): Likewise.
10146 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10147 ARRAY_SIZE while on it.
10148 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10149 * grub-core/normal/context.c (grub_env_export): Move from here ...
10150 * grub-core/kern/env.c (grub_env_export): ... here.
10151 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10152 prefix.
10153 * grub-core/kern/main.c (grub_main): Export root and prefix.
10154 * include/grub/env.h (grub_env_export): Export.
10155 Reported by: Seth Goldberg.
10156
45146057
VS
101572011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10160 Take into account space used by ELF sections and multiboot palette.
10161 Reported by: Grégoire Sutre.
10162
f093110b
VS
101632011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * BUGS: New file.
10166
3395fe52
VS
101672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 Pass more appropriate video id to Linux.
10170
10171 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10172 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10173 fill have_vga.
10174 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10175 shift params->lfb_size.
10176 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10177
c2fa6cbb
VS
101782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10181
b3ff6ff0
VS
101822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10185 separator and pass bootpath/devid even if only one of them is available.
10186 Reported by: Seth Goldberg.
10187
ae67942e
VS
101882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10191 implementations bug on them.
10192
10193 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10194 memory.
10195 (filter_memory_map): Likewise.
10196
d570097a
VS
101972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10200 Reported by: nebuchadnezzar.
10201
a508e776
VS
102022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10205 Reported by: nebuchadnezzar.
10206
dcb883b1
VS
102072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 Submenu default support.
10210
10211 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10212 auto_boot. All users updated.
10213 Declared static.
10214 Handle chosen and default with submenus.
10215 (grub_menu_execute_with_fallback): Declared static.
10216 Don't notify failure if autobooted. Upper level does it.
10217 (menuentry_eq): New function.
10218 (get_entry_number): Use menuentry_eq.
10219 (show_menu): New parameter "autobooted". All users updated.
10220 (grub_show_menu): Likewise.
10221 * include/grub/normal.h (grub_show_menu): Likewise.
10222 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10223 (grub_menu_execute_with_fallback): Likewise.
10224
6fef99b4
VS
102252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * util/grub-mklayout.c (usage): Update help text.
10228
47a77af5
VS
102292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10232
ce6bb3ee
VS
102332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * util/grub-menulst2cfg.c (main): Trim the line.
10236
db87be2a
VS
102372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10240 (grub_machine_init): Don't check amount of low memory as reportedly
10241 INT 12h can be broken and if low memory is too low we wouldn't have
10242 gotten into grub_machine_init anyway.
10243
c49849cc
VS
102442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10247 (grub_machine_mmap_iterate): Take low memory into account
10248
b1969b30
VS
102492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10252 badfs.
10253 Reported by: TiCPU.
10254
cf0eaf13
VS
102552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10258 members errors.
10259
1f060f39
GS
102602011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10261
10262 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10263 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10264
a21e5672
GS
102652011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10266
10267 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10268 openbsd and netbsd types being in part_bsd module.
10269
c88172fa
VS
102702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10273 (_FILE_OFFSET_BITS): Likewise.
10274 Reported by: Seth Goldberg.
10275
53798c4b
GS
102762011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10277
10278 * configure.ac: Check for libdevmapper header.
10279
e7121b69
VS
102802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10283 avoid aliasing.
10284 (fzap_lookup): Likewise.
10285 (dnode_get): Likewise.
10286 (make_mdn): Likewise.
10287 (zfs_mount): Likewise.
10288 (fzap_iterate): Use temporary pointer to avoid aliasing.
10289 (grub_zfs_read): Likewise.
10290 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10291 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10292 pointers to avoid aliasing.
10293 (grub_cmd_xnu_kernel64): Likewise.
10294 (grub_xnu_load_driver): Likewise.
10295
fc836af9
VS
102962011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10299 aliasing warning.
10300 (grub_cmd_terminal_output): Likewise.
10301 Reported and tested by: Grégoire Sutre.
10302
f9f37648
VS
103032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10306 warning.
10307 Reported and tested by: Grégoire Sutre.
10308
ec1dfd63
VS
103092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * configure.ac: Do CPU substitution even if it's specified explicitly.
10312 Reported and tested by: Alain Greppin.
10313
9462775a
VS
103142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10317 Reported and tested by: Alain Greppin.
10318
0fd48e35
VS
103192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 Satisfy some bison versions need for inttypes.h.
10322
10323 * grub-core/lib/posix_wrap/inttypes.h: New file.
10324 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10325 (int16_t): Likewise.
10326 (int32_t): Likewise.
10327 (int64_t): Likewise.
10328 Reported and tested by: Alain Greppin.
10329
43f1bc83
VS
103302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10333 Silence spurious warning.
10334 Reported and tested by: Alain Greppin.
10335
64d1f041
SJ
103362011-01-07 Szymon Janc <szymon@janc.net.pl>
10337
10338 * docs/grub.texi (Support automatic decompression): Update with xz
10339 decompression support.
10340
25953e10
SJ
103412011-01-07 Szymon Janc <szymon@janc.net.pl>
10342
10343 Improve loaders' kernel command line handling.
10344
10345 * grub-core/lib/cmdline.c: New file.
10346 * include/grub/lib/cmdline.h: Likewise.
10347 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10348 grub_create_loader_cmdline to create kernel command line.
10349 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10350 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10351 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10352 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10353 (linux): Add lib/cmdline.c on common.
10354
e72d259f
VS
103552011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10358 inopos might be unaligned.
10359
c0cf26da
VS
103602011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10363 endian transformations.
10364 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10365 Based on report by: Doug Nazar.
10366
0ca09e6c
DN
103672011-01-07 Doug Nazar <nazard.michi@gmail.com>
10368
10369 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10370 array->members[i].start_sector.
10371 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10372
014b6806
VS
103732011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10376 Reported and tested by: Grégoire Sutre.
10377
415502c2
CW
103782011-01-06 Colin Watson <cjwatson@ubuntu.com>
10379
10380 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10381 avoid causing test failures by clearing the screen.
10382
71b6a2b7
CW
103832011-01-06 Colin Watson <cjwatson@ubuntu.com>
10384
10385 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10386 Fix prefix check to handle the case where dir ends with a slash
10387 (most significantly, "/" itself).
10388 Reported by: Michael Vogt.
10389
b3f8d28a
VS
103902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 Run terminfo_cls on initing terminfo output to clear the screen and
10393 move the cursor to (0,0).
10394
10395 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10396 Call grub_terminfo_output_init.
10397 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10398 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10399 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10400
4c3e4f37
VS
104012011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10404 only when needed.
10405
488f71f1
VS
104062011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10409 CTRL.
10410
18a38098
VS
104112011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 The E820 type 5 is BADRAM, not EXEC_CODE.
10414
10415 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10416 (GRUB_E820_BADRAM): New define.
10417 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10418 into reserved. Propagate BADRAM.
10419 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10420 (GRUB_E820_BADRAM): New define.
10421
9eae2084
VS
104222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10425 Ignore the memory post-4G.
10426 (grub_relocator_firmware_alloc_region): Additional debug statement.
10427
ebc71d28
VS
104282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10431 names.
10432 Reported by: David Pravec.
10433
446fa400
VS
104342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10437 BIOSes.
10438
a0159f37
VS
104392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10442 Prevent overflow.
10443 (grub_reed_solomon_recover): Likewise.
10444
e5146ca1
VS
104452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10448
104492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10450
10451 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10452 variable.
10453
5b1bdf12
CW
104542011-01-04 Colin Watson <cjwatson@ubuntu.com>
10455
10456 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10457 descriptions of extract_legacy_entries_source and
10458 extract_legacy_entries_configfile.
10459 Reported by: Seung Soo, Ha.
10460
99d925aa
CW
104612011-01-03 Colin Watson <cjwatson@ubuntu.com>
10462
10463 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10464 on devices that do not implement function 0.
10465
4af0504b
DV
104662011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10467
10468 * grub-core/fs/hfsplus.c: Make parent unsigned.
10469 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10470 overflows.
10471 (grub_hfsplus_cmp_extkey): Likewise
10472
469ee10a
VS
104732011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * util/grub-install.in: Correctly use bootloader_id and not
10476 GRUB_DISTRIBUTOR on efibootmgr line.
10477
323a8e9c
VS
104782011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10481
1b394975
IC
104822010-12-31 Ian Campbell <ijc@hellion.org.uk>
10483
10484 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10485 Xen and reorder menu item wording to make it clearer that this entry
10486 will launch Xen. Print separate messages when loading Xen and
10487 Linux.
10488
275bff5f
VS
104892010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10492 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10493 loop in case of incorrect amiga partmap.
10494
307806cb
VS
104952010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10498 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10499 Reported by:EHeM.
10500
b12b923e
VS
105012010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10504 spurious warning.
10505 Reported by: crocket
10506
14b48a19
VS
105072010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10510 Preload EFIemu.
10511 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10512
693db2df
VS
105132010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10516 is loaded
10517 (grub_cmd_xnu_kextdir): Likewise.
10518 (grub_cmd_xnu_splash): Likewise.
10519
c7638645
VS
105202010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 Avoid using Reed-Solomon with 0 redundancy.
10523
10524 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10525 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10526 or 0 redundancy.
10527 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10528 (grub_reed_solomon_recover): Likewise.
10529
25dd4780
VS
105302010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 Don't use disk subsystem in freebsd_boot.
10533
10534 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10535 (freebsd_biosdev): Likewise.
10536 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10537 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10538
0b2db943
VS
105392010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 Handling of files of unknown size is currently limited. They can't be
10542 used e.g. for initrd or modules. Moreover gzip handling of not
10543 easily seekable files is buggy. Disable unknown file size for now. May
10544 be inefficient but works.
10545
10546 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10547 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10548
5c408d0f
MP
105492010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10550
10551 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10552 floppy probe.
10553
190a011a
JD
105542010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10555
10556 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10557
022d01b8
SL
105582010-12-25 Shea Levy <shlevy>
10559
10560 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10561
c4855fdc
VS
105622010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10565 Windows Server 2008.
10566 Reported by: Devin Giddings.
10567
0354b867
VS
105682010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10571 writing an error message because of async power management.
10572 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10573 (grub_reboot): Likewise.
10574
ab66c69f
JU
105752010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10576
10577 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10578 keep unit tests from failing when they shouldn't.
10579
1426ef35
CW
105802010-12-21 Colin Watson <cjwatson@ubuntu.com>
10581
10582 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10583 previous patch increased the size of the RS code by 20 bytes (at
10584 least with gcc-4.4), so increase this by 20 bytes to match.
10585 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10586
20641b6b
CW
105872010-12-21 Colin Watson <cjwatson@ubuntu.com>
10588
10589 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10590 scratch area. Make sure to initialise chosen in standalone mode as
10591 well as non-standalone.
10592 Reported by: Robert Hooker and Andy Whitcroft.
10593 Tested by: Andy Whitcroft.
10594
d060ad60
CW
105952010-12-21 Colin Watson <cjwatson@ubuntu.com>
10596
10597 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10598 constructing a new unescaped string and passing it to grub_xputs in
10599 one go, rather than passing characters to grub_printf one at a time.
10600
b889cfad
CW
106012010-12-21 Colin Watson <cjwatson@ubuntu.com>
10602
10603 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10604 initialising utf16.
10605
4e01b6c8
CW
106062010-12-21 Colin Watson <cjwatson@ubuntu.com>
10607
10608 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10609 comment. Add an extra layer of quotation, requiring the output of
10610 this function to be used in a printf format string.
10611 (gettext_printf): New function.
10612 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10613 Extract translatable strings from here-documents and use a temporary
10614 variable instead, so that xgettext can find them.
10615 * util/grub.d/10_kfreebsd.in: Likewise.
10616 * util/grub.d/10_linux.in: Likewise.
10617 * util/grub.d/20_linux_xen.in: Likewise.
10618
10619 * po/grub.d.sed: New file.
10620 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10621 arguments. Set c-format flags on all strings extracted from
10622 util/grub.d/ (xgettext refuses to include these itself for strings
10623 it extracted from a shell file, but these really are c-format).
10624
5318fe98
VS
106252010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10628 Avoid next pointing to nowhere.
10629
6c85b743
VS
106302010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10633 rather than assuming than rootblock is exactly in the middle.
10634 (grub_affs_label): Likewise.
10635
a2a08a35
VS
106362010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10639 reserved_first_sector to 0.
10640 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10641 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10642 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10643
7059d1ec
VS
106442010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 Fix handling of UTF-16 UDF labels.
10647
10648 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10649 (read_string): .. here.
10650 (grub_udf_label): Use read_string.
10651
30aff4cb
BC
106522010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10653
10654 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10655 editor under argument scope.
10656 Reported by: Jordan Uggla
10657
5cf86f4b
VS
106582010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10661
32570200
CW
106622010-12-18 Colin Watson <cjwatson@ubuntu.com>
10663
10664 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10665 line, and other keys scroll an entire page (previous handling was
10666 for \r and \n to scroll a page and other keys to scroll two lines).
10667
e1dffcf2
VS
106682010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10671 Set ptrdest to correct get_physical_target_address rather than
10672 incorrect get_virtual_current_address.
10673
b04298cf 106742010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10675
10676 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10677 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10678
5367ecd3
CW
106792010-12-10 Colin Watson <cjwatson@ubuntu.com>
10680
10681 * .bzrignore: Ignore grub-core/rs_decoder.S.
10682
1fb430f8
CW
106832010-12-10 Colin Watson <cjwatson@ubuntu.com>
10684
10685 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10686 .mo/.mo.gz opening sequence to ...
10687 (grub_mofile_open_lang): ... here.
10688 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10689 * util/grub.d/00_header.in (grub_lang): Include country part of
10690 locale.
10691 Reported by: Mario Limonciello.
10692
a94a6671
RM
106932010-12-09 Robert Millan <rmh@gnu.org>
10694
10695 * NEWS: Document addition of ZFS support.
10696
24b7938b
CW
106972010-12-04 Colin Watson <cjwatson@ubuntu.com>
10698
10699 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10700 rather than `/ 2', as the latter requires -Wa,--divide which would
10701 require bumping our minimum binutils version.
10702
bddc3ef6
BC
107032010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10704
10705 * util/grub-script-check.c (main): Print script line number on
10706 error.
10707
bf78d5b2
RM
107082010-12-01 Robert Millan <rmh@gnu.org>
10709
10710 * grub-core/fs/zfs/zfs.c: New file.
10711 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10712 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10713 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10714 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10715
10716 * include/grub/zfs/dmu.h: Likewise.
10717 * include/grub/zfs/dmu_objset.h: Likewise.
10718 * include/grub/zfs/dnode.h: Likewise.
10719 * include/grub/zfs/dsl_dataset.h: Likewise.
10720 * include/grub/zfs/dsl_dir.h: Likewise.
10721 * include/grub/zfs/sa_impl.h: Likewise.
10722 * include/grub/zfs/spa.h: Likewise.
10723 * include/grub/zfs/uberblock_impl.h: Likewise.
10724 * include/grub/zfs/vdev_impl.h: Likewise.
10725 * include/grub/zfs/zap_impl.h: Likewise.
10726 * include/grub/zfs/zap_leaf.h: Likewise.
10727 * include/grub/zfs/zfs.h: Likewise.
10728 * include/grub/zfs/zfs_acl.h: Likewise.
10729 * include/grub/zfs/zfs_znode.h: Likewise.
10730 * include/grub/zfs/zil.h: Likewise.
10731 * include/grub/zfs/zio.h: Likewise.
10732 * include/grub/zfs/zio_checksum.h: Likewise.
10733
10734 * Makefile.util.def: Build ZFS into libgrubmods.
10735 * grub-core/Makefile.core.def: Build zfs.mod.
10736
3f0f3831
SJ
107372010-11-30 Szymon Janc <szymon@janc.net.pl>
10738
10739 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10740 variable.
10741 * grub-core/commands/wildcard.c (match_files): Likewise.
10742
3a4253b2
RM
107432010-11-30 Robert Millan <rmh@gnu.org>
10744
10745 * grub-core/loader/i386/bsd.c
10746 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10747 whether kernel is loaded using grub_loader_is_loaded(), rather
10748 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10749 certain error conditions.
10750
8c317b27
RM
107512010-11-30 Robert Millan <rmh@gnu.org>
10752
c5c9cd3e
RM
10753 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10754 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10755
49d3ab46
VS
107562010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 Avoid using tricks for initialising endian variables.
10759
10760 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10761 Make const.
10762 (GRUB_MOD_INIT): Don't byte-swap.
10763 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10764 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10765 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10766 (grub_swap_bytes32_compile_time): Likewise.
10767 (grub_cpu_to_le32_compile_time): Likewise.
10768 (grub_cpu_to_le16_compile_time): Likewise.
10769
f420a804
VS
107702010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * util/grub-setup.c (setup): Stop recommending --force. People who
10773 understand the dangers of blocklists are able to find this option
10774 anyway and the ones who don't shouldn't use it anyway.
10775
4e7db17b
RM
107762010-11-26 Robert Millan <rmh@gnu.org>
10777
10778 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10779 Update all users.
10780
9be57a0d
CW
107812010-11-26 Colin Watson <cjwatson@ubuntu.com>
10782
10783 Fix LVM-on-RAID probing.
10784
10785 * util/grub-probe.c (probe): Remember which disk was detected as
10786 RAID (perhaps an LVM physical volume). Use that disk's raidname
10787 rather than that of the top-level disk.
10788
2c7859b3 107892010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10790
d7647bb6
BC
10791 Fix cmdline argument quotes for setparams command of menuentry
10792 definitions.
7e623b0d
BC
10793
10794 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10795 quotes for arguments.
f866fe80 10796 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10797 grub_strchrsub function instead.
f866fe80 10798
7955bea0 10799 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10800
74f72a64
CW
108012010-11-24 Colin Watson <cjwatson@ubuntu.com>
10802
10803 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10804 effort by skipping "." and ".." entries up-front.
10805 Suggested by: Michael Lazarev.
10806
5a407278
CW
108072010-11-24 Colin Watson <cjwatson@ubuntu.com>
10808
10809 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10810 ldflags to ldadd, to fix link line ordering.
10811 (none_decompress): Likewise.
10812
3030d8ec
CW
108132010-11-24 Colin Watson <cjwatson@ubuntu.com>
10814
10815 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10816 platforms.
10817 (grub-emu-lite): Remove kern/emu/cache.S.
10818
b7fbac12
CW
108192010-11-23 Colin Watson <cjwatson@ubuntu.com>
10820
10821 * util/deviceiter.c (compare_devices): If the by-id link for a
10822 device couldn't be resolved, fall back to sorting by the by-id link
10823 rather than segfaulting.
10824 Reported and tested by: Daniel Mierswa.
10825
5225f328
CW
108262010-11-23 Colin Watson <cjwatson@ubuntu.com>
10827
10828 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10829 ldflags, to fix link line ordering.
10830
038b3ce8
CW
108312010-11-23 Colin Watson <cjwatson@ubuntu.com>
10832
10833 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10834 linkers are picky about this.
10835
bf16e98e
CW
108362010-11-23 Colin Watson <cjwatson@ubuntu.com>
10837
10838 * grub-core/Makefile.am (command.lst): Adjust sed expression
10839 ordering so that extended and priority commands aren't treated as
10840 ordinary commands.
10841
7242bab6
CW
108422010-11-23 Colin Watson <cjwatson@ubuntu.com>
10843
10844 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10845 Remove byte-swapping function calls, which are not valid in
10846 structure initialisers.
10847 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10848 non-const.
10849 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10850 grub_gpt_partition_type_bios_boot.
10851
14e8b279
CW
108522010-11-22 Colin Watson <cjwatson@ubuntu.com>
10853
10854 Fix test program build on GNU/kFreeBSD.
10855
10856 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10857 $(LIBNVPAIR)' library dependencies.
10858
e6f63338 108592010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10860
10861 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10862
cf8ffc38
CW
108632010-11-22 Colin Watson <cjwatson@ubuntu.com>
10864
10865 * util/grub-install.in: Remove excessive quoting that broke
10866 installations to RAID devices.
10867
7f8b0fd7
VS
108682010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10871 bootloader version instead of 0.
10872
dfd240b1
VS
108732010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10876 warning.
10877
7b61e609
VS
108782010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10881 retrieve the metadat sector if size isn't known.
10882 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10883
9dfe92d0
RM
108842010-11-18 Robert Millan <rmh@gnu.org>
10885
10886 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10887 with grub_memcmp().
10888
41cc919e
VS
108892010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10892 arrow.
10893 Reported by: Jordan Uggla.
10894
1afcc914
VS
108952010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 Make better UTF compliant.
10898
10899 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10900 sequences as incorrect.
10901 (grub_is_valid_utf8): Likewise.
10902 (grub_utf8_to_ucs4): Likewise.
10903 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10904 (grub_ucs4_to_utf8_alloc): Likewise.
10905 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10906
f1808884
VS
109072010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 Make legacy_source behave like source.
10910
10911 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10912 grub_show_menu.
10913 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10914
24ec575b
CW
109152010-11-16 Colin Watson <cjwatson@debian.org>
10916
10917 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10918 (-Wunused implies -Wunused-parameter, but not vice versa).
10919
72b7c7aa
CW
109202010-11-16 Colin Watson <cjwatson@ubuntu.com>
10921
10922 * configure.ac: Make error messages less confusing by testing for
10923 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10924 accepted, but produces a diagnostic if something else is wrong).
10925
e98937aa
VS
109262010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10929 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10930 (now unused).
10931 (grub_keyboard_controller_init)
10932 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10933 read the initial state since controller isn't inited yet.
10934
f6bbabc3
VS
109352010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10938 allocate_regbeg may need to create new chunk header.
10939
22e7dbb2
VS
109402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 Fix quoting in legacy parser.
10943
10944 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10945 single quotes.
10946 (grub_legacy_parse): Likewise.
10947 Reported by: Jordan Uggla.
10948 Tested by: Jordan Uggla.
10949
03f80960
VS
109502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 Don't add -lgcc on i386 and x86_64.
10953
10954 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10955 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10956 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10957
779dc15b
VS
109582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 * configure.ac: Add -Wno-trampolines when supported.
10961
d20a3b37
MV
109622010-11-14 Modestas Vainius <modax@debian.org>
10963
10964 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10965 fakeraid.
10966
e5360933
GC
109672010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10968
10969 Add generic logical block size support for UDF.
10970
10971 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10972 (GRUB_UDF_BLKSZ): Removed.
10973 (struct grub_udf_data): New field "lbshift" to hold the logical block
10974 size of the file system in log2 format. All users updated.
10975 (sblocklist): Change type to unsigned.
10976 (grub_udf_mount): Change type of "sblklist" to unsigned.
10977 Move AVDP search before VRS recognition, because the latter requires
10978 knowledge of the logical block size, which is detected during the
10979 former.
10980 Detect and validate logical block size during AVDP search, adding
10981 support for block sizes 512, 1024 and 4096.
10982 Make VRS recognition independent of block size.
10983
cb0229c5
GC
109842010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10985
10986 Properly handle deleted files on UDF.
10987
10988 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10989 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10990 set.
10991
406858a8
GC
109922010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10993
10994 Support reading files larger than 2 GiB.
10995
10996 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10997 "offset" to grub_off_t.
10998 (grub_udf_read_file): Likewise for parameter "pos".
10999
130da6a7
VS
110002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11003 unavailable.
11004 (Simple configuration): Refer to Changes from GRUB Legacy about
11005 save_env availability.
11006
65e93f6b
VS
110072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * util/grub-install.in: Ignore empty partition table detection
11010 instead of trying to include part_ module.
11011
1fd08bf1
VS
110122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11015 LVM on RAID support.
11016
de1a024f
VS
110172010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 Properly define WORDS_BIGENDIAN in wrapped environments.
11020
11021 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11022 definition.
11023 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11024
11025 Reported by: Manoel Rebelo Abranches.
11026 Tested by: Manoel Rebelo Abranches.
11027
bc5dd0b9
VS
110282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * util/grub-mkconfig.in: Fix quoting.
11031
58c184be
VS
110322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 Support big ext2 files.
11035
11036 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11037 (grub_ext2_read_block): Support triple indirect blocks.
11038 (grub_ext2_read_file): Use 64-bit types and read size_high.
11039 (grub_ext2_open): Read size_high.
11040 Reported by: Ximin Luo.
11041 Tested by: Manoel Rebelo Abranches.
11042
5f0c02b3
VS
110432010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 * util/grub-install.in: Handle filenames containing spaces.
11046 Reported by: Jordan Uggla.
11047 Tested by: Jordan Uggla.
11048
4417aae6
VS
110492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * util/grub-mkconfig.in (grub_script_check): New variable.
11052 Use grub_script_check instead of grub-script-check.
11053 Reported by: Barry Jackson.
11054
7625a68e
VS
110552010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 * docs/grub.texi (menu): Correct the order.
11058 Reported by: D. Hugh Redelmeier.
11059
10001ac5
VS
110602010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11063 jump.
11064
9c4cf53b
MRA
110652010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11066
10001ac5
VS
11067 * include/grub/elfload.h (grub_elf32_size): New parameter.
11068 All users updated.
9c4cf53b
MRA
11069 Return maximum segments alignment.
11070 (grub_elf64_size): Likewise.
11071 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11072 Return maximum segments alignment.
11073 (grub_elf64_size): Likewise.
11074 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11075 (grub_linux_claimmap_iterate): New function. Uses the
11076 "available" property in the "memory" node for memory allocation
11077 for kernel in the PowerPC loader.
9c4cf53b
MRA
11078 (grub_linux_load32): Correctly find linux entry point offset.
11079 (grub_linux_load64): Likewise.
11080
d2bf06bf
RM
110812010-11-07 Robert Millan <rmh@gnu.org>
11082
11083 On mips-yeeloong, build with -march=loongson2f when this flag is
11084 available (GCC >= 4.4).
11085 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11086 `-march=mips3'.
11087 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11088 or otherwise add -march=mips3.
11089
898c99a2
BC
110902010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11091
87220a68
BC
11092 Suppress shell expansion on echo '*' and echo "*" like cases.
11093 Reported by: Jordan Uggla.
898c99a2
BC
11094
11095 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11096 string arguments before shell expansion.
11097 * tests/grub_cmd_echo.in: New testcases.
11098
4f9b406a
RM
110992010-11-07 Robert Millan <rmh@gnu.org>
11100
11101 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11102 transition.
11103
80c6d25e
VS
111042010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * grub-core/kern/emu/hostdisk.c
11107 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11108
4a1a0153
VS
111092010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11112 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11113 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11114
34706ddc
VS
111152010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11118
6972dea9
VS
111192010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * util/grub-install.in: Replace useless recomendation to pass
11122 --modules with a recomendation to report a bug.
11123
9c693bd6
VS
111242010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 Properly register serial terminfo.
11127 Reported by: Jordan Uggla
11128
11129 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11130 const.
11131 (grub_serial_terminfo_output_template): Likewise.
11132 (grub_cmd_serial): Register "serial" with terminfo.
11133 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11134 grub_serial_terminfo_output.
11135
6c9e4c0c
RM
111362010-11-05 Robert Millan <rmh@gnu.org>
11137
11138 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11139 needed).
11140
b9b3839f
RM
111412010-11-05 Robert Millan <rmh@gnu.org>
11142
11143 On Yeeloong, pass machine type information to Linux.
11144
11145 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11146 (LOONGSON_MACHTYPE): New macro, set to
11147 "machtype=lemote-yeeloong-2f-8.9inches".
11148 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11149 additional argument to Linux.
11150
1a3aaff4
RM
111512010-11-04 Robert Millan <rmh@gnu.org>
11152
11153 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11154 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11155 (its SATA disks are detected as slaveless IDE master drives on
11156 kFreeBSD).
11157 Reported by Carsten Aulbert.
11158
a75f4f62
CW
111592010-11-02 Colin Watson <cjwatson@ubuntu.com>
11160
11161 * util/bin2h.c (main): Fix spelling error in generated output.
11162
33b4b0c6
GS
111632010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11164
11165 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11166
2b36fbf4
VS
111672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11170 vga= option is supplied.
11171
74aaf558
VS
111722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11175 * util/grub.d/10_kfreebsd.in: Likewise.
11176 * util/grub.d/10_linux.in: Likewise.
11177 * util/grub.d/20_linux_xen.in: Likewise.
11178
6428dec3
VS
111792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11182 argument as an argument to no-argument option.
11183
f8729d98
VS
111842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * util/grub.d/10_linux.in: Add missing load_video with explicit
11187 GRUB_GFXPAYLOAD_LINUX.
11188
89d68fa6
VS
111892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11192
3a1197cd
VS
111932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11196 elements with invlid index.
11197 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11198 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11199 members.
11200 * include/grub/raid.h (grub_raid_member): New struct.
11201 (grub_raid_array): Transform devices and start_sector into usage of
11202 grub_raid_member. All users updated
11203 (allocated_devs): New member.
11204
71574288
VS
112052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11208 is modified
11209
8d40ec65
BC
112102010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11211
11212 NetBSD build fix for getline function conflict from gnulib.
11213
11214 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11215 components that depend on gnulib headers.
11216 (libgrubmods.a): Renamed from earlier libgrub.a.
11217 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11218
95b9257e
VS
112192010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11222 install rather than creating a broken install.
11223
26c53dc6
VS
112242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * util/grub-setup.c (argp): Remove misleading example of installing to
11227 a partition.
11228
4171b3c5
VS
112292010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * util/grub-setup.c (setup): Clarify the error message.
11232
18568d18
VS
112332010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11236
4f6a2e21
VS
112372010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * grub-core/kern/emu/misc.c
11240 (grub_make_system_path_relative_to_its_root)
11241 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11242
112432010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11244
11245 * grub-core/kern/emu/misc.c
11246 (grub_make_system_path_relative_to_its_root): Revert r2882.
11247
e138c458
VS
112482010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11251 useless field head. All users updated.
11252 (free_subchunk): Correct handling of IN_REGION subchunk.
11253
0cbcdf0e
CW
112542010-10-22 Colin Watson <cjwatson@ubuntu.com>
11255
11256 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11257 (Supported kernels): Likewise.
11258
b65ea155
GS
112592010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11260
11261 Make mktemp invocations portable.
11262
11263 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11264 exit if mktemp fails.
11265 * tests/grub_script_blockarg.in: Likewise.
11266 * tests/partmap_test.in: Likewise.
11267 * tests/util/grub-shell-tester.in: Likewise.
11268 * tests/util/grub-shell.in: Likewise.
11269 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11270 * Makefile.am: Likewise, and chain shell commands with `&&'
11271 instead of ';'.
11272 * util/grub-mkrescue.in: Use the same explicit template as above, and
11273 exit if mktemp fails.
11274
05f43cdd
BC
112752010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11276
11277 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11278 Linux kernel, reported by Dennis Schridde.
11279
800e6a9b
SJ
112802010-10-17 Szymon Janc <szymon@janc.net.pl>
11281
11282 * grub-core/normal/auth.c (grub_auth_check_authentication):
11283 Set-but-not-used variable removed.
11284
d82df574
VS
112852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11288 32-bit linux protocol.
11289
7bced458
VS
112902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11293 cursor shape for sanity.
11294
5b027690
VS
112952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * docs/grub.texi (Installation): Document buggy BIOS install.
11298
ba5f65cf
VS
112992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * docs/grub.texi (Installation): Indent.
11302
fdf2ec9c
VS
113032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * util/grub-setup.c (setup): New parameter allow_floppy.
11306 (arguments): New member allow_floppy.
11307 (argp_parser): Handle --allow-floppy.
11308 (main): Pass allow_floppy.
11309 * util/grub-install.in: New option --allow-floppy passed though to
11310 grub-setup.
11311
861dfd4c
VS
113122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * util/grub-install.in: Handle partitionless disks.
11315
f77a8c24
VS
113162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * util/grub-setup.c (setup): Don't clean blocklists before readability
11319 verfification.
11320
27d9ee32
VS
113212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 * docs/grub.texi (Installation): Document embedding zone. Remove
11324 obsolete grub-install example.
11325
6bdda8f8
SJ
113262010-10-16 Szymon Janc <szymon@janc.net.pl>
11327
11328 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11329 Set-but-not-used variable ifdef'ed.
11330 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11331 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11332 variable removed.
11333 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11334 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11335 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11336 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11337 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11338 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11339 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11340 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11341 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11342 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11343 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11344 Likewise.
11345
e19b016b
VS
113462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11349 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11350 enum value.
11351
6c8d3002
VS
113522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11355 synonym to _S5_. Needed for some DSDTs.
11356
c32b51c9
VS
113572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 Userspace ACPI parser debugging.
11360
11361 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11362 headers and add relevant defines. Don't include standard headers.
11363 (main) [GRUB_DSDT_TEST]: New function.
11364 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11365 Don't declare functions.
11366
fbfbeb39
VS
113672010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 Remove dead grub_efi_mm_fini.
11370
11371 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11372 (ALLOCATED_PAGES_SIZE): Likewise.
11373 (MAX_ALLOCATED_PAGES): Likewise.
11374 (allocated_pages): Likewise.
11375 (grub_efi_allocate_pages): Don't record allocated pages.
11376 (grub_efi_free_pages): Likewise.
11377 (grub_efi_mm_init): Likewise.
11378 (grub_efi_mm_fini): Removed.
11379
65f7ed7c
VS
113802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11383 (grub_efi_mm_init): Take into account the memory map size increase.
11384
24977b44
VS
113852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11388 (serial_hw_put): Wait based on real time rather than port reads. Don't
11389 roken ports.
11390 * include/grub/serial.h (grub_serial_port): New field broken.
11391
1eb01cd2
RM
113922010-10-16 Robert Millan <rmh@gnu.org>
11393
11394 * grub-core/kern/emu/misc.c
11395 (grub_make_system_path_relative_to_its_root): Fix premature return
11396 when processing non-root ZFS filesystems.
5f8b440b 11397 Reported by Sergio Talens-Oliag.
1eb01cd2 11398
2d5fed60
RM
113992010-10-15 Robert Millan <rmh@gnu.org>
11400
11401 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11402 guarantee compressed ones are processed first.
11403
d0f4c1ea
VS
114042010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11407 grub_efiemu_autocore.
11408
d87c681f
VS
114092010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11412 rather than 0x1b.
11413 (grub_console_getkey): Use correct jae opcode rather than ja.
11414
219b3564
RM
114152010-10-12 Robert Millan <rmh@gnu.org>
11416
11417 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11418 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11419 variable. All references updated.
11420
11421 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11422
20c6bb7e
VS
114232010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Correctly distinguish mdraid flavours.
11426
11427 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11428 (insert_array): New argument raid.
11429 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11430 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11431 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11432
74baff84
VS
114332010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11436 handling of special keys.
11437
3ef068df 114382010-10-02 Aleš Nesrsta <starous@volny.cz>
11439
c7980ad9
VS
11440 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11441 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11442
a9455194 114432010-10-02 Aleš Nesrsta <starous@volny.cz>
11444
c7980ad9
VS
11445 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11446 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11447 users updated.
a9455194 11448 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11449 Use right endpoint when querying descriptor.
a9455194 11450
441cfe65
VS
114512010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 Clear out 0x80 color bit on EFI.
11454 Tested by: decoder
11455 Reported by: decoder and meta tech.
11456
11457 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11458 (grub_console_setcolorstate): Clear out 0x80 bit.
11459 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11460 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11461 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11462
bf26bcc4
VS
114632010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11466 Set to "auto".
11467
6e3c515d
VS
114682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11471 mo_file after freeing.
11472
e6d983ba
VS
114732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11476
74ccb5b5
VS
114772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11480 flags.
11481
17821956
VS
114822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11485 usage.
11486
ee74fa48
VS
114872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11490
11491 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11492 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11493 and terminfo.h when needed.
11494 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11495 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11496 (terminfo): Enable only on terminfokernel.
11497 (extcmd): Likewise.
11498 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11499 * include/grub/lib/arg.h: Likewise.
11500 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11501 incorrect usage of ->.
11502
aa438e68
VS
115032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11506 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11507
57994012
VS
115082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 Fix coreboot compilation.
11511
11512 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11513 Take VBE info into account even if only text is supported.
11514 (fill_vbe_info): Take into account the case when only VGA text
11515 is supported.
11516 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11517 on coreboot, multiboot and qemu.
11518
2a406611
VS
115192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11522 debug messages.
11523 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11524
d33613fc
VS
115252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11528 parameters.
11529
44a1b432
VS
115302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11533 if they were BSD-style.
11534
edde54e6
VS
115352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * grub-core/boot/i386/pc/lnxboot.S: Replace
11538 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11539 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11540
b65830fa
VS
115412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 Write embedding zone using Reed-Solomon.
11544
11545 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11546 * grub-core/Makefile.am (rs_decoder.S): New target.
11547 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11548 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11549 (multiboot): Move to RS part.
11550 (post_reed_solomon): New label.
11551 (grub_boot_drive): Move to non-RS part since it's modified in memory
11552 on boot.
11553 Include rs_decoder.S.
11554 * grub-core/lib/reed_solomon.c: New file.
11555 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11556 New definition.
11557 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11558 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11559 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11560 * include/grub/partition.h (grub_partition_map): Change prototype of
11561 embed to allow returning additional sectors.
11562 * include/grub/reed_solomon.h: New file.
11563 * util/grub-setup.c (setup): Handle Reed-Solomon.
11564
0b4b227f
CW
115652010-09-28 Colin Watson <cjwatson@ubuntu.com>
11566
11567 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11568 i386 and x86-64 definedness tests.
11569
f772623b
YB
115702010-09-27 Yves Blusseau <blusseau@zetam.org>
11571
11572 Fix generation of kernel_syms.lst
11573
11574 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11575 ASM_PREFIX
11576
8e57a6ca
RM
115772010-09-26 Robert Millan <rmh@gnu.org>
11578
11579 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11580
11581 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11582 the pool is an array of devices, iterate through it and return the
11583 first device that passes a stat() test (instead of blindly returning
11584 the first one).
11585
f9130836
RM
115862010-09-26 Robert Millan <rmh@gnu.org>
11587
11588 Build fixes for GNU/kFreeBSD.
11589
11590 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11591 to programs that require ZFS conversion.
11592 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11593 kernels that don't have FLOPPY_MAJOR.
11594
96510faf
BC
115952010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11596
11597 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11598
449333eb
BC
115992010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11600
11601 Fix grub-emu build.
11602
11603 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11604 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11605 mdraid09 and mdraid1x.
11606
e1fd1939
CW
116072010-09-24 Colin Watson <cjwatson@ubuntu.com>
11608
11609 Re-enable grub-extras.
11610
11611 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11612 avoid confusing Automake. Run autogen only twice, once for the top
11613 level and once for grub-core. Add Makefile.util.def and
11614 Makefile.core.def from extra modules to the appropriate autogen
11615 invocations. If Makefile.common exists in an extra module, include
11616 it in both Makefile.util.am and grub-core/Makefile.core.am;
11617 similarly, include any Makefile.util.common file in Makefile.util.am
11618 and any Makefile.core.common file in grub-core/Makefile.core.am.
11619 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11620 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11621 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11622 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11623
11624 * gentpl.py (gvar_add): Turn GVARS into a set.
11625 (global_variable_initializers): Sort global variables on output.
11626 (vars_init): New function.
11627 (first_time): Likewise.
11628 (library): Ensure that non-global variable initialisations are
11629 emitted before the first time we emit code for a library block.
11630 Append to variables rather than setting them. Only emit
11631 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11632 each conditional path.
11633 (program): installdir() emits an Autogen macro, so must be passed to
11634 var_add rather than gvar_add.
11635 (data): Likewise.
11636 (script): Likewise.
11637 (rules): New function, centralising handling for different target
11638 types. Set up Guile association lists for first_time and vars_init,
11639 and send most output to a diversion so that variable initialisations
11640 can be emitted first.
11641 (module_rules): Use new rules function.
11642 (kernel_rules): Likewise.
11643 (image_rules): Likewise.
11644 (library_rules): Likewise.
11645 (program_rules): Likewise.
11646 (script_rules): Likewise.
11647 (data_rules): Likewise.
11648
11649 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11650
11651 * .bzrignore: Add contrib and grub-core/contrib. Remove
11652 grub-core/Makefile.gcry.am.
11653
1d12cf29
YB
116542010-09-24 Yves Blusseau <blusseau@zetam.org>
11655
11656 * grub-core/lib/LzFind.c: Add missing include.
11657 * grub-core/lib/LzmaEnc.c: Likewise.
11658 * grub-core/script/lexer.c: Likewise.
11659 * grub-core/script/yylex.l: Likewise.
11660 * util/grub-macho2img.c: Likewise.
11661 * util/grub-menulst2cfg.c: Likewise.
11662 * util/grub-mklayout.c: Likewise.
11663 * util/grub-mkpasswd-pbkdf2.c
11664 * util/grub-mkrelpath.c: Likewise.
11665 * util/resolve.c: Likewise.
11666
dd363028
BC
116672010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11668
11669 * Makefile.util.def (example_unit_test): Add
11670 grub-core/gnulib/libgnu.a.
11671
f5a109e2
GS
116722010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11673
11674 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11675
6d0fa83c
VS
116762010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Support xz compression on yeeloong.
11679
11680 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11681 * configure.ac: Check for LZMA.
11682 * grub-core/Makefile.core.def (xz_decompress): New target.
11683 (none_decompress): Likewise.
11684 * grub-core/boot/decompressor/minilib.c: New file.
11685 * grub-core/boot/decompressor/none.c: Likewise.
11686 * grub-core/boot/decompressor/xz.c: Likewise.
11687 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11688 * grub-core/kern/mips/cache_flush.S: Likewise.
11689 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11690 * grub-core/kern/mips/startup.S: Move first stage to ...
11691 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11692 nomacro.
11693 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11694 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11695 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11696 Allocate statically.
11697 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11698 Allocate statically or use scratch. Don't check CRC32.
11699 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11700 Allocate statically. Don't check CRC32.
11701 * include/grub/decompressor.h: New file.
11702 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11703 Removed.
11704 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11705 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11706 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11707 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11708 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11709 * util/grub-mkimage.c (grub_compression_t): New type.
11710 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11711 (image_target_desc): New field default_compression.
11712 (image_targets): Adjust yeeloong targets.
11713 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11714 (compress_kernel): New parameter comp.
11715 (generate_image): Likewise. Handle new compression case.
11716 (options): New option --compression
11717 (help): Likewise.
11718 (main): Handle new option.
11719
1b655af6
GS
117202010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11721
11722 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11723
8f03f0b5
CW
117242010-09-22 Colin Watson <cjwatson@ubuntu.com>
11725
11726 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11727 typo in __i386__ conditional.
11728
7835dfd3
VS
117292010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11732 include.
11733
e255597e
VS
117342010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11735
6d0fa83c 11736 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11737
11738 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11739 new tags as supported.
11740 (acpiv2_size): New function.
11741 (grub_multiboot_get_mbi_size): Take new tags into account.
11742 (grub_multiboot_make_mbi): Add new tags.
11743 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11744
6cc14051 117452010-09-21 Aleš Nesrsta <starous@volny.cz>
11746
11747 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11748 Added missing configuration of USB device.
11749
df7769d8
CW
117502010-09-21 Colin Watson <cjwatson@ubuntu.com>
11751
11752 * grub-core/normal/menu_entry.c (run): Make sure we always return
11753 a value.
11754
b031012d
CW
117552010-09-21 Colin Watson <cjwatson@ubuntu.com>
11756
11757 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11758 NumberOfPages is UINT64 according to the UEFI specification, not
11759 UINTN. Fix printf format.
11760
174de8f3
CW
117612010-09-21 Colin Watson <cjwatson@ubuntu.com>
11762
11763 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11764 `err' to grub_usb_err_t.
11765 Reported and tested by: KESHAV P.R.
11766
d7dbe923
CW
117672010-09-21 Colin Watson <cjwatson@ubuntu.com>
11768
11769 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11770 tpart non-const, so that we can assign to it. (Since this is a
11771 typedef, the constness refers to the pointer rather than what it
11772 points to.)
11773
8d5e2af3
CW
117742010-09-21 Colin Watson <cjwatson@ubuntu.com>
11775
11776 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11777 $(top_srcdir)/grub-core/gnulib as well as
11778 $(top_builddir)/grub-core/gnulib.
11779 Reported by: KESHAV P.R.
11780
5c527783
CW
117812010-09-21 Colin Watson <cjwatson@ubuntu.com>
11782
11783 * util/grub-install.in: Fix the bootloader ID option to be
11784 consistently --bootloader-id, not --bootloader_id.
11785 Reported by: KESHAV P.R.
11786
d309a16e
CW
117872010-09-21 Colin Watson <cjwatson@ubuntu.com>
11788
11789 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11790 check hash checksum." consistently translatable.
11791
b830cd16
YB
117922010-09-21 Yves Blusseau <blusseau@zetam.org>
11793
11794 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11795 $(top_builddir).
11796
c4fe27a8
CW
117972010-09-21 Colin Watson <cjwatson@ubuntu.com>
11798
11799 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11800 (GRUB_MOD_INIT): Register sha1sum command.
11801 (GRUB_MOD_FINI): Unregister sha1sum command.
11802
a4c1d277
YB
118032010-09-21 Yves Blusseau <blusseau@zetam.org>
11804
11805 Keep boot and grub directory names in sync with utils scripts
11806
11807 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11808 * config.h.in: Add previous macros.
11809 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11810 * util/grub-install.in: Use $bootdir and $grubdir variables.
11811
4eff79d2
CW
118122010-09-21 Colin Watson <cjwatson@ubuntu.com>
11813
11814 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11815 convert partition names to disk names if the new `convert' parameter
11816 is set.
11817 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11818 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11819 disk in its own right. This can happen with Xen disk images.
11820
934d7e44
YB
118212010-09-21 Yves Blusseau <blusseau@zetam.org>
11822
11823 * util/grub-editenv.c: Update strings to avoid warnings when generating
11824 grub.pot file.
11825 * util/grub-setup.c: Likewise.
934d7e44 11826
df3367cc
VS
118272010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * configure.ac: Change version to 1.99~beta0.
11830
77a94e98
VS
118312010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11834 Add BADRAM.
11835 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11836 Likewise.
11837 * include/multiboot.h: Resynced with specification.
11838 * include/multiboot2.h: Likewise.
11839
269004c1
CW
118402010-09-21 Colin Watson <cjwatson@ubuntu.com>
11841
11842 Fix po directory handling.
11843
11844 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11845 * grub-core/gnulib/Makefile.am: Import gettext module.
11846 * m4/gnulib-cache.m4: Likewise.
11847 * m4/gnulib-comp.m4: Likewise.
11848 * m4/gettext.m4: New file, from gnulib.
11849 * m4/glibc2.m4: Likewise.
11850 * m4/iconv.m4: Likewise.
11851 * m4/intdiv0.m4: Likewise.
11852 * m4/intl.m4: Likewise.
11853 * m4/intldir.m4: Likewise.
11854 * m4/intlmacosx.m4: Likewise.
11855 * m4/intmax.m4: Likewise.
11856 * m4/inttypes-pri.m4: Likewise.
11857 * m4/lcmessage.m4: Likewise.
11858 * m4/lib-ld.m4: Likewise.
11859 * m4/lib-link.m4: Likewise.
11860 * m4/lib-prefix.m4: Likewise.
11861 * m4/lock.m4: Likewise.
11862 * m4/nls.m4: Likewise.
11863 * m4/po.m4: Likewise.
11864 * m4/printf-posix.m4: Likewise.
11865 * m4/progtest.m4: Likewise.
11866 * m4/threadlib.m4: Likewise.
11867 * m4/uintmax_t.m4: Likewise.
11868 * m4/visibility.m4: Likewise.
11869 * po/Makefile.am: Remove.
11870 * po/Makefile.in.in: New file, from gettext.
11871 ($(DOMAIN).pot-update): Support POTFILES-shell.
11872 * po/Makevars: New file.
11873 * po/POTFILES-shell: Rename to ...
11874 * po/POTFILES-shell.in: ... this. Update.
11875 * po/POTFILES: Rename to ...
11876 * po/POTFILES.in: ... this. Update.
11877 * po/Rules-quot: New file, from gettext.
11878 * po/boldquot.sed: Likewise.
11879 * po/en@boldquot.header: Likewise.
11880 * po/en@quot.header: Likewise.
11881 * po/insert-header.sin: Likewise.
11882 * po/quot.sed: Likewise.
11883 * po/remove-potcdate.sin: Likewise.
11884
3e0fa5d0
VS
118852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11888
ade9bd66
VS
118892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * util/grub.d/20_linux_xen.in: Use submenus.
11892
fc55cc4c
VS
118932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 Support submenus.
11896
11897 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11898 parameter submenu. All users updated.
11899 * grub-core/normal/main.c (free_menu): Rename to ...
11900 (grub_normal_free_menu): ... this. Made global.
11901 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11902 if requested.
11903 * grub-core/normal/menu_entry.c (screen): New field submenu.
11904 (make_screen): Set submenu.
11905 (run): Open new context if requested.
11906 * include/grub/menu.h (grub_menu_entry): New field submenu.
11907 * include/grub/normal.h (grub_normal_free_menu): New proto.
11908
600cedf7
VS
119092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 Menu entries extractor.
11912
11913 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11914 variants.
11915 (GRUB_MOD_INIT): Register new variants.
11916 (GRUB_MOD_FINI): Unregister new variants.
11917 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11918 into grub_cmd_legacy_source.
11919 (grub_cmd_legacy_source): Implement extractor variants.
11920 (GRUB_MOD_INIT): Register new variants.
11921 (GRUB_MOD_FINI): Unregister new variants.
11922 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11923 as an extractor.
11924 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11925 search as an extractor.
11926 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11927 test as an extractor.
11928 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11929 as an extractor.
11930 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11931 (grub_env_new_context): New function.
11932 (grub_env_context_open): Likewise.
11933 (grub_env_extractor_open): Likewise.
11934 (grub_env_extractor_close): Likewise.
11935 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11936 grub_extractor_level.
11937 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11938 * include/grub/env.h (grub_env_extractor_open): New proto.
11939 (grub_env_extractor_close): Likewise.
11940 * include/grub/normal.h (grub_extractor_level): New external variable.
11941
7bda3a87
VS
119422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 Make cutmem accept a region specification.
11945 Suggested by: Samuel Thibault
11946
11947 * grub-core/mmap/mmap.c (parsemem): New function.
11948 (grub_cmd_cutmem): Handle new arguments.
11949
2ea57f88
VS
119502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 New command cutmem.
11953
11954 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11955 (GRUB_MOD_INIT): Register new command.
11956 (GRUB_MOD_FINI): Unregister new command.
11957
74342e31
VS
119582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 Support some annoying BSD and Minix subpartitions.
11961
11962 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11963 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11964 Properly handle concatenation.
11965 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11966 * grub-core/normal/completion.c (iterate_partition): Likewise.
11967 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11968 contain partition. All users updated.
11969 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11970 struct.
11971 (grub_openbsdlabel_partition_map): Likewise.
11972 (bsdlabel_partition_map_iterate): Rename to ..
11973 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11974 (bsdlabel_partition_map_iterate): New function.
11975 (netopenbsdlabel_partition_map_iterate): Likewise.
11976 (netbsdlabel_partition_map_iterate): Likewise.
11977 (openbsdlabel_partition_map_iterate): Likewise.
11978 (GRUB_MOD_INIT): Register new partmaps.
11979 (GRUB_MOD_FINI): Unregister new partmaps.
11980 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11981 (grub_partition_msdos_iterate): ... this. All users updated.
11982 Don't support embedding other than in a minix partition.
11983 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11984 proto.
11985 * include/grub/partition.h (grub_partition): New field msdostype.
11986 * util/grub-install.in: Handle openbsd and netbsd types being in
11987 part_bsd module.
11988
1e8d555b
VS
119892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11992
11993 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11994 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11995 (mdraid09): ... this.
11996 (mdraid1x): New module.
11997 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11998 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11999
899d8af4
VS
120002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12003 vsprintf.
12004
40901acd
CW
120052010-09-20 Colin Watson <cjwatson@ubuntu.com>
12006
12007 * grub-core/commands/efi/lsefimmap.c: Correct header.
12008 * NEWS: Update.
12009
dfe3b247
CW
120102010-09-20 Colin Watson <cjwatson@ubuntu.com>
12011
12012 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12013 as printf format strings; the translations might contain '%' which
12014 could cause a crash.
12015 (main): Likewise.
12016 * util/grub-fstest.c (argp_parser): Likewise.
12017 * util/grub-setup.c (argp_parser): Likewise.
12018 (main): Likewise.
12019
3286a4b4
VS
120202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12021
12022 Use argp in grub-fstest.
12023
12024 * util/grub-fstest.c: Don't include getopt.h.
12025 Include argp.h.
12026 (root): New variable.
12027 (args_count): Likewise.
12028 (nparm): Likewise.
12029 (num_disks): Likewise.
12030 (images): Likewise.
12031 (cmd): Likewise.
12032 (debug_str): Likewise.
12033 (args): Likewise.
12034 (options): Transformed to argp.
12035 (usage): Removed.
12036 (main): Split argument parsing into ...
12037 (argp_parser): ... this. Changed to argp format.
12038 (argp): New variable.
12039 (main): Use argp_parse.
12040
3dccbe4b
TG
120412010-09-20 Tristan Gingold <gingold@free.fr>
120422010-09-20 Robert Millan <rmh.grub@aybabtu.com>
120432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * grub-core/commands/efi/lsefimmap.c: New file.
12046 * grub-core/Makefile.core.def (lsefimmap): New module.
12047 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12048
38c259a7
VS
120492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 Pause the execution (10s max) if any errors are displayed so the user
12052 has a chance to see them.
12053
12054 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12055 (grub_print_error): Increment grub_err_printed_errors.
12056 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12057 execution if any errors were displayed.
12058 (show_menu): Remove old code for pause.
12059 * grub-core/normal/menu_entry.c (run): Likewise.
12060 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12061 users updated.
12062 (grub_normal_get_char_counter): Likewise.
12063 * include/grub/err.h (grub_err_printed_errors): New external variable.
12064 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12065
f218b09c
VS
120662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 Support multiboot VBE info.
12069
12070 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12071 Take VBE info into account.
12072 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12073 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12074 Call fill_vbe_info when appropriate.
12075 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12076 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12077 as supported.
12078 (grub_multiboot_get_mbi_size): Take new tags into account.
12079 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12080 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12081 Call fill_vbe_tag when appropriate.
12082 (grub_multiboot_make_mbi): Properly align tags.
12083 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12084 function.
12085 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12086 proto.
12087 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12088
a9cc5438
VS
120892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 Suport manual terminal geometry specification.
12092
12093 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12094 Save state in grub_ofconsole_terminfo_output.
12095 (grub_ofconsole_term): Use grub_terminfo_getwh.
12096 (grub_ofconsole_getwh): Removed.
12097 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12098 (grub_serial_term): Use grub_terminfo_getwh.
12099 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12100 (options): New struct.
12101 (OPTION_*): New enum.
12102 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12103 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12104 width and height.
12105 (grub_terminfo_getwh): New proto.
12106 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12107
1a8fed20
VS
121082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 Handle legacy "terminal" command.
12111
12112 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12113 and FLAG_TERMINAL.
12114 (legacy_commands): Add terminal and title.
12115 (grub_legacy_parse): Handle terminal. Simplify title handling.
12116
41e9c57d
VS
121172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12120 parameters overflow.
12121
61c874c5
CW
121222010-09-20 Colin Watson <cjwatson@ubuntu.com>
12123
12124 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12125 widthspec.h.
12126
12127 * docs/grub.texi (Shell-like scripting): Document `!'.
12128 (Network): Simplify using new i386-pc-pxe format. Mention
12129 grub-mknetdir.
12130
12131 * NEWS: Update.
12132
943682b4
CW
121332010-09-20 Colin Watson <cjwatson@ubuntu.com>
12134
12135 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12136 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12137 when needed.
12138
6d3d698d
CW
121392010-09-20 Colin Watson <cjwatson@ubuntu.com>
12140
12141 * grub-core/commands/efi/lsefisystab.c: Correct header.
12142 * grub-core/commands/efi/lssal.c: Likewise.
12143 * grub-core/commands/testload.c: Likewise.
12144
c982589f
CW
121452010-09-20 Colin Watson <cjwatson@ubuntu.com>
12146
12147 * util/grub-mkrescue.in: Add explicit root argument to --set to
12148 prevent the UUID being interpreted as an argument to --set (matches
12149 previous change to prepare_grub_to_access_device).
12150
a63c31b6
CW
121512010-09-20 Colin Watson <cjwatson@ubuntu.com>
12152
12153 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12154 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12155 the verbosity of later #ifs.
12156 (find_partition_start): Define this function on FreeBSD too.
12157 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12158 function.
12159 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12160 on FreeBSD.
12161
6439b8ee
YB
121622010-09-20 Yves Blusseau <blusseau@zetam.org>
12163
12164 * util/grub-editenv.c: Use argp instead of getopt.
12165
c5930ec8
YB
121662010-09-20 Yves Blusseau <blusseau@zetam.org>
12167
12168 * util/grub-setup.c: Use argp instead of getopt.
12169
15c69261
YB
121702010-09-20 Yves Blusseau <blusseau@zetam.org>
12171
12172 Use gnulib-tool to create gnulib source files.
12173
12174 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12175 grub-core/gnulib directories
12176 * .bzignore: Add **/.deps and autogenerated gnulib files
12177 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12178 of gnulib macros, add grub-core/gnulib/Makefile
12179 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12180 include m4 directory to aclocal.
12181 * Makefile.util.def: Remove direct compilation of gnulib source files
12182 and use the new grub-core/gnulib/libgnu.a.
12183 * build-aux/config.rpath: move config.rpath from top directory to
12184 build-aux
12185 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12186 in gnulib headers
12187 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12188 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12189 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12190 header.
12191 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12192 string.
12193
e511c9f5
YB
121942010-09-20 Yves Blusseau <blusseau@zetam.org>
12195
12196 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12197 grub-core/genmod.sh and grub-core/gensyminfo.sh
12198
c2dede05
BC
121992010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12200
12201 Add a test for echo command options.
12202
12203 * tests/grub_cmd_echo.in: New test.
12204 * Makefile.util.def: Rules for new test.
12205
c55f5018
SJ
122062010-09-20 Szymon Janc <szymon@janc.net.pl>
12207
12208 Remove crc.mod and move crc command to hashsum.mod.
12209 Remove lib/crc.c - users updated to use gcrypt implementation.
12210
12211 * grub-core/commands/crc.c: Removed.
12212 * grub-core/Makefile.core.def (crc): Module removed.
12213 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12214 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12215 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12216 * grub-core/lib/crc.c: Removed.
12217 * include/grub/lib/crc.h: Removed.
12218 * Makefile.util.def (crc): Remove lib/crc.c
12219 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12220 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12221 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12222 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12223 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12224 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12225
e0337366
VS
122262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12229
742f9232
VS
122302010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 Split config.h for util and core.
12233
12234 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12235 (ADDR32): Likewise.
12236 (DATA32): Likewise.
12237 (BSS_START_SYMBOL): Likewise.
12238 (END_SYMBOL): Likewise.
12239 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12240 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12241 * config.h.in: New file.
12242 * configure.ac: Use config-util.h as config define file.
12243 Rename MACHINE into GRUB_MACHINE. All users updated.
12244 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12245 updated.
12246 (NESTED_FUNC_ATTR): Likewise.
12247 Substitue new variables.
12248 (COND_HAVE_ASM_USCORE): New conditional.
12249 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12250 (kernel_syms.lst): Use ASM_PREFIX.
12251 * grub-core/kern/emu/console.c: Include config-util.h.
12252 * grub-core/kern/emu/misc.c: Likewise.
12253 * grub-core/kern/emu/mm.c: Likewise.
12254 * include/grub/emu/misc.h: Likewise.
12255 * include/grub/libgcc.h: Likewise.
12256
39feb0e8
VS
122572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12260 constants usage.
12261 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12262 Fix GRUB_TERM_KEY_* constants usage.
12263 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12264
9af6dac3
VS
122652010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12268 print pointer.
12269 * grub-core/bus/usb/uhci.c: Remove empty define.
12270 (grub_uhci_check_transfer): Add missing cast.
12271 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12272 print pointer.
12273 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12274 PRIuGRUB_SIZE.
12275 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12276
d6d94820
VS
122772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * grub-core/Makefile.core.def (legacycfg): Add
12280 lib/i386/pc/vesa_modes_table.c on emu.
12281
3572f2b6
BC
122822010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12283
12284 Reduce number of temporary files generated by build system.
12285
12286 * grub-core/gencmdlist.sh: Removed.
12287 * grub-core/genfslist.sh: Removed.
12288 * grub-core/genhandlerlist.sh: Removed.
12289 * grub-core/genmodsrc.sh: Removed.
12290 * grub-core/genpartmaplist.sh: Removed.
12291 * grub-core/genparttoollist.sh: Removed.
12292 * grub-core/gentermiinallist.sh: Removed.
12293 * grub-core/genvideolist.sh: Removed.
12294
12295 * grub-core/genmod.sh.in: New file.
12296 * grub-core/gensyminfo.sh.in: New file.
12297
12298 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12299 * conf/Makefile.extra-dist: Update with new files.
12300 * gentpl.py: Remove rules related to unnecessary temporary files.
12301 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12302 and und-* files.
12303 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12304 genmod.sh scripts.
12305 * grub-core/bus/usb/uhci.c: Remove empty #define.
12306 * grub-core/genmoddep.awk: Updated with new syminfo format.
12307 * util/bash-completion.d/Makefile.am: Add config.log to
12308 CLEANFILES.
12309
c836b030
YB
123102010-09-19 Yves Blusseau <blusseau@zetam.org>
12311
12312 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12313
2f4e8053
BC
123142010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12315
12316 * util/grub-mkconfig.in: Check the config script for syntax errors
12317 before saving.
12318
75831c34
CW
123192010-09-19 Colin Watson <cjwatson@ubuntu.com>
123202010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12323 platforms.
12324 * util/grub-install.in: Add EFI and IEEE1275 support.
12325 * util/i386/efi/grub-install.in: Removed.
12326 * util/ieee1275/grub-install.in: Likewise.
12327
eaf41b25
VS
123282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12331 (grub_cmd_cmosclean): Likewise.
12332 (GRUB_MOD_INIT): Register command cmosclean.
12333 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12334 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12335
1a9130dd
CPE
123362010-09-18 Carles Pina i Estany <carles@pina.cat>
123372010-09-18 Aleš Nesrsta <starous@volny.cz>
123382010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 Add keyboard layouts support.
12341
12342 * Makefile.util.def (grub-mklayout): New file.
12343 (grub-kbdcomp): New script.
12344 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12345 Add keyboard_layouts.h.
12346 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12347 commands/boot.c on yeeloong.
12348 (keylayouts): New module.
12349 * grub-core/bus/usb/ohci.c
12350 * grub-core/bus/usb/uhci.c
12351 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12352 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12353 (attach_root_port): Likewise.
12354 (poll_nonroot_hub): Likewise.
12355 (grub_usb_poll_devices): Likewise.
12356 (detach_device): Close transfer.
12357 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12358 function.
12359 (grub_usb_bulk_setup_readwrite): Likewise.
12360 (grub_usb_bulk_finish_readwrite): Likewise.
12361 * grub-core/commands/keylayouts.c: New file.
12362 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12363 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12364 aliases.
12365 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12366 support scancode 2.
12367 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12368 * include/grub/keyboard_layouts.h: New file.
12369 * util/grub-mklayout.c: New file.
12370 * util/grub-kbdcomp.in: Likewise.
12371
a1d84a5e
VS
123722010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 Unify memory types.
12375
12376 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12377 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12378 types.
12379 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12380 (grub_upper_mem): Likewise.
12381 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12382 * include/grub/memory.h (grub_memory_type_t): New enum.
12383 All users updated.
12384
9696382e
VS
123852010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 * grub-core/Makefile.core.def (lsapm): New module.
12388 * grub-core/commands/i386/pc/lsapm.c: New file.
12389 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12390 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12391 Likewise.
12392 * include/grub/i386/pc/apm.h: New file.
12393 * include/multiboot.h (multiboot_apm_info): New struct.
12394
123952010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 GRUB-legacy configuration file support.
12398
12399 * Makefile.util.def (grub-menulst2cfg): New util.
12400 * docs/man/grub-menulst2cfg.h2m: New file.
12401 * grub-core/Makefile.core.def (legacycfg): New module.
12402 * grub-core/commands/legacycfg.c: New file.
12403 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12404 (grub_normal_add_menu_entry): ... this.
12405 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12406 (grub_normal_set_password): ...this.
12407 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12408 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12409 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12410 * grub-core/lib/legacy_parse.c: New file.
12411 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12412 * include/grub/i386/pc/vesa_modes_table.h: New file.
12413 * include/grub/legacy_parse.h: Likewise.
12414 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12415 * util/grub-menulst2cfg.c: New file.
12416
bf8d1338
CW
124172010-09-17 Colin Watson <cjwatson@ubuntu.com>
12418
12419 * grub-core/kern/emu/hostdisk.c
12420 (convert_system_partition_to_system_disk): Initialise node.
12421
9c0bad2e
CW
124222010-09-17 Colin Watson <cjwatson@ubuntu.com>
12423
12424 * grub-core/kern/emu/hostdisk.c
12425 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12426 leak.
12427 Reported and based on patch by: Modestas Vainius.
12428
a939d135
CW
124292010-09-17 Colin Watson <cjwatson@ubuntu.com>
12430
12431 Fix DM-RAID probing with recent versions of device-mapper udev
12432 rules.
12433
12434 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12435 canonicalise device paths under /dev/mapper/.
12436 (convert_system_partition_to_system_disk): Compare the
12437 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12438 path, since device nodes under /dev/mapper/ are often symlinks.
12439
0f7ee3c9
YB
124402010-09-17 Yves Blusseau <blusseau@zetam.org>
12441
12442 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12443
10854d0d
YB
124442010-09-16 Yves Blusseau <blusseau@zetam.org>
12445
12446 * configure.ac: Avoid some annoying error messages if freetype-config
12447 program is not found.
12448
108538d8
CW
124492010-09-16 Colin Watson <cjwatson@ubuntu.com>
12450
12451 Support RAID on virtio devices, and others.
12452
12453 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12454 Rename to ...
12455 [__MINGW32__] (grub_find_device): ... this.
12456 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12457 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12458 reasonable default if dir is NULL.
12459 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12460 ...
12461 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12462 (grub_guess_root_device): Update callers.
12463 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12464
12465 * util/raid.c (grub_util_getdiskname): Remove.
12466 (grub_util_raid_getmembers): Use grub_find_device rather than
12467 grub_util_getdiskname.
12468
e5bfc130
CW
124692010-09-16 Colin Watson <cjwatson@ubuntu.com>
12470
12471 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12472 needing to be compiled with serial support.
12473 (ls): Indicate that multiple files are accepted.
12474 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12475 indicate that multiple files are accepted.
12476
be458ae2
CW
124772010-09-16 Colin Watson <cjwatson@ubuntu.com>
12478
12479 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12480 libgrub_a_init.c, and util/bash-completion.d/grub.
12481
cb731b5e
VS
124822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 * util/grub-setup.c (setup): Fix incorrect container semantics.
12485
35139e8a
VS
124862010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12487
12488 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12489 misusage.
12490 Reported by: J. Nick Terry
12491
e50fca4a
VS
124922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 Move embedding routines to partmap sources files.
12495
12496 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12497 [GRUB_UTIL]: New variable.
12498 (gpt_partition_map_iterate): Set part.parent.
12499 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12500 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12501 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12502 New function.
12503 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12504 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12505 (grub_partition_map) [GRUB_UTIL]: New field embed.
12506 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12507 (setup): Use ->embed.
12508
f00478b7
VS
125092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12512 function.
12513 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12514 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12515
2b94e3ff
YB
125162010-09-15 Yves Blusseau <blusseau@zetam.org>
12517
12518 Add function to get completions from usage.
12519
12520 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12521 completions from usage. Use LC_ALL=C to get options properly.
12522
2e04a006
VS
125232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 * grub-core/gnulib/basename-lgpl.c: Imported.
12526 * grub-core/gnulib/basename.c: Likewise.
12527 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12528 * grub-core/gnulib/dirname.c: Likewise.
12529 * grub-core/gnulib/dirname.h: Likewise.
12530 * grub-core/gnulib/stripslash.c: Likewise.
12531
5dcdf93a
VS
125322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * grub-core/gnulib/error.c: Resynced.
12535 * grub-core/gnulib/getopt.c: Likewise.
12536 * grub-core/gnulib/getopt_int.h: Likewise.
12537 * grub-core/gnulib/regex.h: Likewise.
12538 * grub-core/gnulib/regex_internal.c: Likewise.
12539 * grub-core/gnulib/regex_internal.h: Likewise.
12540
014f47b7
SJ
125412010-09-15 Szymon Janc <szymon@janc.net.pl>
12542
12543 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12544 CRC calculations and validity checks.
12545 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12546 calculations.
12547
dd521a4a
SJ
125482010-09-15 Szymon Janc <szymon@janc.net.pl>
12549
12550 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12551
79c4eeb9
VS
125522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 Fix incorrect echo options handling.
12555 Reported by: Yves Blusseau.
12556
12557 * include/grub/command.h (grub_command_flags_t): New flags
12558 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12559 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12560 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12561
ed80f7d5
VS
125622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12565 users updated.
12566 (GRUB_COMMAND_FLAG_MENU): Likewise.
12567 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12568 (GRUB_COMMAND_FLAG_TITLE): Removed.
12569 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12570 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12571 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12572 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12573 (grub_command_flags_t): New enum. All users updated.
12574
5fe7620a
SG
125752010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12576
12577 Fix solaris compilation.
12578
12579 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12580 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12581 (grub-emu-list): Likewise.
12582
545b752f
VS
125832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 Remove deprecated root command.
12586
12587 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12588 updated.
12589
6c1a338c
VS
125902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * util/i386/pc/grub-setup.c: Merge this ...
12593 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12594 * util/grub-setup.c: ... into this.
12595 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12596 New struct.
12597
125982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12601 possible.
12602
d2ea4551
VS
126032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12606 allocate p.
12607
3c3b5040
VS
126082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12611 explicit root argument to set to prevent UUID to be interpreted as
12612 argument to set.
12613
b71c3fae
VS
126142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12617
275433e6
VS
126182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 Don't export grub_gate_a20.
12621
12622 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12623 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12624 to ...
12625 (grub_gate_a20): ... this. All users updated.
12626 * include/grub/i386/pc/init.h: Removed. All users updated.
12627
a5dbb1f1
VS
126282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 Create euro.pf2 which supports most European languages.
12631
12632 * Makefile.am (grubdata_DATA): Add euro.pf2.
12633 (euro.pf2): New target.
12634 (CLEANFILES): Add euro.pf2.
12635
62a747cb
VS
126362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 * configure.ac: Disable emu-usb by default to prevent inadvertent
12639 device takeover.
12640
608e43b1
VS
126412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 Disable usbserial on grub-emu since our libusb code isn't good enough
12644 yet.
12645
12646 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12647 (usbserial_pl2303): Likewise.
12648 (usbserial_ftdi): Likewise.
12649
94564f81
VS
126502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * include/grub/disk.h (grub_disk): Remove has_partitions.
12653 All users updated.
12654 * disk/loopback.c (grub_loopback): Remove has_partitions.
12655 All users updated.
12656 (options): Remove partitions. All users updated.
12657 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12658 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12659 actual partition table is found.
12660
3352800b
VS
126612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 Remove readability checks (too many false negatives).
12664
12665 * util/grub-install.in: Remove readability checks.
12666 * util/grub-mkconfig.in: Likewise.
12667 * util/grub.d/10_hurd.in: Likewise.
12668 * util/grub.d/10_kfreebsd.in: Likewise.
12669 * util/grub.d/10_linux.in: Likewise.
12670 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12671 way.
12672
2419f17a
VS
126732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 Enable acpi shutdown on all ACPI platforms.
12676
12677 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12678 on coreboo, multiboot and EFI.
12679 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12680 (grub_acpi_halt): Likewise.
12681 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12682 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12683 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12684 * grub-core/lib/i386/halt.c (grub_halt)
12685 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12686
0575c7c3
VS
126872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12690 context.
12691
54ac3cd1
VS
126922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12695 * grub-core/video/efi_uga.c: Likewise.
12696
b2a30ac5
VS
126972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 Filter devaliases and never open same device twice.
12700
12701 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12702 (last_ihandle): Likewise.
12703 (ofdisk_hash_ent): New member shortest.
12704 (ofdisk_hash_add): Add canonical path too.
12705 (scan): New function.
12706 (grub_ofdisk_iterate): Iterate over hashed entries.
12707 (compute_dev_path): Don't add :0.
12708 (grub_ofdisk_open): Don't really open the disk.
12709 (grub_ofdisk_close): Avoid closing unrelated disk.
12710 (grub_ofdisk_read): Implement reopen logic.
12711 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12712 New function.
12713 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12714 New proto.
12715
fb53b340
VS
127162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 Fix sparc64.
12719
12720 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12721 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12722 right address. Add sparc64_ieee1275_ldflags.
12723 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12724 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12725 to grub_host_to_target_addr
12726 (load_image): Likewise.
12727
f452b040
VS
127282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 * grub-core/normal/completion.c (complete_file): Handle device
12731 containing slash.
12732 Fix based on patch by Doug Nazar.
12733
9b5b2541
VS
127342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 grub-mknetdir script.
12737
12738 * Makefile.util.def (grub-mknetdir): New module.
12739 * tests/util/grub-shell.in: Support boot=net
12740 * util/grub-mknetdir.in: New file.
12741
9d2be652
VS
127422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 videoinfo on non-vbe.
12745
12746 * grub-core/Makefile.core.def (vbeinfo): Removed.
12747 (vbetest): Removed.
12748 (videoinfo): New module.
12749 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12750 * grub-core/commands/i386/pc/vbetest.c: Removed.
12751 * grub-core/commands/videoinfo.c: New file.
12752 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12753 specification.
12754 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12755 as vbetest.
12756 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12757 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12758 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12759 mode_number. New parameter mode. All users updated.
12760 (grub_video_gop_iterate): New function.
12761 (grub_video_efi_gop): New member iterate.
12762 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12763 (grub_vbe_set_video_mode): Remove setting useless fields.
12764 (vbe2videoinfo): New function.
12765 (grub_video_vbe_iterate): Likewise.
12766 (grub_video_vbe_setup): Use vbe2videoinfo.
12767 (grub_video_vbe_print_adapter_specific_info): New function.
12768 (grub_video_vbe_adapter): New fields iterate and
12769 print_adapter_specific_info.
12770 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12771 All users updated.
12772 (grub_video_mode_info): New field mode_number.
12773 (grub_video_adapter): New fields iterate and
12774 print_adapter_specific_info.
12775
179503f5
TG
127762010-09-13 Tristan Gingold <gingold@free.fr>
127772010-09-13 Robert Millan <rmh.grub@aybabtu.com>
127782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 * grub-core/commands/efi/lsefisystab.c: New file.
12781 * grub-core/commands/efi/lssal.c: Likewise.
12782 * grub-core/Makefile.core.def (lsacpi): New module.
12783 (lsefisystab): Likewise.
12784 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12785 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12786 (grub_efi_sal_system_table): New struct.
12787 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12788 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12789 (grub_efi_sal_system_table_platform_features): Likewise.
12790 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12791 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12792 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12793 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12794
cf9827de
VS
127952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 Support explicit user claim that a device is BIOS-visible.
12798
12799 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12800 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12801 * grub-core/kern/emu/hostdisk.c
12802 (convert_system_partition_to_system_disk): Support mdX.
12803 (find_system_device): New parameter add. All users updated.
12804 (grub_util_biosdisk_is_present): New function.
12805 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12806 proto.
12807
53f0eb1f
VS
128082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 Search hints support.
12811
12812 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12813 All users updated.
12814
b23ffd70
YB
128152010-09-13 Yves Blusseau <blusseau@zetam.org>
12816
12817 Bash completion script for util commands
12818
12819 * Makefile.am: Add util/bash-completion.d directory
12820 * configure.ac: Likewise.
12821 * util/bash-completion.d/Makefile.am: New file.
12822 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12823
d547dc28
VS
128242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12827 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12828 Reported by: Yves Blusseau.
12829
2fc8ccb9
VS
128302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12833 partition size and offset.
12834
d8a84076
VS
128352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12838
84fb3b3d
VS
128392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12842
768ec2e2
VS
128432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12846 (grub_xvasprintf): Likewise.
12847
4870900f
VS
128482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12851
faca6bec
VS
128522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12855 args ending with NULL.
12856
128572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12858
12859 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12860 pointer.
12861
3c70f225
SJ
128622010-09-11 Szymon Janc <szymon@janc.net.pl>
12863
12864 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12865
4df7996d
VS
128662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 Shutdown using ACPI.
12869
12870 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12871 * grub-core/commands/acpihalt.c: New file.
12872 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12873 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12874 (grub_acpi_halt): New proto.
12875 (GRUB_ACPI_SLP_EN): New const.
12876 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12877 (GRUB_ACPI_OPCODE_*): New enum.
12878 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12879
126b4c32
TG
128802010-09-11 Tristan Gingold <gingold@free.fr>
128812010-09-11 Robert Millan <rmh.grub@aybabtu.com>
128822010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * commands/lsacpi.c: New file.
12885 * grub-core/Makefile.core.def (lsacpi): New module.
12886 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12887 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12888 (grub_acpi_madt_entry_header): New struct.
12889 (grub_acpi_madt): Likewise.
12890 (grub_acpi_madt_entry_interrupt_override): Likewise.
12891 (grub_acpi_madt_entry_sapic): Likewise.
12892 (grub_acpi_madt_entry_lsapic): Likewise.
12893 (grub_acpi_madt_entry_platform_int_source): Likewise.
12894 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12895 (PRIuGRUB_UINT32_T): Likewise.
12896 (PRIxGRUB_UINT64_T): Likewise.
12897
1aa4fe88
VS
128982010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 Implement loading palette on ieee1275_fb.
12901
12902 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12903 (have_setcolors): Likewise.
12904 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12905 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12906 (grub_video_ieee1275_set_palette): Implement.
12907
25761e13
VS
129082010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
129092010-09-11 Colin Watson <cjwatson@ubuntu.com>
12910
12911 * util/grub-install.in (grub_partition): New variable.
12912 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12913 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12914 Fixes a bug reported by Yves Blusseau.
12915
050abaea
VS
129162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 Fix emu on mipsel.
12919
12920 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12921 =grub_cpu_flush_cache on all mips and not only yeeloong.
12922 * configure.ac (COND_mips): New conditional.
12923 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12924 platforms.
12925 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12926 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12927 [GRUB_LINKER_HAVE_INIT]: New function.
12928 (grub_emu_post_init): Likewise.
12929 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12930 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12931 * include/grub/cache.h (_mips): Include mips/cache.h.
12932 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12933 LVM and RAID prototypes.
12934 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12935 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12936 function.
12937
5ed7d816
CW
129382010-09-10 Colin Watson <cjwatson@ubuntu.com>
12939
12940 * util/grub-install.in: Don't try to verify core.img until after
12941 running grub-mkimage to create it.
12942
90367e04
RM
129432010-09-10 Robert Millan <rmh@gnu.org>
12944
12945 * util/grub.d/10_hurd.in: Add misc readability checks.
12946 * util/grub.d/10_kfreebsd.in: Likewise.
12947 * util/grub.d/10_linux.in: Likewise.
12948
c452fa66
CW
129492010-09-10 Colin Watson <cjwatson@ubuntu.com>
12950
12951 * util/grub-install.in: ${imgext} won't be defined here until the
12952 install branch is merged. For the meantime, only verify core.img on
12953 i386-pc and sparc64-ieee1275 platforms.
12954
c38fe9f4
RM
129552010-09-10 Robert Millan <rmh@gnu.org>
12956
12957 Solaris support in grub_find_zpool_from_dir(). Thanks
12958 Seth Goldberg for referring to getextmntent() facility.
12959
12960 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12961 `sys/mkdev.h'.
12962 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12963 `<sys/mnttab.h>'.
12964 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12965 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12966 method for finding zpool name.
12967
905f7773
CW
129682010-09-10 Colin Watson <cjwatson@ubuntu.com>
12969
12970 grub-fstest needs the host and hostfs modules while other utilities
12971 actively require those modules to be absent, so grub-fstest needs
12972 its own initialisation and finalisation code.
12973
12974 * Makefile.am (grub_fstest.pp): New target.
12975 (grub_fstest_init.lst): Likewise.
12976 (grub_fstest_init.c): Likewise.
12977 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12978
fb90b546
RM
129792010-09-10 Robert Millan <rmh@gnu.org>
12980
12981 * configure.ac: Check for `struct statfs.f_fstypename' and
12982 `struct statfs.f_mntfromname'.
12983
12984 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12985 kFreeBSD-specific code.
12986
66d4bea5
RM
129872010-09-10 Robert Millan <rmh@gnu.org>
12988
12989 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12990 on ZFS. Now non-main filesystems are supported as / too.
12991
b6a690ee
CW
129922010-09-09 Colin Watson <cjwatson@ubuntu.com>
12993
12994 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12995 and grub-core/disk/host.c to ...
12996 (grub-fstest): ... here. Having the host disk implementation
12997 present confuses grub-probe and other utility programs.
12998
12999 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13000 when writing to a file, not when writing to stdout.
13001
8901b00c 130022010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13003
13004 * tests/partmap_test.in: New test for partitions.
13005 * Makefile.util.def: Rules for new test.
13006
7bf45fdd
RM
130072010-09-09 Robert Millan <rmh@gnu.org>
13008
13009 * util/grub-probe.c (probe): Fix a pair of unhandled error
13010 conditions.
13011
4dfbc574
RM
130122010-09-09 Robert Millan <rmh@gnu.org>
13013
13014 Basic Btrfs support (detection and UUID).
13015
13016 * grub-core/fs/btrfs.c: New file.
13017 * Makefile.util.def (library): Register btrfs.c.
13018 * grub-core/Makefile.core.def: Likewise.
13019
6b8e78ae
RM
130202010-09-08 Robert Millan <rmh@gnu.org>
13021
13022 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13023 with (optional) parameters to specify device and relative path.
13024 * util/grub-install.in: Use is_path_readable_by_grub() to
13025 verify readability of a few critical files.
13026 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13027 verify readability of grub.cfg.new.
13028
27f21a8b
VS
130292010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 Split minix.mod into minix.mod and minix2.mod.
13032
13033 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13034 * grub-core/Makefile.core.def (minix2): New module.
13035 * grub-core/fs/minix.c: Use definitions instead of runtime version
13036 checking.
13037 * grub-core/fs/minix2.c: New file.
13038
c0e53ea5
YB
130392010-09-08 Yves Blusseau <blusseau@zetam.org>
13040
13041 Add new --boot-directory option to replace --root-directory
13042
13043 * util/grub-install.in: Add new --boot-directory option
13044 * util/grub-reboot.in: Likewise.
13045 * util/grub-set-default.in: Likewise.
13046
b9fe6ea2
YB
130472010-09-08 Yves Blusseau <blusseau@zetam.org>
13048
13049 * util/grub-mkconfig.in: Use new variable.
13050
d87aedff
YB
130512010-09-08 Yves Blusseau <blusseau@zetam.org>
13052
13053 * configure.ac: Define some useful variables.
13054
e55e8495
VS
130552010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13056
13057 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13058 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13059 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13060 Use terminfo and don't use cursor-on/cursor-off unless it's known
13061 to work.
13062 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13063 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13064
6fa6d675
CW
130652010-09-08 Colin Watson <cjwatson@ubuntu.com>
13066
13067 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13068 starts with "(,", fill the drive containing the loaded image in
13069 between those two characters, but expect that a full partition
13070 specification including partition map names will follow.
13071
92f2aef0
RM
130722010-09-08 Robert Millan <rmh@gnu.org>
13073
13074 * configure.ac: Remove `--enable-grub-fstest' option.
13075 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13076
13077 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13078 `grub-fstest' instead of `grub-probe' for readability verification.
13079 * util/grub-probe.c (probe): Remove readability verification kludge.
13080
99fd620d
RM
130812010-09-08 Robert Millan <rmh@gnu.org>
13082
13083 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13084 initializing `GRUB_FS'.
13085
058e30ac 130862010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13087
13088 Not command (!) support to GRUB script.
13089
13090 * tests/grub_script_not.in: New test.
13091 * Makefile.util.def: Rules for new test.
13092
13093 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13094 ! command as a special case.
13095 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13096
b61d05ed 130972010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13098
058e30ac 13099 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13100 grub_free.
b61d05ed 13101
4d69c786 131022010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13103
13104 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13105
aa3119c4 131062010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13107
13108 * docs/grub.texi (Shell-like scripting): Documentation for break,
13109 continue, shift and return commands.
13110
db0f7e3d
VS
131112010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 Rename CD-ROM to cd on BIOS.
13114
13115 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13116 "cd".
13117 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13118
88b87c93
VS
131192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13122 * util/grub-probe.c (main): Likewise.
13123 * util/i386/pc/grub-setup.c (main): Likewise.
13124 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13125 Reported and debugged by: alexxy
13126
294f324d
VS
131272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13130 diagnostic info.
13131
d7ee3441
JS
131322010-09-05 Jo Shields <directhex@apebox.org>
13133
13134 * util/grub.d/30_os-prober.in: Add missing classes.
13135
d7e06c1f
VS
131362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 * docs/grub.texi (Theme file format): Document new position format.
13139
fc157e53
VS
131402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13143 a table. Use @code instead of @verbatim.
13144
506e9a1c
CB
131452010-09-05 Colin D Bennett <colin@gibibit.com>
13146
13147 Gfxmenu documentation.
13148
13149 * docs/grub.texi (Theme file format): New chapter.
13150
f0aff67c
SJ
131512010-09-05 Szymon Janc <szymon@janc.net.pl>
13152
13153 * grub-core/Makefile.core.def (xzio): New module.
13154 * grub-core/io/xzio.c: New file.
13155 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13156 * grub-core/lib/xzembed/xz_config.h: Likewise.
13157 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13158 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13159 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13160 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13161 * grub-core/lib/xzembed/xz_private.h: Likewise.
13162 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13163 * include/grub/file.h (grub_file_filter_id): New compression filter
13164 GRUB_FILE_FILTER_XZIO.
13165
82a85062
VS
131662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13169 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13170 size.
13171
3579415d
VS
131722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13175 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13176
5124ae6d
VS
131772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 Uncompressed checksum support.
13180
13181 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13182 (check_list): New parameter uncompress.
13183 (grub_cmd_hashsum): Handle --uncompress.
13184
9aadb3d1
VS
131852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 Reintroduce testload.
13188
13189 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13190 from here ...
13191 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13192 (GRUB_MOD_INIT): New function.
13193 (GRUB_MOD_FINI): Likewise.
13194 * grub-core/Makefile.core.def (testload): New module.
13195
a17792c3
SJ
131962010-09-05 Szymon Janc <szymon@janc.net.pl>
13197
13198 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13199 (uint8_t): New type.
13200 (uint16_t): Likewise.
13201 (uint32_t): Likewise.
13202 (uint64_t): Likewise.
13203
b81e40a3
SJ
132042010-09-05 Szymon Janc <szymon@janc.net.pl>
13205
13206 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13207
fc2ef117
VS
132082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13211 Made static.
13212 (grub_gzfile_open): Removed. All users updated.
13213 (GRUB_MOD_INIT): New function.
13214 (GRUB_MOD_FINI): Likewise.
13215 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13216 (grub_file_filters_enabled): Likewise.
13217 (grub_file_open): Handle filters.
13218 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13219 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13220 * include/grub/file.h (grub_file_filter_id_t): New type.
13221 (grub_file_filter_t): Likewise.
13222 (grub_file_filters_all): New extern variable.
13223 (grub_file_filters_enabled): Likewise.
13224 (grub_file_filter_register): New inline function.
13225 (grub_file_filter_unregister): Likewise.
13226 (grub_file_filter_disable): Likewise.
13227 (grub_file_filter_disable_compression): Likewise.
13228 * include/grub/gzio.h: Removed.
13229
35ee15e0
BC
132302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13231
13232 Filename expansion support for wildcards in GRUB script.
13233
13234 * tests/grub_script_expansion.in: New test.
13235 * Makefile.util.def: Rule for new test.
13236
13237 * grub-core/commands/wildcard.c: New file, implements filename
13238 expansion support for GRUB script.
13239 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13240 * grub-core/script/argv.c: Cosmetic changes.
13241 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13242 Refactored to perform wildcard expansion on arguments.
13243 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13244 struct.
13245
13246 * tests/util/grub-shell.in: Fix quoting for read input.
13247
5f0c4aca
BC
132482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13249
13250 Support for updating environment variables with matched substrings
13251 of regexp.
13252
13253 * tests/grub_cmd_regexp.in: New test.
13254 * Makefile.util.def: Rule for new test.
13255
13256 * grub-core/commands/regexp.c: New option -s to update environment
13257 variables with regexp matches.
13258
3759a35f
SJ
132592010-09-04 Szymon Janc <szymon@janc.net.pl>
13260
13261 * include/grub/file.h (grub_file): New member not_easly_seekable.
13262 (grub_file_seekable): New inline function.
13263 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13264 easily seekable.
13265 (grub_gzio_open): Set not_easly_seekable.
13266 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13267 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13268
ed8c6dec
BC
132692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13270
13271 Support for options to appear multiple times on cmdline.
13272
13273 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13274 * grub-core/commands/extcmd.c: Support for repeatable option.
13275 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13276 repeatable option support.
13277
13278 Refactor menuentry into a regular command.
13279
13280 * grub-core/commands/menuentry.c: New file, menuentry command
13281 implementation.
13282 * grub-core/Makefile.core.def: Rule update for normal.mod.
13283 * grub-core/normal/main.c: Moved menuentry creation to
13284 grub-core/commands/menuentry.c.
13285 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13286 (grub_menu_execute_entry_real): Removed.
13287 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13288 function.
13289 (grub_script_execute_menuentry): Removed.
13290 * grub-core/script/parser.y (menuentry): Removed.
13291 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13292 * grub-core/script/yylex.l (menuentry): Removed.
13293 * include/grub/menu.h (grub_menu_init): New prototype.
13294 (grub_menu_fini): New prototype.
13295 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13296 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13297 (grub_script_execute_sourcecode): New prototype.
13298
dacd0cf0
BC
132992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13300
13301 "return" command for GRUB script functions.
13302
13303 * tests/grub_script_return.in: New test.
13304 * Makefile.util.def: Rules for new test.
13305
13306 * grub-core/script/execute.c (grub_script_return): New function.
13307 * grub-core/script/main.c: Register/unregister return commaond.
13308 * include/grub/script_sh.h (grub_script_return): New prototype.
13309
52e72f9d
BC
133102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13311
13312 "setparams" command to update positional parameters.
13313
13314 * tests/grub_script_setparams.in: New test.
13315 * Makefile.util.def: Rules for new test.
13316
13317 * grub-core/script/argv.c (grub_script_argv_make): New function.
13318 * grub-core/script/execute.c (replace_scope): New function.
13319 (grub_script_setparams): New function.
13320 * grub-core/script/lexer.c: Remove unused variables.
13321 * grub-core/script/main.c: Register/unregister setparams command.
13322 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13323 (grub_script_setparams): New prototype.
13324
25b60c91
BC
133252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13326
13327 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13328 grub_free order.
13329
37e7bf68
BC
133302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13331
13332 Support for passing block of commands as an argument to extcmds.
13333
13334 * Makefile.util.def: Rules for new test.
13335 * tests/grub_script_blockarg.in: New test.
13336 * grub-core/tests/test_blockarg.c: New file, block argument
13337 command used in the test.
13338
13339 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13340 (grub_register_extcmd_prio): New function prototype.
13341 (grub_extcmd_dispatcher): New function prototype.
13342 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13343 type.
13344 * include/grub/script_sh.h (struct grub_script): New members
13345 `children', `next_siblings' and `refcnt' for block arguments and
13346 reference counting.
13347 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13348 (grub_script_arg): New member `script' for block argument.
13349 (grub_script_argv): New member `script' for block argument.
13350 (grub_parser_param): New member `scripts' for block argument.
13351 (grub_script_mem_free): New extern function prototype.
13352 (grub_script_ref): New function prototype.
13353 (grub_script_unref): New function prototype.
13354
13355 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13356 extcmd form to support block arguments.
13357 * grub-core/script/argv.c: Block arguments support.
13358 * grub-core/script/execute.c: Likewise.
13359 * grub-core/script/lexer.c: Likewise.
13360 * grub-core/script/main.c: Likewise.
13361 * grub-core/script/script.c: Likewise.
13362 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13363 non-terminals.
13364
13365 * grub-core/commands/acpi.c: Update extcmd implementations with
13366 grub_extcmd_context_t.
13367 * grub-core/commands/cat.c: Likewise.
13368 * grub-core/commands/echo.c: Likewise.
13369 * grub-core/commands/extcmd.c: Likewise.
13370 * grub-core/commands/hashsum.c: Likewise.
13371 * grub-core/commands/hdparm.c: Likewise.
13372 * grub-core/commands/help.c: Likewise.
13373 * grub-core/commands/hexdump.c: Likewise.
13374 * grub-core/commands/i386/cpuid.c: Likewise.
13375 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13376 * grub-core/commands/i386/pc/halt.c: Likewise.
13377 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13378 * grub-core/commands/iorw.c: Likewise.
13379 * grub-core/commands/keystatus.c: Likewise.
13380 * grub-core/commands/loadenv.c: Likewise.
13381 * grub-core/commands/ls.c: Likewise.
13382 * grub-core/commands/lspci.c: Likewise.
13383 * grub-core/commands/memrw.c: Likewise.
13384 * grub-core/commands/probe.c: Likewise.
13385 * grub-core/commands/search_wrap.c: Likewise.
13386 * grub-core/commands/setpci.c: Likewise.
13387 * grub-core/commands/sleep.c: Likewise.
13388 * grub-core/disk/loopback.c: Likewise.
13389 * grub-core/hello/hello.c: Likewise.
13390 * grub-core/loader/i386/bsd.c: Likewise.
13391 * grub-core/loader/xnu.c: Likewise.
13392 * grub-core/term/gfxterm.c: Likewise.
13393 * grub-core/term/serial.c: Likewise.
13394 * grub-core/tests/lib/functional_test.c: Likewise.
13395
888d1500
BC
133962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13397
13398 Multi-line quoted strings support.
13399
13400 * grub-core/script/lexer.c (append_newline): Removed.
13401 (grub_script_lexer_yywrap): Refactored.
13402 (grub_script_lexer_init): Refactored.
13403 * grub-core/script/yylex.l (yywrap): New function.
13404 (grub_lexer_resplit): New function.
13405 (grub_lexer_unput): New function.
13406 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13407 and resplit.
13408 * tests/grub_script_echo1.in: Added few more testcases.
13409
dda060dd
VS
134102010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/kern/misc.c: Don't add abort alias in utils.
13413 Reported by: echoline.
13414
6556eba9
BC
134152010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13416
13417 Add missing files into "make dist" tarball for other platforms.
13418
13419 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13420 * conf/Makefile.common (dist_noinst_DATA): New variable.
13421 * conf/Makefile.extra-dist: Added missing make dist files.
13422 * grub-core/Makefile.core.def: Likewise.
13423
c8e7bf5f
VS
134242010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 Compress grub_prefix.
13427
13428 * grub-core/boot/i386/pc/lnxboot.S: Use
13429 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13430 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13431 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13432 GRUB_MACHINE_PREFIX_END. All users updated.
13433 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13434 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13435 + 0x40.
13436 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13437 * util/grub-mkimage.c (image_target_desc): Change data_end to
13438 prefix_end. All users updated.
13439
a7c00cdb
VS
134402010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13441
13442 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13443 value.
13444 (grub_openbsd_boot): Likewise.
13445 (grub_netbsd_boot): Likewise.
13446 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13447 (grub_xnu_boot): Likewise.
13448
9f915872
VS
134492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * configure.ac: Clean LIBS variable after tests.
13452
efa1bee7
CW
134532010-09-02 Colin Watson <cjwatson@ubuntu.com>
13454
13455 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13456
61d720e5
VS
134572010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13460 echo if libdevmapper will be used.
13461
ef8e0ec8
IT
134622010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13463
13464 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13465 constant for the same file.
13466
03e261d8
VS
134672010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13470
c2a4eba6
CW
134712010-09-02 Colin Watson <cjwatson@ubuntu.com>
13472
13473 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13474 grub-core/*.pp.
13475
9056cbf3
CW
134762010-09-02 Colin Watson <cjwatson@ubuntu.com>
13477
13478 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13479 required by the boot protocol.
13480
13481 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13482 ebp and edi members.
13483 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13484 state.ebp and state.edi.
13485 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13486 %ebp and %edi according to grub_relocator32_ebp and
13487 grub_relocator32_edi respectively.
13488 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13489 and state.edi.
13490
529cc99a
VS
134912010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 Add i386-pc-pxe image target.
13494
13495 * util/grub-mkimage.c (image_target_desc): New enum value
13496 IMAGE_I386_PC_PXE.
13497 (image_targets): New target i386-pc-pxe.
13498 (generate_image): Handle i386-pc-pxe image.
13499
9a093920
VS
135002010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 Fix grub_pxe_scan.
13503
13504 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13505 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13506 All users updated.
13507 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13508 (grub_pxe_pxenv): Correct type.
13509
f9cefc4e
CW
135102010-09-01 Colin Watson <cjwatson@ubuntu.com>
13511
13512 * NEWS: Document most of the important changes since 1.98.
13513
4066f57f
CW
135142010-09-01 Colin Watson <cjwatson@ubuntu.com>
13515
13516 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13517 generated manual page) a little.
13518
da2891f9
CW
135192010-09-01 Colin Watson <cjwatson@ubuntu.com>
13520
13521 * docs/grub.texi: Add myself as an author.
13522
ad717fae
VS
135232010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 * Makefile.util.def (libgrub.a): Add missing sunpc.
13526 Reported by: Seth Goldberg.
13527
eefe8abd
VS
135282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 Interrupt wrapping and code simplifications.
13531
9494ef9a
VS
13532 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13533 x86_noieee1275 which are functionaly equivalent in this case.
13534 (grub-install): Make source on each platform explicit. Enable on
13535 all noemu.
13536 * gentpl.py (x86_efi_pc): Removed group.
13537 (x86_noefi): Likewise.
13538 (i386_noefi): Likewise.
13539 (x86_noieee1275): Likewise.
13540 (i386_noieee1275): Likewise.
13541 (i386_noefi_noieee1275): Likewise.
13542 (i386_pc_qemu_coreboot): Likewise.
13543 (i386_coreboot_multiboot): Likewise.
13544 (i386_pc_coreboot_multiboot_qemu): Likewise.
13545 (x86_noefi_mips): Likewise.
13546 (noieee1275): Likewise.
13547 (ieee1275_mips): Likewise.
13548 (noemu_noieee1275): Likewise.
13549 (cmos): New group.
13550 (usb): Likewise.
13551 (videoinkernel): Likewise.
13552 (videomodules): Likewise.
eefe8abd 13553 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13554 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13555 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13556 include/grub/loader.h, include/grub/msdos_partition.h,
13557 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13558 include/grub/machine/console.h, include/grub/machine/vga.h,
13559 include/grub/machine/vbe.h, include/grub/machine/init.h,
13560 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13561 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13562 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13563 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13564 * grub-core/Makefile.core.def (kernel): Explicit the source for
13565 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13566 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13567 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13568 Use videoinkernel tag.
13569 (usb): Enable on all usb.
13570 (usbserial_common): Likewise.
13571 (usbserial_pl2303): Likewise.
13572 (usbserial_ftdi): Likewise.
13573 (uhci): Enable on all x86.
13574 (ohci): Enable on all pci.
13575 (cmostest): Enable on all CMOS.
13576 (acpi): Include commands/acpi.c on all platforms.
13577 (halt): Add relevant lib/*/halt.c.
13578 (hdparm): Enable on all pci.
13579 (lspci): Likewise.
13580 (usbtest): Enable on all usb.
13581 (ata): Enable on all pci.
13582 (ata_pthru): Likewise.
13583 (usbms): Enable on all usb.
13584 (usb_keyboard): Likewise.
13585 (font): Use tag videomodules.
13586 (bufio): Likewise.
13587 (datetime): Use tag cmos. Enable on all noemu.
13588 (mmap): Use tags common and x86.
13589 (gfxterm): Use tag videomodules.
13590 (bitmap): Likewise.
13591 (bitmap_scale): Likewise.
13592 (video_fb): Likewise.
13593 (video): Likewise.
13594 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13595 adjust padding accordingly. All users updated.
13596 (grub_ohci_transaction): Fix bad format specification.
13597 (GRUB_MOD_INIT): Add asserts for struct size.
13598 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13599 (grub_alloc_td): Likewise.
13600 (grub_free_queue): Likewise.
13601 (grub_uhci_transfer): Likewise.
13602 (grub_uhci_transaction): Fix bad format specification.
13603 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13604 (grub_usb_bulk_readwrite): Likewise.
13605 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13606 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13607 Made static.
13608 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13609 Made static.
13610 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13611 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13612 Transformed into C.
13613 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13614 Moved from here ...
13615 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13616 ... here. Transformed into C. Made static.
13617 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13618 Moved from here ...
13619 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13620 ... here. Transformed into C. Made static.
13621 * grub-core/kern/i386/pc/startup.S
13622 (grub_biosdisk_check_int13_extensions): Moved from here ...
13623 * grub-core/disk/i386/pc/biosdisk.c
13624 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13625 Made static.
13626 * grub-core/kern/i386/pc/startup.S
13627 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13628 * grub-core/disk/i386/pc/biosdisk.c
13629 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13630 Transformed into C. Made static.
13631 * grub-core/kern/i386/pc/startup.S
13632 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13633 * grub-core/disk/i386/pc/biosdisk.c
13634 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13635 Transformed into C. Made static.
13636 * grub-core/kern/i386/pc/startup.S
13637 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13638 * grub-core/disk/i386/pc/biosdisk.c
13639 (grub_biosdisk_get_diskinfo_standard): ... here.
13640 Transformed into C. Made static.
13641 * grub-core/kern/i386/pc/startup.S
13642 (grub_biosdisk_get_num_floppies): Moved from here ...
13643 * grub-core/disk/i386/pc/biosdisk.c
13644 (grub_biosdisk_get_num_floppies): ... here.
13645 Transformed into C. Made static.
13646 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13647 New function.
13648 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13649 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13650 Transformed into C. Made static.
13651 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13652 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13653 Transformed into C. Made static.
13654 * grub-core/kern/i386/ieee1275/init.c: Removed.
13655 * grub-core/kern/i386/misc.S: Likewise.
13656 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13657 Splitted from here ...
13658 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13659 Transformed into C. Made static. All users updated.
13660 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13661 Transformed into C. Made static. All users updated.
13662 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13663 Moved from here...
13664 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13665 Transformed into C. Made static. All users updated.
13666 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13667 Moved from here...
13668 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13669 Transformed into C. Made static. All users updated.
13670 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13671 Removed (replaced by C version).
13672 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13673 Moved from here...
13674 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13675 Transformed into C. Made static.
13676 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13677 Moved from here...
13678 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13679 ... here. Transformed into C.
13680 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13681 Moved from here...
13682 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13683 ... here. Transformed into C.
13684 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13685 Moved from here...
13686 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13687 ... here. Transformed into C. Made static.
13688 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13689 Moved from here...
13690 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13691 ... here. Transformed into C.
21ed554b
VS
13692 * grub-core/kern/i386/pc/startup.S
13693 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13694 * grub-core/video/i386/pc/vbe.c
13695 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13696 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13697 Moved from here...
13698 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13699 ... here. Transformed into C.
13700 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13701 Moved from here...
13702 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13703 ... here. Transformed into C.
13704 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13705 Moved from here...
13706 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13707 ... here. Transformed into C.
13708 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13709 Moved from here...
13710 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13711 ... here. Transformed into C.
13712 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13713 Moved from here...
13714 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13715 ... here. Transformed into C. Made static.
13716 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13717 Moved from here...
13718 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13719 ... here. Transformed into C. Made static.
13720 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13721 Moved from here...
13722 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13723 ... here. Transformed into C. Made static.
13724 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13725 pxe_rm_entry as third argument.
13726 (grub_bios_interrupt): New function.
13727 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13728 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13729 of calling grub_stop.
13730 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13731 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13732 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13733 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13734 * grub-core/lib/i386/halt.c: Moved from here ...
13735 * grub-core/lib/i386/halt.c: ... here.
13736 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13737 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13738 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13739 grub_stop_floppy.
13740 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13741 * include/grub/i386/coreboot/init.h: Removed.
13742 * include/grub/i386/multiboot/init.h: Likewise.
13743 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13744 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13745 * include/grub/i386/pc/int.h: New file.
13746 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13747 (grub_pxe_scan): Removed.
13748 (grub_pxe_call): Update prototype.
13749 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13750 prototypes.
13751 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13752 * include/grub/i386/qemu/init.h: Removed.
13753 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13754 noreturn.
13755 (grub_halt): Likewise.
13756 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13757 (grub_reboot): Likewise.
13758 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13759 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13760 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13761
215dd471
RM
137622010-08-30 Robert Millan <rmh@gnu.org>
13763
13764 * NEWS: Document addition of ZFS support in `grub-install' and
13765 `grub-mkconfig'.
13766
ebd65b82
BC
137672010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13768
13769 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13770 dprintf output.
13771
11721d19
VS
137722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 Remove leftover embedding of font objects.
13775
13776 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13777 * util/grub-install.in (font): Removed.
13778 * util/grub-mkimage.c (generate_image): Remove font support. All users
13779 updated.
13780
37837d4e
VS
137812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 Remove leftover embedding of font objects.
13784
13785 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13786 * util/grub-install.in (font): Removed.
13787 * util/grub-mkimage.c (generate_image): Remove font support. All users
13788 updated.
13789
b4c1aae0
VS
137902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13793 Reported by: Ian Turner
b4c1aae0 13794
8920a08d
VS
137952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13798 timeout to avoid indefinite boot stalling.
13799
f21db033
VS
138002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13803 (grub_env_write_color_highlight): Likewise.
13804
9a9de209
VS
138052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * grub-core/normal/term.c (print_more): Return to normal and not
13808 to standard state after printing "---MORE---".
13809
3dca01d7
VS
138102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13813 Mask out the bit 0x80 since it has other meaning that specifiing color.
13814
0b986c40
VS
138152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 New relocator. Allows for more kernel support and more straightforward
13818 loader writing.
13819
13820 * Makefile.am (BOOTTARGET): New variable.
13821 (QEMU32): Likewise.
13822 (linux.init.x86_64): New target.
13823 (linux.init.i386): Likewise.
13824 (multiboot.elf): Likewise.
13825 (kfreebsd.elf): Likewise.
13826 (kfreebsd.aout): Likewise.
13827 (pc-chainloader.elf): Likewise.
13828 (pc-chainloader.bin): Likewise.
13829 (ntldr.elf): Likewise.
13830 (ntldr.bin): Likewise.
13831 (multiboot2.elf): Likewise.
13832 (kfreebsd.init.x86_64): Likewise.
13833 (kfreebsd.init.i386): Likewise.
13834 (knetbsd.init.i386): Likewise.
13835 (kopenbsd.init.i386): Likewise.
13836 (knetbsd.init.x86_64): Likewise.
13837 (kopenbsd.init.x86_64): Likewise.
13838 (linux-initramfs.i386): Likewise.
13839 (linux-initramfs.x86_64): Likewise.
13840 (kfreebsd-mfsroot.i386.img): Likewise.
13841 (knetbsd.image.i386): Likewise.
13842 (kopenbsd.image.i386): Likewise.
13843 (kopenbsd.image.x86_64): Likewise.
13844 (knetbsd.miniroot-image.i386.img): Likewise.
13845 (kfreebsd-mfsroot.x86_64.img): Likewise.
13846 (knetbsd.image.x86_64): Likewise.
13847 (knetbsd.miniroot-image.x86_64.img): Likewise.
13848 (kfreebsd-mfsroot.i386.gz): Likewise.
13849 (bootcheck-kfreebsd-i386): Likewise.
13850 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13851 (bootcheck-kfreebsd-x86_64): Likewise.
13852 (knetbsd.miniroot-image.i386.gz): Likewise.
13853 (bootcheck-knetbsd-i386): Likewise.
13854 (bootcheck-kopenbsd-i386): Likewise.
13855 (bootcheck-kopenbsd-x86_64): Likewise.
13856 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13857 (bootcheck-knetbsd-x86_64): Likewise.
13858 (bootcheck-linux-i386): Likewise.
13859 (bootcheck-linux-x86_64): Likewise.
13860 (bootcheck-linux16-i386): Likewise.
13861 (bootcheck-linux16-x86_64): Likewise.
13862 (bootcheck-multiboot): Likewise.
13863 (bootcheck-multiboot2): Likewise.
13864 (bootcheck-kfreebsd-aout): Likewise.
13865 (bootcheck-pc-chainloader): Likewise.
13866 (bootcheck-ntldr): Likewise.
13867 (CLEANFILES): Add new targets.
13868 (BOOTCHECKS): New variable.
13869 (.PHONY): Add bootchecks.
13870 (SUCCESSFUL_BOOT_STRING): New variable.
13871 (BOOTCHECK_TIMEOUT): Likewise.
13872 (bootcheck): New target
13873 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13874 * configure.ac: Correct efiemu excuse.
13875 * docs/grub.texi (Supported kernels): New chapter.
13876 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13877 include/grub/mm_private.h. Simplify inclusion of
13878 include/grub/boot.h, include/grub/loader.h
13879 and include/grub/msdos_partition.h
13880 (KERNEL_HEADER_FILES) [i386_coreboot]:
13881 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13882 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13883 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13884 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13885 include/grub/machine/loader.h.
13886 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13887 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13888 extra_dist.
13889 (pci.mod): Enable on i386-multiboot.
13890 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13891 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13892 i386-qemu.
13893 (relocator.mod): Rewritten.
13894 (aout.mod): Enable on all x86.
13895 (bsd.mod): Likewise.
13896 (ntldr.mod): New module.
13897 (linux.mod): Use loader/i386/linux.c on all x86.
13898 (xnu.mod): Enable on all x86.
13899 (vga_text.mod): disable on EFI and QEMU.
13900 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13901 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13902 * grub-core/efiemu/loadcore.c: Likewise.
13903 * grub-core/efiemu/main.c: Likewise.
13904 (grub_efiemu_exit_boot_services): Removed.
13905 (grub_efiemu_finish_boot_services): Likewise.
13906 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13907 function.
13908 * grub-core/efiemu/i386/nocfgtables.c: New file.
13909 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13910 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13911 (grub_efi_finish_boot_services): Moved from here ...
13912 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13913 Fille finish memory map and related data.
13914 (finish_mmap_buf): New variable.
13915 (grub_efi_uintn_t finish_mmap_size): Likewise.
13916 (grub_efi_uintn_t finish_key): Likewise.
13917 (grub_efi_uintn_t finish_desc_size): Likewise.
13918 (grub_efi_uint32_t finish_desc_version): Likewise.
13919 (grub_efi_is_finished): Likewise.
13920 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13921 finished.
13922 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13923 (grub_elf64_phdr_iterate): Likewise.
13924 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13925 (grub_os_area_size): Likewise.
13926 (grub_machine_init): Don't reserve os area.
13927 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13928 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13929 * grub-core/kern/i386/loader.S: Removed.
13930 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13931 (grub_os_area_size): Likewise.
13932 (grub_machine_init): Don't reserve os area.
13933 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13934 Don't call grub_dl_unload_all.
13935 Don't include loader.S.
13936 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13937 Declare the memory after _end as available.
13938 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13939 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13940 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13941 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13942 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13943 * include/grub/mm_private.h (grub_mm_header): ... here.
13944 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13945 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13946 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13947 (grub_mm_region): ..here. Removed addr. Added pre_size.
13948 All users updated.
13949 * grub-core/kern/mm.c (base): Renamed to ...
13950 (grub_mm_base): ... this. Made global.
13951 (grub_real_malloc): Alloc from end of region.
13952 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13953 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13954 * grub-core/kern/powerpc/cache_flush.S: ... here.
13955 * grub-core/lib/efi/relocator.c: New file.
13956 * grub-core/lib/i386/relocator.c: Rewritten.
13957 * grub-core/lib/i386/relocator16.S: New file.
13958 * grub-core/lib/i386/relocator32.S: Likewise.
13959 * grub-core/lib/i386/relocator64.S: Likewise.
13960 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13961 * grub-core/lib/i386/relocator_common.S: New file.
13962 * grub-core/lib/ieee1275/relocator.c: Likewise.
13963 * grub-core/lib/mips/relocator.c: Rewritten.
13964 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13965 stylistic adjustments.
13966 * grub-core/lib/powerpc/relocator.c: New file.
13967 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13968 * grub-core/lib/relocator.c: Rewritten.
13969 * grub-core/lib/x86_64/relocator_asm.S: New file.
13970 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13971 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13972 (bsd_tag): New struct.
13973 (tags): New variable.
13974 (tags_last): Likewise.
13975 (netbsd_module): New struct.
13976 (netbsd_mods): New variable.
13977 (netbsd_mods_last): Likewise.
13978 (openbsd_opts): New parameter "serial".
13979 (OPENBSD_SERIAL_ARG): New definition.
13980 (netbsd_opts): New parameter "serial".
13981 (NETBSD_SERIAL_ARG): New definition.
13982 (grub_freebsd_add_meta): Reorganised into ...
13983 (grub_bsd_add_meta): ...this. All users updated.
13984 (grub_freebsd_add_mmap): Reorganised into ...
13985 (generate_e820_mmap): ...this...
13986 (grub_bsd_add_mmap): ...and this. All users updated.
13987 (grub_freebsd_list_modules): Use tags.
13988 (grub_netbsd_add_meta_module): New function.
13989 (grub_netbsd_list_modules): Likewise.
13990 (grub_freebsd_boot): Use relocator and finish EFI.
13991 (grub_openbsd_boot): Likewise.
13992 (grub_netbsd_setup_video): New function.
13993 (grub_netbsd_add_modules): Likewise.
13994 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13995 and finish EFI.
13996 (grub_bsd_unload): Unload tags.
13997 (grub_bsd_load_aout): Use relocator.
13998 (grub_bsd_elf32_size_hook): New function.
13999 (grub_bsd_elf32_hook): Use relocator.
14000 (grub_bsd_elf64_size_hook): New function.
14001 (grub_bsd_elf64_hook): Use relocator.
14002 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14003 (grub_bsd_load): Zero-out openbsd_ramdisk.
14004 (grub_bsd_load): Use relocator.
14005 (grub_cmd_openbsd): Support serial.
14006 (grub_cmd_netbsd): Support modules.
14007 (grub_cmd_freebsd_module): Use relocator.
14008 (grub_netbsd_module_load): New function.
14009 (grub_cmd_netbsd_module): Likewise.
14010 (grub_cmd_openbsd_ramdisk): Likewise.
14011 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14012 kopenbsd_ramdisk.
14013 (GRUB_MOD_FINI): Unregister new commands.
14014 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14015 (grub_freebsd_load_elfmodule_obj): Use relocator.
14016 (grub_freebsd_load_elfmodule): Likewise.
14017 (grub_freebsd_load_elf_meta): Likewise.
14018 (grub_netbsd_load_elf_meta): New function.
14019 (grub_openbsd_find_ramdisk): Likewise.
14020 * grub-core/loader/i386/bsd_helper.S: Removed.
14021 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14022 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14023 * grub-core/loader/i386/efi/linux.c: Likewise.
14024 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14025 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14026 (DEFAULT_VIDEO_MODE): Likewise.
14027 (real_mode_target): New variable.
14028 (prot_mode_target): Likewise.
14029 (initrd_mem_target): Likewise.
14030 (relocator): Likewise.
14031 (efi_mmap_buf): Likewise.
14032 (efi_mmap_size): Likewise.
14033 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14034 (free_pages): Use relocator.
14035 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14036 (grub_linux_setup_video): Return error.
14037 (grub_linux_trampoline_start): Removed.
14038 (grub_linux_trampoline_end): Likewise.
14039 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14040 andd video parameters depending on firmware.
14041 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14042 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14043 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14044 (grub_cmd_initrd): Use relocator.
14045 * grub-core/loader/i386/linux_trampoline.S: Removed.
14046 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14047 (elf_sec_entsize): Likewise.
14048 (elf_sec_shstrndx): Likewise.
14049 (elf_sections): Likewise.
14050 (grub_multiboot_load): Use relocator.
14051 (grub_multiboot_get_mbi_size): Account for sections.
14052 (grub_multiboot_make_mbi): Use relocator and support sections.
14053 (grub_multiboot_add_elfsyms): New function.
14054 (grub_multiboot_free_mbi): Free sections.
14055 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14056 (grub_linux_real_target): Likewise.
14057 (grub_linux_real_chunk): Likewise.
14058 (grub_linux16_prot_size): Likewise.
14059 (grub_linux16_boot): Use relocator.
14060 (grub_linux_unload): Unload relocator.
14061 (grub_cmd_linux): Use relocator.
14062 (grub_cmd_initrd): Likewise.
14063 * grub-core/loader/i386/pc/ntldr.c: New file.
14064 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14065 Don't try to guess CPU frequency.
14066 (grub_xnu_set_video): Stretch bitmap.
14067 (grub_xnu_boot): Use relocator.
14068 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14069 (grub_linux_unload): Free relocator.
14070 (grub_linux_load32): Use relocator.
14071 (grub_linux_load64): Likewise.
14072 (grub_cmd_initrd): Likewise.
14073 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14074 (grub_multiboot_unload): Unload relocator.
14075 (grub_cmd_multiboot): Use relocator.
14076 (grub_cmd_module): Likewise.
14077 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14078 Use relocator and support sections.
14079 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14080 (elf_sec_entsize): Likewise.
14081 (elf_sec_shstrndx): Likewise.
14082 (elf_sections): Likewise.
14083 (grub_multiboot_load): Use relocator.
14084 (grub_multiboot_get_mbi_size): Account for sections.
14085 (grub_multiboot_make_mbi): Use relocator and support sections.
14086 (grub_multiboot_add_elfsyms): New function.
14087 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14088 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14089 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14090 Prototype changed. All users updated.
14091 (grub_xnu_align_heap): Simplified.
14092 (grub_xnu_writetree_toheap): Likewise.
14093 (grub_xnu_unload): Unload relocator.
14094 (grub_cmd_xnu_kernel): Use relocator.
14095 (grub_cmd_xnu_kernel64): Likewise.
14096 (grub_xnu_register_memory): Simplified.
14097 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14098 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14099 EFI is finished.
14100 (grub_console_checkkey): Likewise.
14101 (grub_console_getkey): Likewise.
14102 (grub_console_getwh): Likewise.
14103 (grub_console_getxy): Likewise.
14104 (grub_console_gotoxy): Likewise.
14105 (grub_console_cls): Likewise.
14106 (grub_console_setcolorstate): Likewise.
14107 (grub_console_setcursor): Likewise.
14108 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14109 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14110 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14111 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14112 * grub-core/tests/boot/kernel-8086.S: Likewise.
14113 * grub-core/tests/boot/kernel-i386.S: Likewise.
14114 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14115 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14116 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14117 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14118 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14119 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14120 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14121 * grub-core/tests/boot/linux.cfg: Likewise.
14122 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14123 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14124 * grub-core/tests/boot/linux16.cfg: Likewise.
14125 * grub-core/tests/boot/multiboot.cfg: Likewise.
14126 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14127 * grub-core/tests/boot/ntldr.cfg: Likewise.
14128 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14129 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14130 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14131 New definition.
14132 * include/grub/dl.h (grub_dl_unload_all): Removed.
14133 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14134 (grub_efi_finish_boot_services): Change prototype.
14135 (grub_efi_is_finished): New variable.
14136 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14137 Changed prototype.
14138 (grub_efiemu_finish_boot_services): Removed.
14139 (grub_machine_efiemu_init_tables): New prototype.
14140 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14141 (grub_elf64_phdr_iterate): Likewise.
14142 * include/grub/i386/bsd.h: Include relocator.h.
14143 (freebsd_tag_header): New struct.
14144 (grub_openbsd_bios_mmap): Removed.
14145 (grub_unix_real_boot): Removed.
14146 (grub_freebsd_load_elfmodule32): Changed prototype.
14147 (grub_freebsd_load_elfmodule_obj64): Likewise.
14148 (grub_freebsd_load_elf_meta32): Likewise.
14149 (grub_freebsd_load_elf_meta64): Likewise.
14150 (grub_freebsd_add_meta): Removed.
14151 (grub_netbsd_load_elf_meta32): New prototype.
14152 (grub_netbsd_load_elf_meta64): Likewise.
14153 (grub_bsd_add_meta): Likewise.
14154 (grub_openbsd_ramdisk_descriptor): New struct.
14155 (grub_openbsd_find_ramdisk32): New prototype.
14156 (grub_openbsd_find_ramdisk64): Likewise.
14157 * include/grub/i386/coreboot/loader.h: Removed.
14158 * include/grub/i386/efi/loader.h: Likewise.
14159 * include/grub/i386/ieee1275/loader.h: Likewise.
14160 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14161 to grub_uint32_t.
14162 * include/grub/i386/loader.h: Removed.
14163 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14164 value.
14165 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14166 (grub_phys_addr_t): New type.
14167 (grub_vtop): New inline function.
14168 (grub_map_memory): Likewise.
14169 (grub_unmap_memory): Likewise.
14170 * include/grub/i386/multiboot/loader.h: Removed.
14171 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14172 (NETBSD_BTINFO_CONSOLE): New definition.
14173 (NETBSD_BTINFO_SYMTAB): Likewise.
14174 (NETBSD_BTINFO_MODULES): Likewise.
14175 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14176 (grub_netbsd_bootinfo): New struct.
14177 (grub_netbsd_btinfo_common): Use explicit bitsize.
14178 (grub_netbsd_btinfo_mmap_entry): Removed.
14179 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14180 (grub_netbsd_btinfo_bootdisk): New struct.
14181 (grub_netbsd_btinfo_symtab): Likewise.
14182 (grub_netbsd_btinfo_serial): Likewise.
14183 (grub_netbsd_btinfo_modules): Likewise.
14184 (grub_netbsd_btinfo_framebuf): Likewise.
14185 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14186 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14187 Likewise.
14188 (grub_openbsd_bootargs): Use explicit bitsize.
14189 (grub_openbsd_bootarg_console): New struct.
14190 (GRUB_OPENBSD_COM_MAJOR): New definition.
14191 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14192 * include/grub/i386/pc/efiemu.h: Removed.
14193 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14194 * include/grub/i386/qemu/loader.h: Removed.
14195 * include/grub/i386/relocator.h: Rewritten.
14196 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14197 * include/grub/mips/memory.h: New file.
14198 * include/grub/mips/multiboot.h: Rewritten.
14199 * include/grub/mips/relocator.h: Rewritten.
14200 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14201 (grub_vtop): New function.
14202 (grub_map_memory): Likewise.
14203 (grub_unmap_memory): Likewise.
14204 * include/grub/misc.h (ALIGN_DOWN): New definition.
14205 * include/grub/mm.h (grub_mm_check_real): New proto.
14206 (GRUB_MM_CHECK): New definition.
14207 * include/grub/mm_private.h: New file.
14208 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14209 (grub_multiboot_get_mbi_size): Removed.
14210 (grub_multiboot_make_mbi): Change prottype.
14211 (grub_multiboot_set_accepts_video): New proto.
14212 (grub_multiboot_add_elfsyms): Likewise.
14213 (grub_multiboot_payload_eip): New variable.
14214 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14215 New prototype.
14216 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14217 New definition.
14218 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14219 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14220 * include/grub/powerpc/ieee1275/loader.h: Removed.
14221 * include/grub/powerpc/memory.h: New file.
14222 * include/grub/powerpc/relocator.h: Likewise.
14223 * include/grub/relocator.h: Likewise.
14224 * include/grub/relocator_private.h: Likewise.
14225 * include/grub/sparc64/ieee1275/loader.h: Removed.
14226 * include/grub/x86_64/memory.h: New file.
14227 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14228 (grub_xnu_heap_malloc): Likewise.
14229 (grub_xnu_heap_real_start): Removed.
14230 (grub_xnu_heap_start): Likewise.
14231 (grub_xnu_relocator): New variable.
14232 (grub_xnu_heap_target_start): Likewise.
14233 * tests/util/grub-shell.in: Support non-pc.
14234 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14235
5303b85d
VS
142362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14239 on malloc error.
14240 (grub_bidi_logical_to_visual): Check that malloc succeded.
14241 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14242 puts.
14243 (grub_xputs_normal): Likewise.
14244
d768d159
VS
142452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14248 extra_dist.
14249
142502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14253
5bf84df4
VS
142542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14257
3626810e
VS
142582010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14261 dprintf.
14262
a7363f53
BC
142632010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14264
14265 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14266
902f75f6
VS
142672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * grub-core/normal/term.c (print_more): Fix a memory leak.
14270 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14271 (grub_xputs_normal): Likewise.
14272
3c707967
VS
142732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14276 the begining of the string
14277
2053cc07
VS
142782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * grub-core/script/script.c (grub_script_parse): Free parsed on
14281 failure.
14282
46422ebf
VS
142832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14286 on failure.
14287
9e0fa3f6
VS
142882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14291 return.
14292
3393cf16
VS
142932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14296 (scroll_up): Fix a memory leak.
14297
b17540cb
VS
142982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14301 errors.
14302
67140446
VS
143032010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 Handle USB pendrives exposed as floppies.
14306
14307 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14308 floppy.
14309 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14310 Check for partitions on all devices.
14311
e35e46fc
VS
143122010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14315 (readkey): Likewise.
14316
d24c6190
BC
143172010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14318
14319 Multiple variable names support to "export" command.
14320
14321 * normal/context.c (grub_cmd_export): "export" command supports
14322 multiple variable names.
14323
04ddcc6a
ST
143242010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14325
14326 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14327 --target=drive output to Mach device name.
14328
0c8b61d8
BC
143292010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14330
14331 New Automake based build system for GRUB.
14332
14333 * ABOUT-NLS: New file.
14334 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14335 in Makefile.util.def file.
14336 * Makefile.util.def: New file. Autogen build definitions file for
14337 GRUB host utils.
14338 * conf/Makefile.common: New file. Common variables for GRUB host
14339 utils and target modules.
14340 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14341 * docs/Makefile.am: New file. Automake file for docs.
14342 * gentpl.py: New file. Python script to generate Autogen
14343 template.
14344 * grub-core/Makefile.am: New file. GRUB target modules' rules
14345 that doesn't fit in Makefile.core.def file.
14346 * grub-core/Makefile.core.def: New file. Autogen build
14347 definitions file for GRUB target modules.
14348 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14349 specific setjmp.S file.
14350 * po/Makefile.am: New file.
14351
14352 * .bzrignore: New ignores.
14353 * INSTALL: New requirements, without Ruby.
14354 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14355 * autogen.sh: Updated to invoke autogen as necessary.
14356 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14357 and defines for Automake conditionals.
14358 * geninit.sh: Refactoring.
14359
14360 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14361 necessary.
14362 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14363 New prototype.
14364
14365 * include/grub/test.h: Fix functional test modules' naming.
14366 * grub-core/tests/example_functional_test.c: Fix test module name.
14367
14368 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14369 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14370 * util/grub-editenv.c: Likewise.
14371 * util/grub-fstest.c: Likewise.
14372 * util/grub-mkdevicemap.c: Likewise.
14373 * util/grub-mkfont.c: Likewise.
14374 * util/grub-mkimage.c: Likewise.
14375 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14376 * util/grub-probe.c: Likewise.
14377 * util/grub-script-check.c: Likewise.
14378 * util/i386/pc/grub-setup.c: Likewise.
14379 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14380
14381 * tests/util/grub-shell.in: Fix override directory path.
14382 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14383 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14384
14385 * util/lvm.c: Update #includes.
14386 * util/raid.c: Likewise.
14387 * util/resolve.c: Likewise.
14388 * grub-core/bus/emu/pci.c: Likewise.
14389 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14390 * grub-core/lib/posix_wrap/string.h: Likewise.
14391 * grub-core/kern/emu/main.c: Likewise.
14392
14393 * grub-core/gensymlist.sh: New file. Script for generating kernel
14394 symbols file.
14395 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14396
14397 * grub-core/gentrigtables.c: Fix unused variable warnings.
14398
14399 * Makefile.in: Removed.
14400 * conf/any-emu.rmk: Removed.
14401 * conf/common.rmk: Removed.
14402 * conf/i386-coreboot.rmk: Removed.
14403 * conf/i386-efi.rmk: Removed.
14404 * conf/i386-ieee1275.rmk: Removed.
14405 * conf/i386-multiboot.rmk: Removed.
14406 * conf/i386-pc.rmk: Removed.
14407 * conf/i386-qemu.rmk: Removed.
14408 * conf/i386.rmk: Removed.
14409 * conf/mips-yeeloong.rmk: Removed.
14410 * conf/mips.rmk: Removed.
14411 * conf/powerpc-ieee1275.rmk: Removed.
14412 * conf/sparc64-ieee1275.rmk: Removed.
14413 * conf/tests.rmk: Removed.
14414 * conf/x86-efi.rmk: Removed.
14415 * conf/x86_64-efi.rmk: Removed.
14416 * gendistlist.sh: Removed.
14417 * geninitheader.sh: Removed.
14418 * genkernsyms.sh.in: Removed.
14419 * genmk.rb: Removed.
14420 * gensymlist.sh.in: Removed.
14421 * mkinstalldirs: Removed.
14422 * boot: Moved ...
14423 * grub-core/boot: ... to here.
14424 * bus: Moved ...
14425 * grub-core/bus: ... to here.
14426 * commands: Moved ...
14427 * grub-core/commands: ... to here.
14428 * disk: Moved ...
14429 * grub-core/disk: ... to here.
14430 * efiemu: Moved ...
14431 * grub-core/efiemu: ... to here.
14432 * font: Moved ...
14433 * grub-core/font: ... to here.
14434 * fs: Moved ...
14435 * grub-core/fs: ... to here.
14436 * gencmdlist.sh: Moved ...
14437 * grub-core/gencmdlist.sh: ... to here.
14438 * genemuinit.sh: Moved ...
14439 * grub-core/genemuinit.sh: ... to here.
14440 * genemuinitheader.sh: Moved ...
14441 * grub-core/genemuinitheader.sh: ... to here.
14442 * genfslist.sh: Moved ...
14443 * grub-core/genfslist.sh: ... to here.
14444 * genhandlerlist.sh: Moved ...
14445 * grub-core/genhandlerlist.sh: ... to here.
14446 * genmoddep.awk: Moved ...
14447 * grub-core/genmoddep.awk: ... to here.
14448 * genmodsrc.sh: Moved ...
14449 * grub-core/genmodsrc.sh: ... to here.
14450 * genpartmaplist.sh: Moved ...
14451 * grub-core/genpartmaplist.sh: ... to here.
14452 * genparttoollist.sh: Moved ...
14453 * grub-core/genparttoollist.sh: ... to here.
14454 * genterminallist.sh: Moved ...
14455 * grub-core/genterminallist.sh: ... to here.
14456 * gentrigtables.c: Moved ...
14457 * grub-core/gentrigtables.c: ... to here.
14458 * genvideolist.sh: Moved ...
14459 * grub-core/genvideolist.sh: ... to here.
14460 * gettext: Moved ...
14461 * grub-core/gettext: ... to here.
14462 * gfxmenu: Moved ...
14463 * grub-core/gfxmenu: ... to here.
14464 * gnulib: Moved ...
14465 * grub-core/gnulib: ... to here.
14466 * hello: Moved ...
14467 * grub-core/hello: ... to here.
14468 * hook: Moved ...
14469 * grub-core/hook: ... to here.
14470 * io: Moved ...
14471 * grub-core/io: ... to here.
14472 * kern: Moved ...
14473 * grub-core/kern: ... to here.
14474 * lib: Moved ...
14475 * grub-core/lib: ... to here.
14476 * loader: Moved ...
14477 * grub-core/loader: ... to here.
14478 * mmap: Moved ...
14479 * grub-core/mmap: ... to here.
14480 * normal: Moved ...
14481 * grub-core/normal: ... to here.
14482 * partmap: Moved ...
14483 * grub-core/partmap: ... to here.
14484 * parttool: Moved ...
14485 * grub-core/parttool: ... to here.
14486 * script: Moved ...
14487 * grub-core/script: ... to here.
14488 * term: Moved ...
14489 * grub-core/term: ... to here
14490 * tests/example_functional_test.c: Moved ...
14491 * grub-core/tests/example_functional_test.c: ... to here.
14492 * tests/lib/functional_test.c: Moved ...
14493 * grub-core/tests/lib/functional_test.c: ... to here.
14494 * tests/lib/test.c: Moved ...
14495 * grub-core/tests/lib/test.c: ... to here.
14496 * video: Moved ...
14497 * grub-core/video: ... to here.
14498
645586e6
BC
144992010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14500
14501 Replace --enable-grub-emu-modules with grub-emu-lite.
14502
14503 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14504 cache.S.
14505
14506 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14507 * kern/emu/full.c: New file. For grub-emu specific initialization.
14508 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14509 * kern/emu/main.c: Call initialization function grub_emu_init.
14510
14511 * Makefile.in: Include grub-emu-lite in install.
14512 * commands/parttool.c: Use grub_no_autoload to differentiate
14513 between grub-emu and grub-emu-lite.
14514 * include/grub/misc.h: New variable grub_no_autoload.
14515
14516 * conf/any-emu.rmk: New rules for grub-emu-lite.
14517 * configure.ac: Remove --enable-grub-emu-modules.
14518 * genmk.rb: Cleanup unnecessary rules.
14519 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14520
14521 * normal/main.c: Don't load list files on grub-emu-lite.
14522 * util/misc.c (grub_arch_sync_caches): Removed.
14523
f86a4030
CW
145242010-08-23 Colin Watson <cjwatson@ubuntu.com>
14525
14526 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14527 grub-mkimage rather than grub-mkelfimage.
14528 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14529
06776944
VS
145302010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14531
14532 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14533 a key after CapsLock or NumLock. It's just a qemu bug.
14534
df262419
VS
145352010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14538 needed by libusb wrapper.
14539
b40ea81b
ST
145402010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14541
14542 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14543
dee50575
VS
145442010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14547 --nounzip is passed.
14548
fb1d7b79
VS
145492010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 USB hotunplugging and USB serial support.
14552
14553 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14554 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14555 (grub_uhci_transfer): Respect timeout and set *actual.
14556 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14557 non-standard length.
14558 (grub_usb_device_attach): Autoload modules.
14559 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14560 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14561 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14562 users updated.
14563 (grub_usb_add_hub): Fill nports and children.
14564 (attach_root_port): Receive hub instead of controller.
14565 All users updated. Fill hub->devices.
14566 (grub_usb_root_hub): Allocate hub->devices.
14567 (detach_device): New function.
14568 (poll_nonroot_hub): Fill children and detach devices.
14569 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14570 actual arguments. All users updated.
14571 (grub_usb_bulk_read_extended): New function.
14572 * bus/usb/serial/common.c: New file.
14573 * bus/usb/serial/ftdi.c: Likewise.
14574 * bus/usb/serial/pl2303.c: Likewise.
14575 * commands/terminal.c (handle_command): Support wildcard.
14576 * commands/usbtest.c: Output "Unknown" instead of empty string.
14577 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14578 (usbserial_common_mod_SOURCES): New variable.
14579 (usbserial_common_mod_CFLAGS): Likewise.
14580 (usbserial_common_mod_LDFLAGS): Likewise.
14581 (pkglib_MODULES): Add usbserial_pl2303.mod.
14582 (usbserial_pl2303_mod_SOURCES): New variable.
14583 (usbserial_pl2303_mod_CFLAGS): Likewise.
14584 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14585 (pkglib_MODULES): Add usbserial_ftdi.mod.
14586 (usbserial_ftdi_mod_SOURCES): New variable.
14587 (usbserial_ftdi_mod_CFLAGS): Likewise.
14588 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14589 (pkglib_MODULES): Add serial.mod.
14590 (serial_mod_SOURCES): New variable.
14591 (serial_mod_CFLAGS): Likewise.
14592 (serial_mod_LDFLAGS): Likewise.
14593 * conf/i386-pc.rmk: Likewise.
14594 * conf/mips-yeeloong.rmk: Likewise.
14595 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14596 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14597 * disk/usbms.c (first_available_slot): New variable.
14598 (grub_usbms_attach): Don't reuse free slots due to potential cache
14599 problems.
14600 * include/grub/serial.h: Moved to ..
14601 * include/grub/ns8250.h: ...this.
14602 * include/grub/serial.h: New file.
14603 * include/grub/term.h (grub_term_poll_usb): New variable.
14604 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14605 readkey. All users updated.
14606 (grub_terminfo_output_state): Pass term to put.
14607 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14608 (grub_usb_controller_dev): Add timeout and actual arguments to
14609 transfer. All users updated.
14610 (grub_usb_interface): New field detach_data.
14611 (grub_usb_device): New fields children and nports.
14612 (grub_usb_ep_type_t): New type.
14613 (grub_usb_get_ep_type): New function.
14614 (grub_usb_bulk_read_extended): Likewise.
14615 * include/grub/usbdesc.h (grub_usb_desc): New type.
14616 * include/grub/usbserial.h: New file.
14617 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14618 * kern/term.c (grub_term_poll_usb): New variable.
14619 (grub_getkey): Call grub_term_poll_usb if set.
14620 (grub_checkkey): Likewise.
14621 (grub_getkeystatus): Likewise.
14622 * term/serial.c: Moved controller-specific parts to ...
14623 * term/ns8250.c: ... here.
14624 * term/serial.c: Mostly rewritten.
14625 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14626 according to spec.
14627
21a313de
RM
146282010-08-20 Robert Millan <rmh@gnu.org>
14629
14630 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14631 a separate module and maybe other interesting combinations.
14632
14633 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14634 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14635 (kfreebsd_entry): Add generic filesystem module load routine.
14636 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14637
63c734a6
CW
146382010-08-20 Colin Watson <cjwatson@ubuntu.com>
14639
14640 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14641 "numcenter" (I misunderstood the purpose of this entry).
14642 * docs/grub.texi (sendkey): Likewise.
14643
c4d16542
CW
146442010-08-20 Colin Watson <cjwatson@ubuntu.com>
14645
14646 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14647 status flag options; simply omitting the option is equivalent and
14648 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14649 (keysym_table): Rename "num5numlock" to "numlock".
14650 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14651 can uniformly say that only the last of multiple `sendkey'
14652 invocations has any effect.
14653 * docs/grub.texi (sendkey): New section.
14654
93541d66
CW
146552010-08-19 Colin Watson <cjwatson@ubuntu.com>
14656
14657 * commands/i386/pc/sendkey.c (options): Fix three typos.
14658
b4ece5e1
VS
146592010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 Implement sendkey support.
14662
14663 * commands/i386/pc/sendkey.c: New file.
14664 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14665 (sendkey_mod_SOURCES): New variable.
14666 (sendkey_mod_CFLAGS): Likewise.
14667 (sendkey_mod_LDFLAGS): Likewise.
14668
51f1f5af
CW
146692010-08-18 Colin Watson <cjwatson@ubuntu.com>
14670
14671 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14672 fix warnings from Autoconf.
14673
9da94e05
CW
146742010-08-18 Colin Watson <cjwatson@ubuntu.com>
14675
14676 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14677 to avoid false positives with some assemblers that output things
14678 like "someprefix_func" as part of their output.
14679
729a0f2e
RM
146802010-08-15 Robert Millan <rmh@gnu.org>
14681
14682 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14683 errors.
14684 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14685 grub_get_libzfs_handle() errors.
14686
f3710e08
RM
146872010-08-14 Robert Millan <rmh@gnu.org>
14688
14689 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14690 filesystem is not ZFS.
14691
7a3c13de
BC
146922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14693
14694 Fix for misspelled color names defaulting to black/black (bug
14695 reported by Doug Nazar)
14696
14697 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14698 status to prototype.
14699 * normal/color.c (grub_parse_color_name_pair): Return failure
14700 status.
14701 (grub_env_write_color_normal): Ignore bad color names.
14702 (grub_env_write_color_highlight): Likewise.
14703 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14704
ab8ba50d
BC
147052010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14706
14707 "shift" command support to GRUB script.
14708
14709 * include/grub/script_sh.h (grub_script_shift): New prototype.
14710 * script/execute.c (grub_script_shift): New function.
14711 * script/main.c (grub_script_init): Register shift command.
14712 (grub_script_fini): Unregister shift command.
14713 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14714
14715 * tests/grub_script_shift.in: New testcase.
14716 * conf/tests.rmk: Rules for new testcase.
14717
4d61999e
BC
147182010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14719
14720 "continue" command support to GRUB script.
14721
14722 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14723 (grub_script_break): Continue support.
14724 * script/main.c (grub_script_init): Register continue command.
14725 (grub_script_fini): Unregister continue command.
14726
14727 * tests/grub_script_continue.in: New testcase.
14728 * conf/tests.rmk: Rules for new testcase.
14729
4df51e00
BC
147302010-08-12 BVK Chaitanya <bvk@dbook>
14731
14732 "break" command support to GRUB script.
14733
14734 * conf/common.rmk: Rule updates to grub-script-check.
14735 * include/grub/misc.h (grub_min): New function.
14736 * include/grub/script_sh.h (grub_script_init): New prototype.
14737 (grub_script_fini): New prototype.
14738 (grub_script_break): New prototype.
14739 * script/main.c (grub_script_init): New function.
14740 (grub_script_fini): New function.
14741 * script/execute.c (grub_script_break): New function.
14742 * normal/main.c: Calls to grub_script_{init,fini}.
14743 * util/grub-script-check.c (grub_script_break): New function.
14744
14745 * tests/grub_script_break.in: New testcase.
14746 * conf/tests.rmk: Rules for new test case.
14747
f12c8420
BC
147482010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14749
14750 Function parameters support to GRUB script.
14751
14752 * script/yylex.l (VARIABLE): Regular expression update.
14753 * script/function.c (grub_script_function_call): Moved ...
14754 * script/execute.c (grub_script_function_call): ... to here.
14755 (grub_script_execute_arglist_to_argv): Removed.
14756 (grub_script_arglist_to_argv): New function.
14757 * script/argv.c: New file.
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 * include/grub/script_sh.h (grub_script_argv): New struct.
14763 (grub_script_argv_free): New function.
14764 (grub_script_argv_next): Likewise.
14765 (grub_script_argv_append): Likewise.
14766 (grub_script_argv_split_append): Likewise.
14767
14768 * conf/common.rmk (normal.mod): New source script/argv.c.
14769
14770 * tests/grub_script_echo1.in: More tests.
14771 * tests/grub_script_vars1.in: Likewise.
14772 * tests/grub_script_functions.in: New test case.
14773 * conf/tests.rmk: Rules for new testcase.
14774
8022b748
BC
147752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14776
14777 Remove grub_script_cmdblock struct.
14778
14779 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14780 * script/parser.y: Likewise.
14781 * script/execute.c: Rename cmdblock suffix to cmdlist.
14782 * script/script.c: Likewise.
14783 * util/grub-script-check.c: Likewise.
14784
79a6ba61
YB
147852010-08-11 Yves Blusseau <blusseau@zetam.org>
14786
14787 * .bzrignore: add grub-macho2img
14788
d04b9414
VS
147892010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14792
f947ab49
VS
147932010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 Remove the dump of sm712 initialisation sequence.
14796
14797 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14798 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14799 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14800 (GRUB_VGA_CR_*): Added many registers.
14801 (GRUB_VGA_SR_*): Likewise.
14802 (GRUB_VGA_GR_*): Likewise.
14803 (grub_vga_write_arx): New function.
14804 (grub_video_hw_config): New struct.
14805 (grub_vga_set_geometry): New function.
14806 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14807 GRUB_PCI_CLASS_SUBCLASS_VGA.
14808 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14809 * video/sm712.c (grub_sm712_write_reg): New function
14810 (grub_sm712_read_reg): Likewise.
14811 (grub_sm712_sr_write): Likewise.
14812 (grub_sm712_gr_write): Likewise.
14813 (grub_sm712_cr_write): Likewise.
14814 (grub_sm712_write_arx): Likewise.
14815 (grub_sm712_cr_shadow_write): Likewise.
14816 (grub_sm712_write_dda_lookup): Likewise.
14817 (grub_video_sm712_setup): Initialise the video rather then
14818 blindly replay the dump.
14819 (main) [TEST]: Add a routine to be able to compile as standalone for
14820 tests.
14821 * video/sm712_init.c (sm712_init): Removed.
14822 (sm712_sr_seq1): New array.
14823 (sm712_sr_seq2): Likewise.
14824
f0206638
VS
148252010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * include/grub/vga.h: Add missing grub/pci.h include.
14828
2764da3b
YB
148292010-08-10 Yves Blusseau <blusseau@zetam.org>
14830
14831 * util/grub-macho2img.c (main): fix typo
14832
cf0c775e
VS
148332010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14836 (grub_vga_gr_read): Likewise.
14837 (grub_vga_cr_write): Likewise.
14838 (grub_vga_cr_read): Likewise.
14839 (grub_vga_sr_write): Likewise.
14840 (grub_vga_sr_read): Likewise.
14841 (grub_vga_palette_read): Likewise.
14842 (grub_vga_palette_write): Likewise.
14843 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14844 (grub_sm712_sr_read): New function.
14845 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14846 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14847
07f360e9
RM
148482010-08-09 Robert Millan <rmh@gnu.org>
14849
14850 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14851 out unused variables on non-ZFS build.
14852
346c2072
RM
148532010-08-08 Robert Millan <rmh@gnu.org>
14854
14855 Fix path generation for sub-filesystems in ZFS.
14856
14857 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14858 missing slash.
14859
71175420
RM
148602010-08-08 Robert Millan <rmh@gnu.org>
14861
14862 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14863
0d8286f3
RM
148642010-08-08 Robert Millan <rmh@gnu.org>
14865
14866 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14867 exist, issue a proper error message (rely on `ls' for translated
14868 strings).
14869
55dd2924
RM
148702010-08-08 Robert Millan <rmh@gnu.org>
14871
14872 Fix grub-probe invocation.
14873
14874 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14875
d3dd9e80
RM
148762010-08-04 Robert Millan <rmh@gnu.org>
14877
14878 * configure.ac: Remove checks for getfsstat() and getmntany().
14879 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14880 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14881 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14882 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14883 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14884 function.
14885 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14886 via find_mount_point_from_dir() and getfsstat() / getmntany().
14887
0de22aa9
RM
148882010-08-04 Robert Millan <rmh@gnu.org>
14889
14890 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14891 (grub_find_zpool_from_mount_point): Merge into ...
14892 (grub_find_zpool_from_dir): ... this.
14893 * kern/emu/misc.c: Likewise.
14894
14895 * kern/emu/misc.c
14896 (grub_make_system_path_relative_to_its_root): Replace
14897 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14898 with grub_find_zpool_from_dir().
14899 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14900
62858144
RM
149012010-08-04 Robert Millan <rmh@gnu.org>
14902
14903 Support OpenSolaris in ZFS device resolution.
14904
14905 * configure.ac: Check for getmntany().
14906 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14907 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14908 support.
14909
9dd6fd50
RM
149102010-08-03 Robert Millan <rmh@gnu.org>
14911
14912 Fix grub-emu build.
14913
14914 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14915 * include/grub/emu/misc.h: ... here.
14916
14917 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14918 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14919
14920 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14921 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14922 (grub_get_libzfs_handle): Move to ...
14923 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14924 (grub_get_libzfs_handle): ... here.
14925
c9f7ff97
BC
149262010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14927
14928 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14929 as command name case.
14930
a870a783
CW
149312010-08-02 Colin Watson <cjwatson@ubuntu.com>
14932
14933 * disk/raid.c (insert_array): Select unique numbers for named arrays
14934 as well, for use as keys in the disk cache.
14935
c7db243b
RM
149362010-08-01 Robert Millan <rmh@gnu.org>
14937
14938 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14939 kFreeBSD device name, except on ZFS where the filesystem label is
14940 used.
14941 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14942 `/boot/zfs/zpool.cache'.
14943 Set mountfrom kernel variable using ${kfreebsd_device}.
14944
f7abdefb
RM
149452010-08-01 Robert Millan <rmh@gnu.org>
14946
14947 Make it even harder to use uninitialized `libzfs_handle' (and
14948 make the interface a bit simpler).
14949
14950 * include/grub/util/misc.h (grub_util_init_libzfs)
14951 (libzfs_handle): Remove.
14952 (grub_get_libzfs_handle): New prototype.
14953
14954 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14955 attribute.
14956 (grub_util_init_libzfs): Remove.
14957 (grub_get_libzfs_handle): New function.
14958
14959 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14960 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14961 accessing `libzfs_handle' directly.
14962
c882acc0
RM
149632010-08-01 Robert Millan <rmh@gnu.org>
14964
14965 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14966 (grub_find_zpool_from_mount_point): New function prototypes.
14967
14968 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14969 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14970
14971 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14972 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14973 `static' attribute.
14974
14975 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14976 finding zpool from mount point into ...
14977 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14978
14979 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14980 requested path is part of a ZFS pool, use
14981 grub_find_zpool_from_mount_point() to detect its filesystem name,
14982 and generate a path with `/fsname@path' syntax.
14983
8bfe31d8
CW
149842010-08-01 Colin Watson <cjwatson@ubuntu.com>
14985
14986 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14987 (void) rather than () so that this is a proper prototype.
14988
553df63d
VS
149892010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14990
14991 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14992
8687cf07
VS
149932010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14996 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14997
ea9be8ea
CW
149982010-08-01 Colin Watson <cjwatson@ubuntu.com>
14999
15000 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15001
6eea041a
CW
150022010-08-01 Colin Watson <cjwatson@ubuntu.com>
15003
15004 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15005
2cfb45df
CW
150062010-08-01 Colin Watson <cjwatson@ubuntu.com>
15007
15008 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15009 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15010 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15011 disable gfxpayload.
15012 (Shell-like scripting): Add real content.
15013 (Serial terminal): Suggest `terminal_input serial; terminal_output
15014 serial' rather than putting the two commands on separate lines,
15015 since console input will be inoperative after the first command.
15016 (menuentry): Document --class, --users, and --hotkey options.
15017 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15018 Vladimir Serbinenko).
15019
7decd202
VS
150202010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
150212010-08-01 Colin Watson <cjwatson@ubuntu.com>
15022
15023 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15024
c882acc0
RM
150252010-08-01 Robert Millan <rmh@gnu.org>
15026
15027 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15028 (grub_find_zpool_from_mount_point): New function prototypes.
15029
15030 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15031 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15032
15033 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15034 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15035 `static' attribute.
15036
15037 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15038 finding zpool from mount point into ...
15039 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15040
15041 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15042 requested path is part of a ZFS pool, use
15043 grub_find_zpool_from_mount_point() to detect its filesystem name,
15044 and generate a path with `/fsname@path' syntax.
15045
deb0caa3
RM
150462010-08-01 Robert Millan <rmh@gnu.org>
15047
15048 Prevent accidental use of uninitialized libzfs_handle.
15049
15050 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15051 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15052 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15053
ce04ef47
CW
150542010-08-01 Colin Watson <cjwatson@ubuntu.com>
15055
15056 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15057 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15058
ebf53056
RM
150592010-08-01 Robert Millan <rmh@gnu.org>
15060
15061 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15062
3710bb6b
RM
150632010-07-31 Robert Millan <rmh@gnu.org>
15064
15065 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15066
8072efeb
RM
150672010-07-31 Robert Millan <rmh@gnu.org>
15068
15069 * kern/emu/misc.c: Add missing license header.
15070
3169f4c7
RM
150712010-07-31 Robert Millan <rmh@gnu.org>
15072
15073 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15074
15075 * include/grub/util/libnvpair.h: Include `<config.h>'.
15076 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15077 declaring libnvpair prototypes ourselves.
15078 * include/grub/util/libzfs.h: Include `<config.h>'.
15079 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15080 declaring libzfs prototypes ourselves.
15081
15082 (libzfs_handle): Moved to ...
15083 * include/grub/util/misc.h (libzfs_handle): ... here.
15084 Include `<grub/util/libzfs.h>'.
15085
c9a00aee
RM
150862010-07-30 Robert Millan <rmh@gnu.org>
15087
15088 * include/grub/emu/misc.h: Add missing license header.
15089
a184f9c8
RM
150902010-07-30 Robert Millan <rmh@gnu.org>
15091
15092 Enable `grub-probe -t device' resolution on ZFS.
15093
15094 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15095 * include/grub/util/libnvpair.h: New file.
15096 * include/grub/util/libzfs.h: New file.
15097
15098 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15099 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15100 `<grub/util/libnvpair.h>'.
15101 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15102
15103 (find_mount_point_from_dir): New static function.
15104 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15105 function.
15106 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15107 find_root_device_from_libzfs() before ressorting to find_root_device().
15108
15109 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15110 prototype.
15111 * util/misc.c: Include `<grub/util/libzfs.h>'.
15112 (grub_util_init_libzfs): New function.
15113 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15114 [HAVE_LIBZFS] (fini_libzfs): New static function.
15115 (grub_util_init_libzfs): New function.
15116 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15117
f7790cdd
RM
151182010-07-30 Robert Millan <rmh@gnu.org>
15119
15120 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15121 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15122 `warn_unused_result' attribute.
15123 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15124 (grub_xasprintf, grub_xvasprintf): Likewise.
15125 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15126
0806b63c
RM
151272010-07-29 Robert Millan <rmh@gnu.org>
15128
15129 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15130 (probe): Handle `PRINT_FS_LABEL'.
15131 (main): Handle `-t fs_label'.
15132
9f841f5c
RM
151332010-07-29 Robert Millan <rmh@gnu.org>
15134
15135 * configure.ac: Remove grub-mkisofs checks.
15136
46371121
VS
151372010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15140 Reported by: Lennart Sorensen.
15141
151422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15145 prior to terminal_input/terminal_output separation. It's been over 1.5
15146 years and those versions weren't widely deployed.
15147
a9600892
CW
151482010-07-22 Colin Watson <cjwatson@ubuntu.com>
15149
15150 * disk/raid.c (insert_array): Don't count named arrays when looking
15151 for unused array numbers.
697e053c 15152 Reported and tested by: Michael Guntsche.
a9600892 15153
c03507df
CW
151542010-07-20 Colin Watson <cjwatson@ubuntu.com>
15155
15156 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15157 implementation of this so that grub-emu links again, with a note
15158 that this should support hotplugging in the future.
15159
b26f1c11
CW
151602010-07-20 Colin Watson <cjwatson@ubuntu.com>
15161
15162 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15163
efc9d7f1
CW
151642010-07-20 Colin Watson <cjwatson@ubuntu.com>
15165
15166 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15167 handle on failure.
15168 (grub_loopback_close): Remove empty function.
15169 (grub_loopback_dev): Remove close method.
15170
dd8ff5c9
CW
151712010-07-20 Colin Watson <cjwatson@ubuntu.com>
15172
15173 Disable EFI cursor when the EFI console becomes inactive.
15174
15175 * term/efi/console.c (grub_efi_console_init): New function.
15176 (grub_efi_console_fini): New function.
15177 (grub_console_term_output): Register init and fini methods.
15178
5e3bec67
VS
151792010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15182 sh script.
15183
afaec079
VS
151842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 * disk/loopback.c (grub_loopback): Replace filename with file.
15187 (delete_loopback): Handle new semantics.
15188 (grub_cmd_loopback): Likewise.
15189 (grub_loopback_iterate): Likewise.
15190 (grub_loopback_close): Likewise.
15191
a6a11f3c
VS
151922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15193
15194 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15195 with -p "".
15196 Reported by: Tito Keitel.
15197
64a638b0
VS
151982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 * docs/grub.texi (Naming convention): Document new naming convention.
15201
ab8ba957
VS
152022010-07-20 Vadim Solomin <vadic052@gmail.com>
152032010-07-20 Colin Watson <cjwatson@ubuntu.com>
15204
15205 Generate device.map in something closer to the old ordering.
15206
15207 * util/deviceiter.c (struct device): New declaration.
15208 (compare_file_names): Rename to ...
15209 (compare_devices): ... this. Sort by kernel name in preference to
15210 the stable by-id name, but keep the latter as a fallback comparison.
15211 Update header comment.
15212 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15213 of `struct device' rather than of plain file names.
15214
a29d6a4b
TF
152152010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15216
15217 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15218 on i386.
15219
39d824e8
VS
152202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15221
15222 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15223 hardcoding size.
15224 (setv1table): Likewise.
15225
f058276b
FZ
152262010-07-20 Colin Watson <cjwatson@ubuntu.com>
15227
15228 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15229 removing the homehost if present.
15230 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15231 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15232 removing the homehost if present.
15233 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15234 if possible.
15235 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15236
15237 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15238 parameter. Set its pointer target to 0.
15239 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15240 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15241 `data_offset' value from the superblock for 1.x metadata.
15242 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15243 data on the device.
15244 (insert_array): Record the start sector of data on the device.
15245 (grub_raid_register): Pass start_sector parameters to
15246 grub_raid_list->detect and insert_array.
15247 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15248 member.
15249 (struct grub_raid): Add start_sector parameter to `detect'.
15250
15251 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15252 __attribute__ ((packed)), leaving a comment.
15253 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15254 (grub_mdraid_detect_09): ... here and ...
15255 (grub_mdraid_detect_1x): ... here.
15256
152572010-07-20 Peter Henn <peter.henn@web.de>
15258
15259 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15260 chunk size and disk size, which are already given as sector counts
15261 as distinct from the 0.90 units. Fetch the correct device number
15262 from the role table instead of using the table index.
15263
152642010-07-20 Felix Zielcke <fzielcke@z-51.de>
15265
15266 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15267 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15268 (WriteMostly1): New macro.
15269 Set array->name to NULL for metadata format 0.90. Add support for
15270 metadata 1.x. Fix some comments.
15271 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15272 few comments.
15273 * util/getroot.c (grub_util_get_grub_dev): Add support for
15274 /dev/md/name style devices.
15275
4b761da9
CW
152762010-07-20 Colin Watson <cjwatson@ubuntu.com>
15277
15278 * .bzrignore: Ignore 20_linux_xen.
15279
5771289a
CW
152802010-07-17 Colin Watson <cjwatson@ubuntu.com>
15281
15282 * util/import_unicode.py: Remove unnecessary imports.
15283
5dab68df
AN
152842010-07-17 Aleš Nesrsta <starous@volny.cz>
15285
15286 Hotplugging and USB hub support.
15287
15288 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15289 (grub_ohci): Likewise.
15290 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15291 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15292 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15293 (GRUB_OHCI_CTRL_EDS): Likewise.
15294 (GRUB_OHCI_BULK_EDS): Likewise.
15295 (GRUB_OHCI_TDS): Likewise.
15296 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15297 (grub_ohci_ed_phys2virt): New function.
15298 (grub_ohci_virt_to_phys): Likewise.
15299 (grub_ohci_td_phys2virt): Likewise.
15300 (grub_ohci_td_virt2phys): Likewise.
15301 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15302 attachment.
15303 (grub_ohci_find_ed): New function.
15304 (grub_ohci_alloc_td): Likewise.
15305 (grub_ohci_free_td): Likewise.
15306 (grub_ohci_free_tds): Likewise.
15307 (grub_ohci_transfer): Use previously allocated memory.
15308 (grub_ohci_portstatus): Reset status changed bit.
15309 (grub_ohci_detect_dev): Supply status changed.
15310 (grub_ohci_fini_hw): Free memory.
15311 (grub_ohci_restore_hw): Reallocate memory.
15312 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15313 Reset status change.
15314 (grub_uhci_detect_dev): Supply status_change.
15315 * bus/usb/usb.c (attach_hooks): New var.
15316 (grub_usb_device_attach): New function.
15317 (grub_usb_register_attach_hook_class): Likewise.
15318 (grub_usb_unregister_attach_hook_class): Likewise.
15319 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15320 (grub_usb_add_hub): Reset connection changed bit.
15321 (attach_root_port): New function.
15322 (grub_usb_root_hub): Likewise.
15323 (poll_nonroot_hub): Likewise.
15324 (grub_usb_poll_devices): Likewise.
15325 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15326 * disk/usbms.c (grub_usbms_open): Use device hooks.
15327 (grub_usbms_iterate) :Poll devices.
15328 (grub_usbms_finddevs): Split into ...
15329 (grub_usbms_attach): ... this ...
15330 (grub_usbms_attach): ... and this.
15331 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15332 in detect_dev.
15333 (grub_usb_interface): New fields attached and detach_hook.
15334 (grub_usb_attach_hook_class): New type.
15335 (grub_usb_attach_desc): New struct.
15336 (grub_usb_register_attach_hook_class): New function.
15337 (grub_usb_unregister_attach_hook_class): Likewise.
15338 (grub_usb_poll_devices): Likewise.
15339 (grub_usb_device_attach): Likewise.
15340 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15341 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15342
3222efaf
VS
153432010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15346 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15347 delta determination style. Works with most NetBSD partitions too.
15348
139b714a
VS
153492010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15350
15351 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15352 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15353
986aad56
VS
153542010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15357
99be513c
AB
153582010-07-14 Anton Blanchard <anton@samba.org>
15359
15360 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15361 ET_DYN files.
15362
18075f62
GS
153632010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15364
15365 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15366
8d9a5b15
GS
153672010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15368
15369 * kern/partition.c (grub_partition_check_containment): New function to
15370 check that a partition is physically contained in a parent. Since
15371 offsets are relative (and non-negative), this reduces to checking that
15372 the partition ends before its parent.
15373 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15374 (grub_partition_iterate): Likewise.
15375 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15376 comments.
15377 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15378 partitions that start before their parent, and add debug printfs.
15379
19563c25
CW
153802010-07-13 Colin Watson <cjwatson@ubuntu.com>
15381
15382 * Makefile.in (.SUFFIX): Spell correctly, as ...
15383 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15384 bare module name without `.mod', e.g. `test') tried to invoke a
15385 Modula-2 compiler.
15386
1a1f1e67
CW
153872010-07-13 Colin Watson <cjwatson@ubuntu.com>
15388
15389 * README: Point to the Info manual.
15390
811b0dca
JS
153912010-07-13 Jiro SEKIBA <jir@unicus.jp>
15392
15393 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15394 2nd superblock position from partition size.
15395
e4f4eafc
CW
153962010-07-10 Colin Watson <cjwatson@ubuntu.com>
15397
15398 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15399 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15400 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15401 outputs.
15402
4274c30f
VS
154032010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 Restructure SCSI .id handling.
15406 Reported and tested by: Aleš Nesrsta.
15407
15408 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15409 (grub_atapi_dev): Changed .name to "ata". New field .id.
15410 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15411 (grub_usbms_dev): New field .id.
15412 * disk/scsi.c (grub_scsi_iterate): Generate name.
15413 (grub_scsi_open): Parse name.
15414 * include/grub/scsi.h (grub_make_scsi_id): New function.
15415 (grub_scsi_dev): Change iterate and open to number instead of naming
15416 busses. All users updated.
15417 (grub_scsi): Remove name. Add .bus.
15418
5bc24388
VS
154192010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * commands/help.c (grub_cmd_help): Fix a typo.
15422
249975ba
VS
154232010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15426 Reported and tested by: Colin Watson.
15427
3eaac1a1
VS
154282010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15431 in this context.
15432
becce1b1
VS
154332010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15436
f7bf0918
CW
154372010-07-07 Colin Watson <cjwatson@ubuntu.com>
15438
15439 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15440 indentation.
15441
0b0f9620
CW
154422010-07-06 Colin Watson <cjwatson@ubuntu.com>
15443
15444 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15445 and disk/raid6_recover.c.
15446 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15447 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15448
1e545469
CW
154492010-07-06 Colin Watson <cjwatson@ubuntu.com>
15450
15451 * term/gfxterm.c (repaint_schedulded): Rename to ...
15452 (repaint_scheduled): ... this. Update all callers.
15453 (repaint_was_schedulded): Rename to ...
15454 (repaint_was_scheduled): ... this. Update all callers.
15455
5357687a
CW
154562010-07-06 Colin Watson <cjwatson@ubuntu.com>
15457
15458 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15459 which we expect to be handled by upper layers.
15460
29d7e783
BC
154612010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15462
15463 * bus/usb/usbhub.c: #include time.h header.
15464
37582066
CW
154652010-07-06 Colin Watson <cjwatson@ubuntu.com>
15466
15467 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15468 entry_name also for entries without stat blocks (e.g. ".."); fixes
15469 corruption of the first entry in a directory.
15470
c8c06953
CW
154712010-07-06 Colin Watson <cjwatson@ubuntu.com>
15472
15473 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15474 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15475 doesn't work otherwise.
15476
e75056f1
CW
154772010-07-05 Colin Watson <cjwatson@ubuntu.com>
15478
15479 * docs/grub.texi (Features): Update list of supported file systems.
15480 (GNU/Linux): Update for GRUB 2.
15481 (Serial terminal): Remove mention of --disable-serial, which was a
15482 GRUB Legacy configure option. Update instructions to use
15483 `terminal_input' and `terminal_output' rather than `terminal'.
15484 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15485 configuration' and `Installing GRUB using grub-install'.
15486 (Menu entry editor): Update for GRUB 2.
15487 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15488 Document new -a, -u, and -v options.
15489 (initrd): New section.
15490 (initrd16): New section.
15491 (linux): New section.
15492 (linux16): New section.
15493 (search): The `var' argument to `--set' is optional.
15494 (GRUB only offers a rescue shell): Go into a little more detail on
15495 drive ordering.
15496
5cf69151
CW
154972010-07-05 Colin Watson <cjwatson@ubuntu.com>
15498
15499 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15500
e3f90044
CW
155012010-07-05 Colin Watson <cjwatson@ubuntu.com>
15502
15503 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15504 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15505
38d8f4f3
CW
155062010-07-05 Colin Watson <cjwatson@ubuntu.com>
15507
15508 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15509 install_prefix, in line with install_dos_part and install_bsd_part.
15510 Add new prefix variable, which is copied to install_prefix after
15511 comparing core.img in memory with the one read from disk in the
15512 no-embedding case, and use that rather than overwriting
15513 install_prefix immediately when installing to a partition.
15514 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15515 Bicakci.
15516
57ebd41e
GS
155172010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15518
15519 * configure.ac: Avoid == in test command, it's not portable.
15520 * util/grub.d/30_os-prober.in: Likewise.
15521
cb7f64b2
CW
155222010-07-04 Colin Watson <cjwatson@ubuntu.com>
15523
15524 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15525
6b654bb0
GS
155262010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15527
15528 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15529 multiple (top-level) partmaps.
15530
72a2026d
VS
155312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15534 Reported by: Tino Keitel.
72a2026d 15535
df3eb88f
VS
155362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 Bidi and diacritics support.
15539
15540 * Makefile.in (widthspec.bin): New target.
15541 (widthspec.h): Likewise.
15542 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15543 * autogen.sh: Generate unidata.c.
15544 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15545 * commands/ls.c (grub_ls_list_devices): Likewise.
15546 (grub_ls_list_files): Likewise.
15547 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15548 (grub_mini_cmd_lsmod): Likewise.
15549 * commands/read.c: Likewise.
15550 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15551 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15552 * lib/arg.c (grub_arg_show_help): Likewise.
15553 * lib/crypto.c (grub_password_get): Likewise.
15554 * normal/auth.c (grub_username_get): Likewise.
15555 * normal/misc.c (grub_normal_print_device_info): Likewise.
15556 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15557 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15558 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15559 (normal/charset.c_DEPENDENCIES): New variable.
15560 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15561 (pkglib_MODULES): Remove charset.mod.
15562 (charset_mod_SOURCES): Removed.
15563 (charset_mod_CFLAGS): Likewise.
15564 (charset_mod_LDFLAGS): Likewise.
15565 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15566 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15567 and term/tparm.c.
15568 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15569 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15570 (kernel_img_HEADERS): Add terminfo.h.
15571 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15572 Fill ->font. Reverse ascii bitmaps.
15573 (grub_font_get_xheight): New function.
15574 * font/font.c (grub_font_get_string_width): Moved from here ...
15575 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15576 * font/font.c (grub_font_draw_string): Moved from here ...
15577 * gfxmenu/font.c (grub_font_draw_string): ... here.
15578 * font/font.c (grub_font_dup_glyph): New function.
15579 (grub_font_blit_glyph): Likewise.
15580 (grub_font_blit_glyph_mirror): Likewise.
15581 (blit_comb): Likewise.
15582 (grub_font_construct_dry_run): Likewise.
15583 (grub_font_get_constructed_device_width): Likewise.
15584 (grub_font_construct_glyph): Likewise.
15585 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15586 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15587 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15588 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15589 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15590 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15591 (grub_font_get_xheight): New proto.
15592 (grub_font_get_constructed_device_width): Likewise.
15593 (grub_font_construct_glyph): Likewise.
15594 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15595 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15596 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15597 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15598 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15599 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15600 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15601 (grub_console_getcharwidth): Likewise.
15602 * include/grub/misc.h (grub_xputs): New proto.
15603 (grub_puts): Inlined.
15604 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15605 (grub_normal_get_line_counter): Removed.
15606 (grub_install_newline_hook): Likewise.
15607 (grub_normal_get_char_counter): New proto.
15608 (grub_normal_reset_more): Likewise.
15609 (grub_xputs_normal): Likewise.
15610 * include/grub/powerpc/ieee1275/console.h: Removed.
15611 * include/grub/sparc64/ieee1275/console.h: Likewise.
15612 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15613 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15614 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15615 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15616 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15617 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15618 (grub_term_input): Pass reference to self. All users updated.
15619 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15620 Pass reference to self. New fields normal_color, highlight_color and
15621 data. All users updated.
15622 (grub_putchar): Removed.
15623 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15624 (grub_unicode_estimate_width): New function.
15625 (grub_term_getcharwidth): Add defaults.
15626 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15627 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15628 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15629 (grub_cls): Remove EXPORT_FUNC.
15630 (grub_setcolorstate): Inline.
15631 (grub_newline_hook): Removed.
15632 * include/grub/terminfo.h: Rewritten. All users updated.
15633 * include/grub/unicode.h: New file.
15634 * include/grub/video.h (grub_video_signed_rect): New type.
15635 * kern/emu/console.c (grub_console_highlight_color): Removed.
15636 (grub_console_normal_color): Likewise.
15637 (grub_console_standard_color): Made static.
15638 (grub_ncurses_putchar): Remove mapping.
15639 (grub_ncurses_getcharwidth): Removed.
15640 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15641 (grub_ncurses_setcolor): Removed.
15642 (grub_ncurses_getcolor): Likewise.
15643 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15644 (grub_console_putchar): ... this.
15645 (grub_console_putchar): Handle argument difference.
15646 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15647 console_init_early and console_init_lately.
15648 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15649 * kern/misc.c (grub_puts): Removed.
15650 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15651 (grub_vsnprintf_real): Remove str = NULL support.
15652 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15653 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15654 * kern/term.c (grub_putcode): Renamed to ...
15655 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15656 (grub_putchar): Removed.
15657 (grub_xputs_dumb): New function.
15658 (grub_xputs): New variable.
15659 * lib/charset.c: Move from here ...
15660 * normal/charset.c: ... to here.
15661 (grub_ucs4_to_utf8): New function.
15662 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15663 (join_types): New variable.
15664 (unpack_join): New function.
15665 (bidi_types): New variable.
15666 (unpack_bidi): New function.
15667 (get_bidi_type): Likewise.
15668 (get_join_type): Likewise.
15669 (is_mirrored): Likewise.
15670 (grub_unicode_get_comb_type): Likewise.
15671 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15672 (is_type_after): Likewise.
15673 (grub_unicode_aglomerate_comb): Likewise.
15674 (bidi_line_wrap): Likewise.
15675 (grub_bidi_line_logical_to_visual): Likewise.
15676 (grub_bidi_logical_to_visual): Likewise.
15677 (grub_unicode_mirror_code): Likewise.
15678 (grub_unicode_shape_code): Likewise.
15679 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15680 Don't use grub_putchar.
15681 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15682 (grub_normal_reader_init): Likewise.
15683 (grub_xputs_saved): New variable.
15684 (GRUB_MOD_INIT): Set grub_xputs.
15685 (GRUB_MOD_FINI): Restore grub_xputs.
15686 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15687 (menu_init): Avoid printing gfxmenu error.
15688 (show_menu): Use grub_normal_get_char_counter.
15689 * normal/menu_entry.c (update_screen): Fix out-of-array.
15690 (complete): Avoid NULL dereferencing.
15691 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15692 * normal/menu_text.c (print_spaces): Removed.
15693 (grub_print_ucs4): Likewise.
15694 (grub_print_message_indented): Use grub_print_ucs4.
15695 (print_message): Use grub_putcode.
15696 (print_entry): Hanlde diacritics.
15697 * normal/term.c (term_state): New type.
15698 (grub_more_lines): Removed.
15699 (term_states): New variable.
15700 (grub_normal_line_counter): Renamed to ..
15701 (grub_normal_char_counter): ...this. All users updated.
15702 (grub_normal_get_line_counter): Renamed to ...
15703 (grub_normal_get_char_counter): ... this.
15704 (grub_normal_reset_more): New function.
15705 (process_newline): Removed.
15706 (print_more): New function.
15707 (grub_install_newline_hook): Removed.
15708 (map_code): New function.
15709 (grub_puts_terminal): Use grub_print_ucs4.
15710 (putglyph): New function.
15711 (putcode_real): Likewise.
15712 (grub_putcode): Use putcode_real.
15713 (get_maxwidth): New function.
15714 (get_startwidth): Likewise.
15715 (print_ucs4_terminal): Likewise.
15716 (find_term_state): Likewise.
15717 (put_glyphs_terminal): Likewise.
15718 (print_backlog): Likewise.
15719 (print_ucs4_real): Likewise.
15720 (grub_print_ucs4): Likewise.
15721 (grub_xputs_normal): Likewise.
15722 * term/efi/console.c (grub_console_putchar): Output diacritics.
15723 (grub_console_getcharwidth): Removed.
15724 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15725 * term/gfxterm.c (clear_char): Free chars.
15726 (scroll_up): Avoid leaking memory.
15727 (grub_gfxterm_putchar): Support diacritics.
15728 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15729 * term/i386/pc/console.c (grub_console_term_output): Declare as
15730 GRUB_TERM_CODE_TYPE_VGA.
15731 * term/i386/pc/vga.c (grub_vga_term): Declare as
15732 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15733 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15734 GRUB_TERM_CODE_TYPE_VGA.
15735 * term/i386/vga_common.c (map_char): Removed.
15736 (grub_console_putchar): Likewise.
15737 (grub_console_getcharwidth): Likewise.
15738 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15739 (colors): Reordered to match terminfo.
15740 (grub_ofconsole_normal_color): Removed.
15741 (grub_ofconsole_writeesc): Likewise.
15742 (grub_ofconsole_highlight_color): Likewise.
15743 (grub_ofconsole_getcharwidth): Likewise.
15744 (grub_ofconsole_setcolorstate): Likewise.
15745 (grub_ofconsole_setcolor): Likewise.
15746 (grub_ofconsole_getcolor): Likewise.
15747 (grub_ofconsole_readkey): Renamed to ...
15748 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15749 key.
15750 (grub_ofconsole_checkkey): Removed.
15751 (grub_ofconsole_getkey): Likewise.
15752 (grub_ofconsole_getxy): Likewise.
15753 (grub_ofconsole_gotoxy): Likewise.
15754 (grub_ofconsole_cls): Likewise.
15755 (grub_ofconsole_refresh): Likewise.
15756 (grub_ofconsole_terminfo_input): New struct.
15757 (grub_ofconsole_terminfo_output): Likewise.
15758 (grub_ofconsole_term_input): Use terminfo.
15759 (grub_ofconsole_term_output): Likewise.
15760 (grub_console_init): Split into ...
15761 (grub_console_init_early): ...this and ...
15762 (grub_console_init_lately): ...this. Use terminfo.
15763 (grub_ofconsole_putchar): Renamed to ...
15764 (put): ... this. Remove mapping.
15765 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15766 * term/serial.c: Simplify using terminfo.
15767 (xpos): Removed.
15768 (ypos): Likewise.
15769 (keep_track): Likewise.
15770 (registered): Likewise.
15771 (input_buf): Likewise.
15772 (npending): Likewise.
15773 (serial_translate_key_sequence): Likewise.
15774 (fill_input_buf): Likewise.
15775 (grub_serial_checkkey): Likewise.
15776 (grub_serial_getkey): Likewise.
15777 (grub_serial_getxy): Likewise.
15778 (grub_serial_gotoxy): Likewise.
15779 (grub_serial_putchar): Likewise.
15780 (grub_serial_cls): Likewise.
15781 (grub_serial_setcolorstate): Likewise.
15782 (grub_serial_setcursor): Likewise.
15783 (serial_hw_init): Use serial_hw_fetch.
15784 (grub_serial_terminfo_input): New variable.
15785 (grub_serial_terminfo_output): Likewise.
15786 (grub_serial_term_input): Use terminfo.
15787 (grub_serial_term_output): Likewise.
15788 * term/terminfo.c (putstr): Use put.
15789 (grub_terminfo_all_free): New function
15790 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15791 (grub_terminfo_output_register): New function.
15792 (grub_terminfo_output_unregister): Likewise.
15793 (grub_terminfo_getxy): Likewise.
15794 (grub_terminfo_readkey): Likewise.
15795 (grub_terminfo_checkkey): Likewise.
15796 (grub_terminfo_getkey): Likewise.
15797 (grub_terminfo_input_init): Likewise.
15798 (print_terminfo): Likewise.
15799 (grub_cmd_terminfo): Handle encoding.
15800 (grub_terminfo_gotoxy): Track position.
15801 (grub_terminfo_cls): Likewise.
15802 (grub_terminfo_putchar): Likewise.
15803 (grub_terminfo_setcolorstate): Handle colors
15804 (grub_terminfo_cursor_on): This ...
15805 (grub_terminfo_cursor_off): ... and this merged into ...
15806 (grub_terminfo_setcursor): ... this.
15807 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15808 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15809 * unicode/BidiMirroring.txt: Likewise.
15810 * unicode/UnicodeData.txt: Likewise.
15811 * unicode/COPYING: Likewise.
15812 * util/grub-editenv.c (grub_putchar): Removed.
15813 (grub_xputs_real): New function.
15814 (grub_xputs): New variable.
15815 * util/grub-fstest.c (grub_putchar): Removed.
15816 (grub_xputs_real): New function.
15817 (grub_xputs): New variable.
15818 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15819 (grub_xputs_real): New function.
15820 (grub_xputs): New variable.
15821 * util/grub-probe.c (grub_putchar): Removed.
15822 (grub_xputs_real): New function.
15823 (grub_xputs): New variable.
15824 * util/grub-script-check.c (grub_putchar): Removed.
15825 (grub_xputs_real): New function.
15826 (grub_xputs): New variable.
15827 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15828 (grub_xputs_real): New function.
15829 (grub_xputs): New variable.
15830 * util/import_unicode.py: New file.
15831 * util/grub-mkfont.c (ft_errmsgs): New array.
15832 (grub_glyph_info): Make bitmap a pointer.
15833 (file_formats): New type WIDTH_SPEC.
15834 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15835 (options): Add width-spec.
15836 (help): Likewise.
15837 (add_char): Renamed to ...
15838 (add_glyph): ... this.
15839 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15840 (glyph_replace): New type.
15841 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15842 (add_char): New function.
15843 (add_subst): Likewise.
15844 (process_cursive): Likewise.
15845 (add_font): Handle GSUB.
15846 (write_font_width_spec): New function.
15847 (main): Sort glyphs.
15848 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15849 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15850 * kern/term.c (grub_cls): Moved from here...
15851 * normal/term.c (grub_cls): ... here.
15852
50f0bcda
CW
158532010-07-02 Colin Watson <cjwatson@ubuntu.com>
15854
15855 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15856 suitable for using within the format argument of printf when
15857 converting grub_size_t.
15858 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15859 "x" to convert grub_size_t arguments.
15860
40372103
VS
158612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15864 too long captions.
15865 (list_get_minimal_size): Take selection box into account.
15866
942a10c7
VS
158672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15870 NULL font.
15871
2bdb2892
CW
158722010-07-02 Colin Watson <cjwatson@ubuntu.com>
15873
15874 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15875 devices when iterating over /dev/disk/by-id; they will be handled
15876 later if appropriate, which they aren't always (e.g. LVM).
15877
e03ed6c1
CW
158782010-07-02 Colin Watson <cjwatson@ubuntu.com>
15879
15880 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15881 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15882 fails.
15883 (grub_halt): Likewise.
15884 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15885 reset-all fails.
15886 (grub_halt): Don't return, even if all of shut-down, power-off, and
15887 poweroff fail.
15888
47695765
CW
158892010-07-02 Colin Watson <cjwatson@ubuntu.com>
15890
15891 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15892 arguments, not three.
15893
507736c8
CW
158942010-07-02 Colin Watson <cjwatson@ubuntu.com>
15895
15896 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15897 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15898 LVM-on-RAID is handled correctly.
15899
e3c8cd37
CW
159002010-07-02 Colin Watson <cjwatson@ubuntu.com>
15901
15902 * docs/grub.texi (Changes from GRUB Legacy): New section.
15903 (Future): Fix typo.
15904
8d4a2fec
CW
159052010-07-02 Colin Watson <cjwatson@ubuntu.com>
15906
15907 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15908 grub.d/README accidentally ends up executable for one reason or
15909 another. Ignore it.
15910
1c4827be
VS
159112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15914 (gpt_partition_map_iterate): Support non-512B sectors.
15915
d9a0c941
VS
159162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15919 Tested by: Seth Goldberg.
15920
48f27e87
VS
159212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15924 Properly align mbi.
15925 Reported by: Seth Goldberg.
15926
b0c4f956
VS
159272010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * util/grub-mkrescue.in: Avoid module duplication.
15930
105a2e8c
SF
159312010-07-01 Sean Finney <seanius@seanius.net>
15932
15933 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15934
5944958c
SF
159352010-07-01 Sean Finney <seanius@seanius.net>
15936
15937 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15938
159392010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 * disk/lvm.c (grub_lvm_checkvalue): New function.
15942 (grub_lvm_check_flag): Likewise.
15943
b79889ba
RM
159442010-07-01 Robert Millan <rmh@gnu.org>
15945
15946 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15947 Support 'p' as partition separator on kernel of FreeBSD (used
15948 with GPT labels).
15949 (grub_util_biosdisk_get_grub_dev): Likewise.
15950
ec1d04f1
VS
159512010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 Yeeloong firmware port.
15954
15955 * boot/mips/yeeloong/fwstart.S: New file.
15956 * bus/cs5536.c (gpiodump): New const.
15957 (set_io_space): New function.
15958 (set_iod): Likewise.
15959 (set_p2d): Likewise.
15960 (grub_cs5536_init_geode): Likewise.
15961 * commands/mips/yeeloong/lsspd.c: New file.
15962 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15963 (serial_mod_SOURCES): New variable.
15964 (serial_mod_CFLAGS): Likewise.
15965 (serial_mod_LDFLAGS): Likewise.
15966 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15967 term/terminfo.c and term/tparm.c.
15968 (pkglib_IMAGES): Add fwstart.img.
15969 (fwstart_img_SOURCES): New variable.
15970 (fwstart_img_CFLAGS): Likewise.
15971 (fwstart_img_ASFLAGS): Likewise.
15972 (fwstart_img_LDFLAGS): Likewise.
15973 (fwstart_img_FORMAT): Likewise.
15974 (pkglib_MODULES): Add lsspd.mod.
15975 (lsspd_mod_SOURCES): New variable.
15976 (lsspd_mod_CFLAGS): Likewise.
15977 (lsspd_mod_LDFLAGS): Likewise.
15978 (pkglib_MODULES): Add halt.mod.
15979 (halt_mod_SOURCES): New variable.
15980 (halt_mod_CFLAGS): Likewise.
15981 (halt_mod_LDFLAGS): Likewise.
15982 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15983 (serial_mod_SOURCES): Removed.
15984 (serial_mod_CFLAGS): Likewise.
15985 (serial_mod_LDFLAGS): Likewise.
15986 * disk/ata.c (check_device): New function.
15987 (grub_ata_device_initialize): Use check_device.
15988 (grub_ata_iterate): Recheck devices.
15989 (grub_ata_open): Likewise.
15990 (grub_atapi_iterate): Likewise.
15991 (grub_atapi_open): Likewise.
15992 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15993 (GRUB_ATA_CH1_PORT1): Likewise.
15994 (GRUB_ATA_CH0_PORT2): Likewise.
15995 (GRUB_ATA_CH1_PORT2): Likewise.
15996 * include/grub/mips/loongson.h: New file.
15997 * include/grub/mips/yeeloong/ec.h: Likewise.
15998 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15999 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16000 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16001 * include/grub/misc.h (grub_halt): Declare as noreturn.
16002 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16003 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16004 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16005 (UART_ENABLE_DTRRTS): Likewise.
16006 (UART_ENABLE_MODEM): Removed.
16007 (UART_ENABLE_OUT2): New const.
16008 * include/grub/term.h (grub_term_register_input_active): New function.
16009 (grub_term_register_output_active): Likewise.
16010 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16011 argument.
16012 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16013 (init_pci): New function.
16014 (grub_machine_init): Execute platform init when firmware. Init serial.
16015 (grub_halt): Implement.
16016 (grub_exit): Likewise.
16017 (grub_reboot): Likewise.
16018 * term/serial.c (serial_hw_init): Update macros.
16019 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16020 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16021 (image_targets): New target mipsel-yeeloong-flash.
16022 (generate_image): Support IMAGE_YEELOONG_FLASH.
16023 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16024 (grub_video_sm712_setup): Init card.
16025 (grub_video_sm712_set_palette): Removed.
16026 * video/sm712_init.c: New file.
16027
ff4a70d2
CW
160282010-06-30 Colin Watson <cjwatson@ubuntu.com>
16029
16030 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16031 PATH when running help2man and then run it on the unadorned
16032 executable names, rather than passing $(builddir)/* paths to
16033 help2man. This avoids the build directory ending up in generated
16034 manual pages.
16035
1246efeb
CW
160362010-06-29 Colin Watson <cjwatson@ubuntu.com>
16037
16038 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16039 to avoid accidents when debugging with 'sh -x'.
16040 * util/grub-mkrescue.in: Likewise.
16041 * util/grub.d/00_header.in: Likewise.
16042 * util/grub.d/10_hurd.in: Likewise.
16043 * util/grub.d/10_kfreebsd.in: Likewise.
16044 * util/grub.d/10_linux.in: Likewise.
16045 * util/grub.d/10_netbsd.in: Likewise.
16046 * util/grub.d/10_windows.in: Likewise.
16047 * util/grub.d/20_linux_xen.in: Likewise.
16048 * util/grub.d/30_os-prober.in: Likewise.
16049 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16050
1ba9b889
CW
160512010-06-29 Colin Watson <cjwatson@ubuntu.com>
16052
16053 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16054 last character in the buffer.
16055 Reported by: Vladimir Serbinenko.
16056
dccaf99d
RM
160572010-06-29 Robert Millan <rmh@gnu.org>
16058
16059 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16060 (Command-line and menu entry commands): Document `badram' command.
16061
d500ed12
RM
160622010-06-28 Robert Millan <rmh@gnu.org>
16063
16064 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16065 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16066 command using ${GRUB_BADRAM} as parameter.
16067
20bc84a6
CW
160682010-06-28 Colin Watson <cjwatson@ubuntu.com>
16069
16070 * docs/grub.texi (Device map): New section.
16071 (Themes): New section (stub).
16072 * Makefile.in (docs/grub.info): The info documentation now builds
16073 without errors. Make sure it stays that way.
16074
4045dee1
VS
160752010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 Use normal parser for menu entries.
16078 Reported by: Thomas Frauendorfer
16079
16080 * include/grub/parser.h (grub_parser_execute): Don't export.
16081 * normal/menu.c (grub_menu_execute_entry_real): New function.
16082 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16083
bca58c7b
CW
160842010-06-28 Colin Watson <cjwatson@ubuntu.com>
16085
16086 * docs/grub.texi (Embedded configuration): New section (replacing
16087 old "Preset Menu" stub).
16088 (Images): New section.
16089 (configfile): Note that any menu entries defined in `file' are shown
16090 immediately.
16091
dec53e63
JT
160922010-06-28 Josh Triplett <josh@joshtriplett.org>
16093
16094 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16095
c06e40f7
CW
160962010-06-28 Colin Watson <cjwatson@ubuntu.com>
16097
16098 * util/grub-install.in: Add --debug-image= option.
16099
cb88052b
CW
161002010-06-28 Colin Watson <cjwatson@ubuntu.com>
16101
16102 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16103 possible on Linux.
16104
16105 * util/deviceiter.c (check_device): Rename to ...
16106 (check_device_readable_unique): ... this. Update all callers.
16107 Maintain and check a list of which devices (by canonicalized name)
16108 have already been seen.
16109 (clear_seen_devices): New function.
16110 (compare_file_names) [__linux__]: New function.
16111 (grub_util_iterate_devices): Clear the list of seen devices on exit
16112 and (just in case) on entry.
16113 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16114 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16115 seen-devices list, superseded by general code in check_device.
16116
bbe34652
CW
161172010-06-28 Colin Watson <cjwatson@ubuntu.com>
16118
16119 * commands/cat.c (options): New variable.
16120 (grub_cmd_cat): Parse options. If the --dos option is given, print
16121 DOS-style "\r\n" line endings as simple newlines (Debian bug
16122 #586358).
16123 (GRUB_MOD_INIT): Use extcmd.
16124 (GRUB_MOD_FINI): Likewise.
16125 * docs/grub.texi (cat): Document --dos.
16126
412e09f3
VS
161272010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 XEN with Linux grub-mkconfig support.
16130
16131 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16132 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16133 GRUB_CMDLINE_XEN_DEFAULT.
16134 * util/grub.d/20_linux_xen.in: New file.
16135
53f3ef38 161362010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16137
16138 Initialise VGA video on qemu ourselves.
16139
16140 * boot/i386/qemu/boot.S: Don't call 0xc000.
16141 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16142 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16143 (kernel_img_HEADERS): Add pci.h.
16144 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16145 * configure.ac: Force unifont on qemu and yeeloong.
16146 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16147 (grub_vga_palette_write): Use correct register.
16148 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16149 Call grub_qemu_init_cirrus.
16150 * kern/i386/qemu/init.c: New file.
16151 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16152
16153 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16154
c75be4fb
PR
161552010-06-26 Pavel Roskin <proski@gnu.org>
16156
16157 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16158 13.
16159
d8034603
CW
161602010-06-26 Colin Watson <cjwatson@ubuntu.com>
16161
16162 * docs/grub.texi (Simple configuration): Explain that
16163 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16164 set to `true' to disable their respective recovery entries, not
16165 merely set.
16166
3fa06487
CW
161672010-06-26 Colin Watson <cjwatson@ubuntu.com>
16168
16169 Make the `source' command slightly faster.
16170
16171 * normal/main.c (grub_normal_execute): Don't re-read list files when
16172 nested.
16173
e9b29642
CW
161742010-06-23 Colin Watson <cjwatson@ubuntu.com>
16175
16176 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16177 field position and mask size to red fields from mode_info, not
16178 green.
16179 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16180 Remove redundant tag->common.framebuffer_type assignment.
16181 Reported by: Seth Goldberg.
16182
e726542f
CW
161832010-06-23 Colin Watson <cjwatson@ubuntu.com>
16184
16185 Sync up other versions of the Linux loader with Robert Millan's
16186 change of 2010-01-09, "Make loader output a bit more user-friendly".
16187
16188 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16189 grub_dprintf().
16190 (grub_cmd_linux): Likewise.
16191 (grub_cmd_initrd): Likewise.
16192 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16193 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16194
d6e98a17
CW
161952010-06-21 Colin Watson <cjwatson@ubuntu.com>
16196
16197 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16198 larger than MEMORY_MAP_SIZE.
16199
14d3f08e
BC
162002010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16201
16202 Fix parallel build.
16203
16204 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16205 dependency.
16206 * script/parser.y: #include grub_script.tab.h header.
16207
4f9613a3
VS
162082010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 Support >3GiB and <16MiB RAM in i386-qemu.
16211
16212 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16213 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16214 (grub_lower_mem): Removed.
16215 (grub_upper_mem): Likewise.
16216 (mem_size): Made static.
16217 (above_4g): New variable.
16218 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16219 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16220 support.
16221
05e51879
VS
162222010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 Cirrus 5446 and Bochs video cards support.
16225
16226 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16227 video_bochs.mod
16228 (video_cirrus_mod_SOURCES): New variable.
16229 (video_cirrus_mod_CFLAGS): Likewise.
16230 (video_cirrus_mod_LDFLAGS): Likewise.
16231 (video_bochs_mod_SOURCES): Likewise.
16232 (video_bochs_mod_CFLAGS): Likewise.
16233 (video_bochs_mod_LDFLAGS): Likewise.
16234 * include/grub/vga.h: New file.
16235 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16236 (grub_video_fb_set_page_t): New type.
16237 (grub_video_fb_setup): New prototype.
16238 (grub_video_fb_swap_buffers): Likewise.
16239 (grub_video_fb_get_info_and_fini): Likewise.
16240 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16241 (CRTC_DATA_PORT): Likewise.
16242 (CRTC_CURSOR): Likewise.
16243 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16244 (CRTC_CURSOR_ADDR_LOW): Likewise.
16245 (CRTC_CURSOR_DISABLE): Likewise.
16246 (update_cursor): Use grub_vga_cr_write.
16247 (grub_vga_text_setcursor): Likewise.
16248 * video/bochs.c: New file.
16249 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16250 (palette): Likewise.
16251 (palette_size): Likewise.
16252 (framebuffer): New variable.
16253 (grub_video_fb_init): Use 'framebuffer'.
16254 (grub_video_fb_fini): Likewise.
16255 (grub_video_fb_get_info): Likewise.
16256 (grub_video_fb_get_palette): Likewise.
16257 (grub_video_fb_set_palette): Likewise.
16258 (grub_video_fb_set_viewport): Likewise.
16259 (grub_video_fb_get_viewport): Likewise.
16260 (grub_video_fb_map_color): Likewise.
16261 (grub_video_fb_map_rgb): Likewise.
16262 (grub_video_fb_map_rgba): Likewise.
16263 (grub_video_fb_unmap_color): Likewise.
16264 (grub_video_fb_unmap_color_int): Likewise.
16265 (grub_video_fb_fill_rect): Likewise.
16266 (grub_video_fb_blit_bitmap): Likewise.
16267 (grub_video_fb_blit_render_target): Likewise.
16268 (grub_video_fb_scroll): Likewise.
16269 (grub_video_fb_create_render_target): Likewise.
16270 (grub_video_fb_doublebuf_blit_init): Likewise.
16271 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16272 (doublebuf_pageflipping_update_screen): New function.
16273 (doublebuf_pageflipping_init): Likewise.
16274 (grub_video_fb_setup): Likewise.
16275 (grub_video_fb_swap_buffers): Likewise.
16276 (grub_video_fb_get_info_and_fini): Likewise.
16277 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16278 All users updated.
16279 (doublebuf_pageflipping_commit): Restructured into ...
16280 (doublebuf_pageflipping_set_page): ... this.
16281 (doublebuf_pageflipping_update_screen): Removed.
16282 (doublebuf_pageflipping_init): Likewise.
16283 (double_buffering_init): Likewise.
16284 (grub_video_vbe_setup): Use grub_video_fb_setup.
16285 (grub_video_vbe_swap_buffers): Removed.
16286 (grub_video_vbe_set_active_render_target): Likewise.
16287 (grub_video_vbe_get_active_render_target): Likewise.
16288 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16289 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16290 grub_video_fb_set_active_render_target and
16291 grub_video_fb_get_active_render_target.
16292 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16293 (SEQUENCER_DATA_PORT): Likewise.
16294 (MAP_MASK_REGISTER): Likewise.
16295 (CRTC_ADDR_PORT): Likewise.
16296 (CRTC_DATA_PORT): Likewise.
16297 (START_ADDR_HIGH_REGISTER): Likewise.
16298 (START_ADDR_LOW_REGISTER): Likewise.
16299 (GRAPHICS_ADDR_PORT): Likewise.
16300 (GRAPHICS_DATA_PORT): Likewise.
16301 (READ_MAP_REGISTER): Likewise.
16302 (INPUT_STATUS1_REGISTER): Likewise.
16303 (INPUT_STATUS1_VERTR_BIT): Likewise.
16304 (get_map_mask): Use grub_vga_sr_read.
16305 (set_map_mask): Use grub_vga_sr_write.
16306 (set_read_map): Use grub_vga_gr_write.
16307 (set_start_address): Use grub_vga_cr_write.
16308 * video/sm712.c (framebuffer): Remove leftover fields.
16309
4321c64a
CW
163102010-06-20 Colin Watson <cjwatson@ubuntu.com>
16311
16312 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16313 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16314 instead. Replace the gfxterm backend check with a check that
16315 ${GRUB_PREFIX}/video.lst is non-empty.
16316 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16317 again.
16318 (load_video): New generated function. Call it before loading
16319 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16320 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16321 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16322 * docs/grub.texi (Simple configuration): Document
16323 GRUB_VIDEO_BACKEND.
16324
163252010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16326
16327 Use video functions in linux and xnu loaders.
16328
16329 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16330 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16331 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16332 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16333 loader/i386/pc/linux.c.
16334 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16335 (find_line_len): Removed.
16336 (find_framebuf): Likewise.
16337 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16338 * loader/i386/efi/xnu.c: Removed.
16339 * loader/i386/pc/xnu.c: Moved from here...
16340 * loader/i386/xnu.c: ...here.
16341
16342 Enable priorities in video drivers.
16343
16344 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16345 (grub_video_adapter): New field prio.
16346 (grub_video_register): Respect prio when inserting.
16347 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16348 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16349 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16350 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16351 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16352 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16353 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16354
16355 Fix SDL driver ID.
16356
16357 * include/grub/video.h (grub_video_driver_id_t): New value
16358 GRUB_VIDEO_DRIVER_SDL.
16359 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16360
7d24e434
CW
163612010-06-17 Colin Watson <cjwatson@ubuntu.com>
16362
16363 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16364 argument to printf.
16365 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16366
c88a83f6
CW
163672010-06-17 Colin Watson <cjwatson@ubuntu.com>
16368
16369 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16370 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16371
094dfb69
CW
163722010-06-17 Colin Watson <cjwatson@ubuntu.com>
16373
16374 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16375 directly, and recommend grub-install instead.
16376 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16377
2164da6b
CW
163782010-06-17 Colin Watson <cjwatson@ubuntu.com>
16379
16380 Fix i386-pc prefix handling with nested partitions (Debian bug
16381 #585068). Note that the case where the core image is booted using
16382 multiboot and relocated from its original location still requires
16383 more work.
16384
16385 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16386 with "(,", fill the boot drive in between those two characters, but
16387 expect that a full partition specification including partition map
16388 names will follow.
16389 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16390 specified, write a prefix without the drive name but including a
16391 full partition specification.
16392
044e2e60
CW
163932010-06-16 Colin Watson <cjwatson@ubuntu.com>
16394
16395 * util/grub-mkconfig.in: Ignore non-option arguments, for
16396 compatibility with older versions (before 2010-06-12) which did the
16397 same. In particular, this makes it easier to ship an update-grub
16398 wrapper which is compatible with that used with GRUB Legacy (Debian
16399 bug #586056).
16400
5591324f
GS
164012010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16402
16403 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16404 for manual page generation.
16405
662e24d5
GS
164062010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16407
16408 * po/POTFILES: Remove leftover commands/handler.c.
16409
8d70754e
CW
164102010-06-14 Colin Watson <cjwatson@ubuntu.com>
16411
16412 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16413 left this script non-functional.
16414
41160e2e
CW
164152010-06-14 Colin Watson <cjwatson@ubuntu.com>
16416
16417 * docs/man/grub-emu.h2m: New file.
16418
b5309cc1
CW
164192010-06-13 Colin Watson <cjwatson@ubuntu.com>
16420
16421 * docs/grub.texi (Commands): Document reduced command set in rescue
16422 mode.
16423 (cpuid): New section.
16424
fcb2d090
GS
164252010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16426
16427 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16428 new partition naming style.
16429 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16430
96e5c556
BC
164312010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16432
16433 Add "-o grub.iso" like cmdline options support.
16434
16435 * util/grub-install.in: Improve cmdline option parsing.
16436 * util/grub-mkconfig.in: Likewise.
16437 * util/grub-mkrescue.in: Likewise.
16438 * util/grub-reboot.in: Likewise.
16439 * util/grub-set-default.in: Likewise.
16440 * util/i386/efi/grub-install.in: Likewise.
16441 * util/ieee1275/grub-install.in: Likewise.
16442 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16443
c16be99b
CW
164442010-06-12 Colin Watson <cjwatson@ubuntu.com>
16445
16446 * .bzrignore: Ignore 41_custom.
16447
ce08a9fb
TS
164482010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16449
16450 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16451
7beac90c
CW
164522010-06-12 Colin Watson <cjwatson@ubuntu.com>
16453
16454 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16455 prototype declarations.
16456
16457 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16458 generating fs, partmap, and video lists.
16459 * include/grub/fs.h (grub_fs_register): Omit prototype if
16460 GRUB_LST_GENERATOR is defined.
16461 * include/grub/partition.h (grub_partition_map_register): Likewise.
16462 * include/grub/video.h (grub_video_register): Likewise.
16463
1c8f0f8d
JM
164642010-06-12 Javier Martín <lordhabbit@gmail.com>
16465
16466 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16467
a6085973
TS
164682010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16469
16470 * util/grub-mkrescue.in: Support --xorriso argument.
16471
25c56d29
VS
164722010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16475 Suggested by: Thomas Schmitt.
16476
e03e4b24
VS
164772010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16478
16479 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16480 Suggested by: Thomas Schmitt.
16481
57711df6
VS
164822010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16483
16484 custom.cfg support.
16485
16486 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16487 * util/grub.d/41_custom.in: New file.
16488
ee62c427
CW
164892010-06-12 Colin Watson <cjwatson@ubuntu.com>
16490
16491 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16492 been merged back into normal.
16493
283af07a
CW
164942010-06-11 Colin Watson <cjwatson@ubuntu.com>
16495
16496 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16497 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16498
56a0d956
CW
164992010-06-11 Colin Watson <cjwatson@ubuntu.com>
16500
16501 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16502 when generating manual pages.
16503 * docs/man/grub-bin2h.h2m: New file.
16504 * docs/man/grub-editenv.h2m: New file.
16505 * docs/man/grub-fstest.h2m: New file.
16506 * docs/man/grub-install.h2m: New file.
16507 * docs/man/grub-macho2img.h2m: New file.
16508 * docs/man/grub-mkconfig.h2m: New file.
16509 * docs/man/grub-mkdevicemap.h2m: New file.
16510 * docs/man/grub-mkfont.h2m: New file.
16511 * docs/man/grub-mkimage.h2m: New file.
16512 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16513 * docs/man/grub-mkrelpath.h2m: New file.
16514 * docs/man/grub-mkrescue.h2m: New file.
16515 * docs/man/grub-ofpathname.h2m: New file.
16516 * docs/man/grub-pe2elf.h2m: New file.
16517 * docs/man/grub-probe.h2m: New file.
16518 * docs/man/grub-reboot.h2m: New file.
16519 * docs/man/grub-script-check.h2m: New file.
16520 * docs/man/grub-set-default.h2m: New file.
16521 * docs/man/grub-setup.h2m: New file.
16522
3a37e322
VS
165232010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 Use FOR_* macros instead of *_iterate whenever possible.
16526
16527 * commands/handler.c: Removed.
16528 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16529 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16530 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16531 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16532 (grub_probe_SOURCES): Remove kern/parser.c.
16533 (util/grub-script-check.c_DEPENDENCIES): Removed.
16534 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16535 and grub_script_check_init.c.
16536 (grub_script_check_init.lst): Removed.
16537 (grub_script_check_init.h): Likewise.
16538 (grub_script_check_init.c): Likewise.
16539 (pkglib_MODULES): Remove handler.mod and sh.mod.
16540 (handler_mod_SOURCES): Removed.
16541 (handler_mod_CFLAGS): Likewise.
16542 (handler_mod_LDFLAGS): Likewise.
16543 (normal_mod_SOURCES): Remove normal/handler.c.
16544 Add script/main.c, script/script.c, script/execute.c,
16545 script/function.c, script/lexer.c, grub_script.tab.c
16546 and grub_script.yy.c.
16547 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16548 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16549 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16550 (grub_setup_SOURCES): Remove kern/parser.c.
16551 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16552 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16553 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16554 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16555 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16556 (grub_setup_SOURCES): Remove kern/parser.c.
16557 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16558 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16559 * include/grub/command.h (grub_command_iterate): Removed.
16560 (FOR_COMMANDS): New macro.
16561 * include/grub/dl.h (grub_dl): New member next.
16562 (grub_dl_iterate): Removed.
16563 (grub_dl_head): New variable declaration.
16564 (FOR_DL_MODULES): New macro.
16565 * include/grub/fs.h: Include list.h.
16566 (grub_fs): Make next first element.
16567 (grub_fs_list): New variable declaration.
16568 (grub_fs_register): Make inline.
16569 (grub_fs_unregister): Likewise.
16570 (grub_fs_iterate): Removed.
16571 (FOR_FILESYSTEMS): New macro.
16572 * include/grub/handler.h: Removed.
16573 * include/grub/list.h (grub_list_hook_t): Removed.
16574 (grub_list_test_t): Likewise.
16575 (grub_list_pop): Likewise.
16576 (grub_list_iterate): Likewise.
16577 (grub_list_insert): Likewise.
16578 (FOR_LIST_ELEMENTS): New macro.
16579 * include/grub/parser.h (grub_parser_class): Removed.
16580 (grub_parser_register): Likewise.
16581 (grub_parser_unregister): Likewise.
16582 (grub_parser_get_current): Likewise.
16583 (grub_parser_set_current): Likewise.
16584 (grub_register_rescue_parser): Likewise.
16585 (grub_rescue_parse_line): New function.
16586 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16587 * include/grub/script_sh.h (grub_script_function_list): New variable
16588 declaration.
16589 (FOR_SCRIPT_FUNCTIONS): New macro.
16590 (grub_script_function_iterate): Removed.
16591 (grub_normal_parse_line): New prototype.
16592 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16593 (FOR_DISABLED_TERM_INPUTS): Likewise.
16594 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16595 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16596 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16597 element.
16598 (grub_video_register): Inline.
16599 (grub_video_unregister): Likewise.
16600 (grub_video_adapter_list): New variable declaration.
16601 (grub_video_iterate): Removed.
16602 (FOR_VIDEO_ADAPTERS): New macro.
16603 * kern/dl.c (grub_dl_list): Removed. All users updated.
16604 (grub_dl_iterate): Removed.
16605 * kern/fs.c (grub_fs_list): Make global.
16606 (grub_fs_register): Removed.
16607 (grub_fs_unregister): Likewise.
16608 (grub_fs_iterate): Likewise.
16609 * kern/handler.c: Removed.
16610 * kern/list.c (grub_list_pop): Removed.
16611 (grub_list_iterate): Likewise.
16612 (grub_list_insert): Likewise.
16613 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16614 (grub_prio_list_insert): Don't use grub_list_insert.
16615 * kern/main.c (grub_register_rescue_parser): Don't call
16616 grub_register_rescue_parser.
16617 * kern/parser.c (grub_parser_class): Removed.
16618 (grub_parser_execute): Use grub_rescue_parse_line.
16619 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16620 (grub_rescue_parser): Removed.
16621 (grub_register_rescue_parser): Likewise.
16622 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16623 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16624 (grub_auth_check_authentication): Likewise.
16625 * normal/completion.c (iterate_command): Removed.
16626 (grub_normal_do_completion): Use FOR_COMMANDS.
16627 * normal/handler.c: Removed.
16628 * normal/main.c (read_config_file): Remove parser changing.
16629 (grub_normal_execute): Don't call read_handler_list.
16630 (grub_normal_read_line_real): Statically allocate prompt.
16631 (grub_cmdline_run): Use grub_normal_parse_line.
16632 (GRUB_MOD_FINI): Don't call free_handler_list.
16633 * normal/menu_entry.c (run): Likewise.
16634 * script/function.c (grub_script_function_list): Make global.
16635 (grub_script_function_iterate): Removed.
16636 * script/main.c (grub_normal_parse_line): Make global.
16637 (grub_sh_parser): Removed.
16638 (GRUB_MOD_INIT): Likewise.
16639 (GRUB_MOD_FINI): Likewise.
16640 * tests/lib/functional_test.c (grub_functional_test): Use
16641 FOR_LIST_ELEMENTS.
16642 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16643 (grub_test_run): Use FOR_LIST_ELEMENTS.
16644 * tests/lib/unit_test.c (main): Likewise.
16645 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16646 grub_list_pop.
16647 * util/grub-fstest.c (grub_term_input_class): Removed.
16648 (grub_term_output_class): Likewise.
16649 * util/grub-probe.c: Likewise.
16650 * util/i386/pc/grub-setup.c: Likewise.
16651 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16652 * util/grub-script-check.c (main): Don't call grub_init_all and
16653 grub_fini_all.
16654 * video/video.c (grub_video_adapter_list): Make global.
16655 (grub_video_register): Removed.
16656 (grub_video_unregister): Likewise.
16657 (grub_video_iterate): Likewise.
16658
6289c3a7
VS
166592010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16662 reported by Henrique Ferreiro.
16663
91460247
RM
166642010-06-09 Robert Millan <rmh@gnu.org>
16665
16666 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16667 ones, when both are available.
16668
0ea7c4f9
GS
166692010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16670
16671 Make --version uniform and avoid hard-coded program name.
16672
16673 * util/grub-mkimage.c (main): Use `program_name' instead of
16674 hard-coded string.
16675 * util/i386/pc/grub-setup.c (main): Likewise.
16676 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16677 * util/grub-install.in: Save the basename of $0 in $self, and use the
16678 latter in informational messages. Use the same format for --version
16679 as the binary programs.
16680 * util/grub-mkconfig.in: Likewise.
16681 * util/grub-mkrescue.in: Likewise.
16682 * util/grub-reboot.in: Likewise.
16683 * util/grub-set-default.in: Likewise.
16684 * util/i386/efi/grub-install.in: Likewise.
16685 * util/ieee1275/grub-install.in: Likewise.
16686 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16687
e8a6f3b6
GS
166882010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16689
16690 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16691 embedding area. Use <= instead of == when checking for non-emptiness.
16692
f4d095d7
GS
166932010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16694
16695 * configure.ac: Add `.' to the directories searched for unifont.
16696
50e532ca
CW
166972010-06-08 Colin Watson <cjwatson@ubuntu.com>
16698
16699 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16700 grub_script.yy.h.
16701
d39f3dec
CW
167022010-06-08 Colin Watson <cjwatson@ubuntu.com>
16703
16704 * docs/grub.texi (History): Expand to cover GRUB 2.
16705 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16706 commands, not `terminal'.
16707 (serial): Likewise.
16708 (terminal_input): New section.
16709 (terminal_output): New section.
16710 (uppermem): New section (stub).
16711 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16712
6ef0ddb4
CW
167132010-06-08 Colin Watson <cjwatson@ubuntu.com>
16714
16715 * docs/grub.texi (Security): Menu entries are unrestricted by
16716 default, not restricted to superusers as I had previously thought.
16717 Reword to account for this.
16718
e0f4c438
CW
167192010-06-07 Colin Watson <cjwatson@ubuntu.com>
16720
16721 * kern/emu/misc.c (device_mapper_null_log): New function.
16722 (grub_device_mapper_supported): New function.
16723 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16724 prototype.
16725 * kern/emu/hostdisk.c (find_partition_start): Check whether
16726 device-mapper is supported before trying to use it.
16727 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16728
da908200
CW
167292010-06-07 Colin Watson <cjwatson@ubuntu.com>
16730
16731 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16732 (File name syntax): Likewise.
16733 (help): --all is no longer supported in GRUB 2. Be more precise
16734 about pattern matching.
16735
fb55c3ac
CW
167362010-06-07 Colin Watson <cjwatson@ubuntu.com>
16737
16738 * normal/completion.c (grub_normal_do_completion): When completing
16739 arguments to "set" and the current word contains an equals sign,
16740 skip to after the equals sign before starting completion.
16741
258c2573
CW
167422010-06-07 Colin Watson <cjwatson@ubuntu.com>
16743
16744 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16745
ee75515e
CW
167462010-06-07 Colin Watson <cjwatson@ubuntu.com>
16747
16748 * docs/grub.texi (Network): New section.
16749 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16750 `(nd)' as in GRUB Legacy.
16751 (pxe_unload): New section.
16752
a6a700aa
CW
167532010-06-07 Colin Watson <cjwatson@ubuntu.com>
16754
16755 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16756 in the rescue shell, so recommend using `set' instead. Thanks,
16757 Jordan Uggla.
16758
4003dd38
CW
167592010-06-07 Colin Watson <cjwatson@ubuntu.com>
16760
16761 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16762 (password): New section.
16763 (password_pbkdf2): New section.
16764 (search): New section.
16765 (Security): New section.
16766 (Troubleshooting): New section, currently very incomplete.
16767 (Invoking grub-mkpasswd-pbkdf2): New section.
16768 (Internals): New section, currently very incomplete.
16769
e1cbcc40
CW
167702010-06-07 Colin Watson <cjwatson@ubuntu.com>
16771
16772 * util/grub.d/00_header.in: Add some more quoting (of
16773 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16774 work again.
16775 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16776
db8fa1ad
CW
167772010-06-07 Colin Watson <cjwatson@ubuntu.com>
16778
16779 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16780 to `count', fixing variable shadowing that broke the -c option.
16781
167822010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16783
16784 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16785 in case they contain spaces.
16786
f28a9212
CW
167872010-06-04 Colin Watson <cjwatson@ubuntu.com>
16788
16789 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16790 "part_" to partmap module names, in line with grub-install.
16791 Reported by: Jindřich Makovička (Debian bug #584426).
16792
9cdfe32f
CW
167932010-06-04 Colin Watson <cjwatson@ubuntu.com>
16794
16795 * util/grub-mkimage.c: Make target-related error messages slightly
16796 more helpful; -O talks about "format". Explicitly point to the use
16797 of -O if no target is specified.
16798 Reported by: Didier Raboud (Debian bug #584415).
16799
795b593a
CW
168002010-06-03 Colin Watson <cjwatson@ubuntu.com>
16801
16802 * INSTALL: Document several build requirements for optional features
16803 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16804
9d9b5833
GS
168052010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16806
16807 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16808 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16809 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16810
0819fec8
CW
168112010-06-02 Colin Watson <cjwatson@ubuntu.com>
16812
16813 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16814 Thanks to Jordan Uggla for spotting this.
16815
49396b4f
VS
168162010-06-02 Aleš Nesrsta <starous@volny.cz>
16817
16818 Finally make USB usable.
16819
16820 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16821 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16822 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16823 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16824 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16825 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16826 (GRUB_OHCI_FSMPS): Likewise.
16827 (GRUB_OHCI_PERIODIC_START): Likewise.
16828 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16829 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16830 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16831 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16832 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16833 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16834 (grub_ohci_transaction): Likewise.
16835 (grub_ohci_transfer): Improve condition detection algorithms.
16836 Handle toggle property. Program the transactions correctly.
16837 Improve error handling. Various important fixups.
16838 (grub_ohci_portstatus): Put register writes in right order.
16839 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16840 (grub_uhci_transfer): Don't show "failed" message on success.
16841 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16842 array.
16843 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16844 determine its size.
16845 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16846 before initialization is completed. Use IN direction for empty
16847 transfers. Use last_trans and compute toggle.
16848 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16849 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16850 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16851 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16852 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16853 (grub_usb_device): Increase toggle to 256.
16854 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16855 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16856 GRUB_USBMS_SUBCLASS_SFF8070.
16857 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16858 (grub_scsi_inquiry): New member page and alloc_length.
16859 (grub_scsi_request_sense): New structure.
16860 (grub_scsi_request_sense_data): Likewise.
16861 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16862 control.
16863 * disk/scsi.c (grub_scsi_request_sense): New function.
16864 (grub_scsi_test_unit_ready): Likewise.
16865 (grub_scsi_inquiry): Fill new fields.
16866 (grub_scsi_read_capacity): Likewise.
16867 (grub_scsi_read10): Add request sense at the end.
16868 (grub_scsi_read12): Likewise.
16869 (grub_scsi_write10): Likewise.
16870 (grub_scsi_write12): Likewise.
16871 (grub_scsi_open): Add Test Unit Ready.
16872 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16873 Support additional subclasses. Con't clear halt yet. Activate the
16874 proper config. Calculate LUNs correctly.
16875 (grub_usbms_transfer): Various important fixups.
16876
168772010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16880 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16881 (grub_ohci_fini_hw): New function.
16882 (grub_ohci_restore_hw): Likewise.
16883 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16884 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16885 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16886
168872010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16888
16889 Dedicated DMA allocations.
16890
16891 * bus/pci.c (grub_memalign_dma32): New function
16892 (grub_dma_free): Likewise.
16893 (grub_dma_get_virt): Likewise.
16894 (grub_dma_get_phys): Likewise.
16895 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16896 (grub_ohci_pci_iter): Use dma32_alloc.
16897 (grub_ohci_transfer): Likewise.
16898 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16899 (grub_usb_bulk_readwrite): Likewise.
16900 * include/grub/pci.h: Add declarations.
16901
169022010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 CS5536 support.
16905
16906 * bus/cs5536.c: New file.
16907 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16908 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16909 (cs5536_mod_SOURCES): New variable.
16910 (cs5536_mod_CFLAGS): Likewise.
16911 (cs5536_mod_LDFLAGS): Likewise.
16912 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16913 machine/pci.h.
16914 (kernel_img_SOURCES): Add bus/cs5536.c.
16915 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16916 usb_keyboard.mod.
16917 (usb_mod_SOURCES): New variable.
16918 (usb_mod_CFLAGS): New variable.
16919 (usb_mod_LDFLAGS): New variable.
16920 (usbtest_mod_SOURCES): New variable.
16921 (usbtest_mod_CFLAGS): New variable.
16922 (usbtest_mod_LDFLAGS): New variable.
16923 (ohci_mod_SOURCES): New variable.
16924 (ohci_mod_CFLAGS): New variable.
16925 (ohci_mod_LDFLAGS): New variable.
16926 (usbms_mod_SOURCES): New variable.
16927 (usbms_mod_CFLAGS): New variable.
16928 (usbms_mod_LDFLAGS): New variable.
16929 (usb_keyboard_mod_SOURCES): New variable.
16930 (usb_keyboard_mod_CFLAGS): New variable.
16931 (usb_keyboard_mod_LDFLAGS): New variable.
16932 * include/grub/smbus.h: New file.
16933 * include/grub/cs5536.h: New file.
16934
0b35b2a9
CW
169352010-06-02 Colin Watson <cjwatson@ubuntu.com>
16936
16937 * util/grub.d/00_header.in: Add safety check to make sure that
16938 ${locale_dir} exists before trying to probe it.
16939
ca0afd5b
CW
169402010-06-02 Colin Watson <cjwatson@ubuntu.com>
16941
16942 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16943 per the GNU Coding Standards; this is now too obscure to be worth
16944 documenting.
16945 (QNX): Likewise.
16946 (chainloader): Remove cross-reference to `SCO UnixWare'.
16947
1c41aa78
CW
169482010-06-02 Colin Watson <cjwatson@ubuntu.com>
16949
16950 * docs/grub.texi (Chain-loading): New section.
16951 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16952 adjusted for GRUB 2.
16953 (SCO UnixWare): Likewise.
16954 (QNX): Likewise.
16955 (chainloader): Add reference to `Block list syntax'.
16956 (drivemap): New section.
16957 (parttool): New section.
16958
bb8ea0f5
CW
169592010-06-02 Colin Watson <cjwatson@ubuntu.com>
16960
16961 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16962 the grub shell'.
16963 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16964 (Installing GRUB using grub-install): Remove reference to the grub
16965 shell; mention `grub-mkimage' and `grub-setup' instead.
16966 (Invoking grub-install): Likewise.
16967 (Interface): Add reference to `Menu entry editor'.
16968 (serial): Remove `--device' option.
16969
288dd6ed
CW
169702010-06-02 Colin Watson <cjwatson@ubuntu.com>
16971
16972 * docs/grub.texi (Configuration): New section, documenting
16973 configuration file generation using grub-mkconfig. I've left a slot
16974 for documenting the full shell scripting format but have not yet
16975 started on writing that up.
16976 (Invoking grub-mkconfig): New section.
16977
34c9f0e9
CW
169782010-06-02 Colin Watson <cjwatson@ubuntu.com>
16979
16980 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16981 (GNU GRUB manual): Likewise.
16982 (General commands): Update description of `terminfo' for GRUB 2.
16983
9121567e
CW
169842010-06-02 Colin Watson <cjwatson@ubuntu.com>
16985
16986 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16987 (GRUB_MOD_INIT): Fix capitalisation.
16988 * docs/grub.texi (Command-line and menu entry commands): Document
16989 gettext and gptsync commands.
16990
ab631611
CW
169912010-06-02 Colin Watson <cjwatson@ubuntu.com>
16992
16993 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16994 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16995
bde4a9ac
CW
169962010-06-01 Colin Watson <cjwatson@ubuntu.com>
16997
16998 Add btrfs probing support, currently only in the single-device case.
16999
17000 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17001 function.
17002 (grub_guess_root_device): Call find_root_device_from_mountinfo
17003 before looking in /dev.
17004
b1d17e10
VS
170052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17008 GRUB_DISK_SIZE_UNKNOWN.
17009 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17010
dfbfe004
JS
170112010-05-31 Jiro SEKIBA <jir@unicus.jp>
17012
17013 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17014 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17015 corrupted or not synced properly.
17016
c2ffc8e9
VS
170172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17018
17019 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17020 Reported by: Seth Goldberg.
17021
56293166
VS
170222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17025 addition of dest.
17026 Reported by: Seth Goldberg.
17027
7620e7de
VS
170282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17031 Reported by: Seth Goldberg.
17032
c837af3f
VS
170332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17036 64-bit address as signed on MIPS.
17037
c7c75cf4
CW
170382010-05-28 Colin Watson <cjwatson@ubuntu.com>
17039
17040 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17041 to the empty string.
17042
fa4b8490
BC
170432010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17044
17045 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17046
17047 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17048 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17049 * kern/misc.c (__enable_execute_stack): Disable on
17050 GRUB_MACHINE_EMU.
17051
a33075b9
CW
170522010-05-28 Colin Watson <cjwatson@ubuntu.com>
17053
17054 Make grub-probe work with symbolic links under /dev/mapper as well
17055 as with real block devices. The Linux world seems to be (at best)
17056 in transition here, and GRUB shouldn't get caught in the middle.
17057
17058 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17059 /dev/mapper.
17060
d8708134
CW
170612010-05-27 Colin Watson <cjwatson@ubuntu.com>
17062
17063 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17064 input files (in which case exit zero).
17065
db2102a0
CW
170662010-05-27 Colin Watson <cjwatson@ubuntu.com>
17067
17068 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17069 return NULL for various reasons even if it has a maximum-length
17070 buffer: for example, there might be a symlink loop, or the path
17071 might exceed PATH_MAX. If this happens, return NULL.
17072
5fdba519
RM
170732010-05-27 Robert Millan <rmh@gnu.org>
17074
17075 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17076 partmap module to handle cross-partmap setups.
17077 Reported by Orestes Mas. Gràcies!
17078
d1d368e4
CW
170792010-05-27 Colin Watson <cjwatson@ubuntu.com>
17080
17081 * util/grub-mkrescue.in: Initialise override_dir rather than
17082 assuming that it's unset or empty in the environment.
17083
95ac3c73
GS
170842010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17085
17086 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17087 variable index into p_index to suppress a warning with -Wshadow.
17088
7d8c0213
BC
170892010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17090
17091 * INSTALL: Added flex >= 2.5.35 requirement.
17092
db4d5813
VS
170932010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17096
f24f4300
VS
170972010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17098
17099 cmostest support.
17100
17101 * commands/i386/cmostest.c: New file.
17102 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17103 (cmostest_mod_SOURCES): New variable.
17104 (cmostest_mod_CFLAGS): Likewise.
17105 (cmostest_mod_LDFLAGS): Likewise.
17106 * conf/i386-pc.rmk: Likewise.
17107 * docs/grub.texi (Vendor power-on keys): New section.
17108 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17109 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17110 and GRUB_BUTTON_CMOS_ADDRESS.
17111 * util/grub.d/00_header.in: Handle powering-on by separate button.
17112
ad603f61
VS
171132010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17114
17115 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17116 Removed drawing_scrollbar argument. All users updated
17117 Fixes #29792.
17118 Reported by Jo Shields
17119
3ecb080a
VS
171202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17123 buffer since gfxterm handles double repaint.
17124
5f2316c1
VS
171252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17128 * term/gfxterm.c (real_scroll): Likewise.
17129
9a25f885
VS
171302010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17133 before calling BIOS.
17134
39fbb79a
VS
171352010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 * include/grub/i18n.h: Always enable grub_gettext.
17138
228cfa97
VS
171392010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17142 partition naming style.
17143
21717c8f
CW
171442010-05-21 Colin Watson <cjwatson@ubuntu.com>
17145
17146 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17147 not the first option.
17148
c0f48e65
CW
171492010-05-20 Colin Watson <cjwatson@ubuntu.com>
17150
17151 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17152
96779aec
CW
171532010-05-20 Colin Watson <cjwatson@ubuntu.com>
17154
17155 * util/misc.c: Move inclusion of <limits.h> to ...
17156 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17157
fa9d256e
GS
171582010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17159
17160 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17161 Fix merge error in NetBSD code.
17162 (find_partition_start) [__NetBSD__]: Likewise.
17163
123b7a85
BC
171642010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17165
17166 Fix grub-mkrescue usage unit testing.
17167
17168 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17169
74276c0d
CF
171702010-05-18 Christian Franke <franke@computer.org>
17171
17172 * util/grub.d/10_windows.in: Use path names instead of
17173 drive letters to prevent warning from Cygwin 1.7.
17174 Add drivemap command to menuentry if needed.
17175
c4f7b523
ST
171762010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17177
17178 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17179 gnumach and gnumach.gz.
17180
95b97950
VS
171812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * include/grub/i18n.h (gettext): Inline instead of using #define.
17184 (grub_gettext): Likewise.
17185 (_): Likewise.
17186
01b8d2d7
VS
171872010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17190 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17191 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17192 (main): Add a slash after pkglibdirroot.
17193
654e1d1e
VS
171942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17195
17196 * util/grub-install.in: Add missing "in" keyword.
17197
26966aeb
VS
171982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17201 Reported by: Seth Goldberg.
17202
75006747
VS
172032010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17206
74cbf5bd
CW
172072010-05-18 Colin Watson <cjwatson@ubuntu.com>
17208
17209 * configure.ac: Check for Linux device-mapper support.
17210
17211 * util/hostdisk.c (device_is_mapped): New function.
17212 (find_partition_start): New function, partly broken out from
17213 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17214 device-mapper support added.
17215 (linux_find_partition): Use find_partition_start.
17216 (convert_system_partition_to_system_disk): Add `st' argument.
17217 Support Linux /dev/mapper/* devices if device-mapper support is
17218 available; only DM-RAID devices are understood at present.
17219 (find_system_device): Add `st' argument. Pass it to
17220 convert_system_partition_to_system_disk.
17221 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17222 find_system_device and convert_system_partition_to_system_disk. Use
17223 find_partition_start.
17224
17225 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17226 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17227 * util/deviceiter.c [__linux__]: Define MINOR.
17228 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17229 * util/mkdevicemap.c (grub_putchar): New function.
17230 (grub_getkey): New function.
17231 (grub_refresh): New function.
17232 (main): Set debug=all if -v -v is used.
17233
355b51e9
CW
172342010-05-18 Colin Watson <cjwatson@ubuntu.com>
17235
17236 Fix build with non-GNU libcs.
17237
17238 * util/misc.c (canonicalize_file_name): Move to ...
17239 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17240 grub_make_system_path_relative_to_its_root.
17241
7fb5c25f
CW
172422010-05-18 Colin Watson <cjwatson@ubuntu.com>
17243
17244 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17245 we handle finding grub-mkimage. Default to finding grub-mkimage in
17246 ${bindir} with program_transform_name applied, and provide a
17247 --grub-mkimage option to override this.
17248
1d3293d6
VS
172492010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 Remove grub-mkisofs.
17252
17253 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17254 (grub_mkisofs_SOURCES): Removed.
17255 (grub_mkisofs_CFLAGS): Removed.
17256 * util/mkisofs/defaults.h: Removed.
17257 * util/mkisofs/eltorito.c: Likewise.
17258 * util/mkisofs/exclude.h: Likewise.
17259 * util/mkisofs/hash.c: Likewise.
17260 * util/mkisofs/include/: Likewise.
17261 * util/mkisofs/include/fctldefs.h: Likewise.
17262 * util/mkisofs/include/mconfig.h: Likewise.
17263 * util/mkisofs/include/prototyp.h: Likewise.
17264 * util/mkisofs/include/statdefs.h: Likewise.
17265 * util/mkisofs/iso9660.h: Likewise.
17266 * util/mkisofs/joliet.c: Likewise.
17267 * util/mkisofs/match.c: Likewise.
17268 * util/mkisofs/match.h: Likewise.
17269 * util/mkisofs/mkisofs.c: Likewise.
17270 * util/mkisofs/mkisofs.h: Likewise.
17271 * util/mkisofs/msdos_partition.h: Likewise.
17272 * util/mkisofs/multi.c: Likewise.
17273 * util/mkisofs/name.c: Likewise.
17274 * util/mkisofs/rock.c: Likewise.
17275 * util/mkisofs/tree.c: Likewise.
17276 * util/mkisofs/write.c: Likewise.
17277
5dde9afe
VS
172782010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 Unify grub-mkimage accross platforms.
17281
17282 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17283 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17284 (grub_mkelfimage_SOURCES): Removed.
17285 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17286 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17287 (bin_UTILITIES): Add grub-mkimage.
17288 (grub_mkimage_SOURCES): New variable.
17289 (kernel_img_HEADERS): Remove machine/kernel.h.
17290 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17291 (pkglib_PROGRAMS): Add kernel.img.
17292 (kernel_img_HEADERS): Add machine/kernel.h.
17293 (kernel_img_FORMAT): Removed.
17294 (bin_UTILITIES): Remove grub-mkimage.
17295 (grub_mkimage_SOURCES): Removed.
17296 (grub_mkimage_CFLAGS): Likewise.
17297 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17298 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17299 (pkglib_PROGRAMS): Add kernel.img.
17300 (bin_UTILITIES): Remove grub-mkimage.
17301 (grub_mkimage_SOURCES): Removed.
17302 (grub_mkimage_CFLAGS): Likewise.
17303 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17304 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17305 (pkglib_PROGRAMS): Add kernel.img.
17306 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17307 (pkglib_PROGRAMS): Add kernel.img.
17308 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17309 (grub_mkimage_SOURCES): Removed.
17310 (grub_mkimage_CFLAGS): Likewise.
17311 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17312 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17313 (pkglib_PROGRAMS): Add kernel.img.
17314 (bin_UTILITIES): Remove grub-mkimage.
17315 (grub_mkimage_SOURCES): Removed.
17316 (grub_mkimage_CFLAGS): Likewise.
17317 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17318 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17319 (grub_mkimage_SOURCES): Removed.
17320 (grub_mkimage_CFLAGS): Likewise.
17321 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17322 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17323 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17324 (grub_pe32_optional_header): ... this.
17325 (grub_pe64_optional_header): ... and this. All users updated.
17326 (GRUB_PE32_PE32_MAGIC): Split into ..
17327 (GRUB_PE32_PE32_MAGIC): .. this.
17328 (GRUB_PE32_PE64_MAGIC): .. and this.
17329 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17330 * include/grub/elf.h (PT_GNU_STACK): New definition.
17331 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17332 * include/grub/i386/efi/kernel.h: Likewise.
17333 * include/grub/i386/kernel.h: Likewise.
17334 * include/grub/i386/pc/kernel.h: Likewise.
17335 * include/grub/i386/qemu/boot.h: Likewise.
17336 * include/grub/mips/kernel.h: Likewise.
17337 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17338 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17339 * include/grub/powerpc/kernel.h: Likewise.
17340 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17341 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17342 * include/grub/sparc64/kernel.h: Likewise.
17343 * include/grub/x86_64/efi/kernel.h: Likewise.
17344 * include/grub/x86_64/kernel.h: Likewise.
17345 * include/grub/offsets.h: New file.
17346 * include/grub/kernel.h (grub_module_info): Split into ...
17347 (grub_module_info32): ... this.
17348 (grub_module_info64): ... and this.
17349 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17350 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17351 (grub_boot_blocklist): Moved from here ...
17352 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17353 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17354 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17355 * include/grub/types.h (grub_target_to_host16): Removed.
17356 (grub_target_to_host32): Likewise.
17357 (grub_target_to_host64): Likewise.
17358 (grub_host_to_target16): Likewise.
17359 (grub_host_to_target32): Likewise.
17360 (grub_host_to_target64): Likewise.
17361 (grub_host_to_target_addr): Likewise.
17362
17363 Support grub-mkrescue for efi, coreboot and qemu.
17364
17365 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17366 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17367 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17368 * util/grub-mkrawimage.c: Moved from here ...
17369 * util/grub-mkimage.c: ... here. All users updated.
17370 (ALIGN_ADDR): Use image_target.
17371 (TARGET_NO_FIELD): New const.
17372 (image_target_desc): New type.
17373 (image_targets): New array.
17374 (grub_target_to_host64): Use image_target.
17375 (grub_target_to_host32): Likewise.
17376 (grub_target_to_host16): Likewise.
17377 (grub_host_to_target64): Likewise.
17378 (grub_host_to_target32): Likewise.
17379 (grub_host_to_target16): Likewise.
17380 (grub_host_to_target_addr): Likewise.
17381 (generate_image): Handle multiimage.
17382 (main): Require -O parameter. All users updated.
17383 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17384 util/efi/grub-mkimage.c
17385 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17386 New option --rom-directory.
17387 Use xorriso.
17388 * util/i386/efi/grub-mkimage.c: Removed.
17389 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17390 (grub_target_to_host32): Likewise.
17391 (grub_target_to_host64): Likewise.
17392 (grub_host_to_target16): Likewise.
17393 (grub_host_to_target32): Likewise.
17394 (grub_host_to_target64): Likewise.
17395 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17396 (grub_target_to_host32): Likewise.
17397 (grub_target_to_host64): Likewise.
17398 (grub_host_to_target16): Likewise.
17399 (grub_host_to_target32): Likewise.
17400 (grub_host_to_target64): Likewise.
17401
f4fc97d0
BC
174022010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17403
17404 Source tree is reorganized for emu build.
17405
17406 * include/grub/util/console.h: Move from here...
17407 * include/grub/emu/console.h: ...to here.
17408 * include/grub/util/getroot.h: Move from here...
17409 * include/grub/emu/getroot.h: ...to here.
17410 * include/grub/util/hostdisk.h: Move from here...
17411 * include/grub/emu/hostdisk.h: ...to here.
17412 * util/console.c: Move from here...
17413 * kern/emu/console.c: ...to here.
17414 * util/getroot.c: Move from here...
17415 * kern/emu/getroot.c: ...to here.
17416 * util/grub-emu.c: Move from here...
17417 * kern/emu/main.c: ...to here.
17418 * util/hostdisk.c: Move from here...
17419 * kern/emu/hostdisk.c: ...to here.
17420 * util/hostfs.c: Move from here...
17421 * kern/emu/hostfs.c: ...to here.
17422 * util/mm.c: Move from here...
17423 * kern/emu/mm.c: ...to here.
17424 * util/pci.c: Move from here...
17425 * bus/emu/pci.c: ...to here.
17426 * util/sdl.c: Move from here...
17427 * video/emu/sdl.c: ...to here.
17428 * util/time.c: Move from here...
17429 * kern/emu/time.c: ...to here.
17430 * util/usb.c: Move from here...
17431 * bus/usb/emu/usb.c: ...to here.
17432
17433 * include/grub/emu/misc.h: New header for grub-emu functions.
17434 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17435
17436 * conf/any-emu.rmk: Rule updates for above renames.
17437 * conf/common.rmk: Likewise.
17438 * conf/i386-pc.rmk: Likewise.
17439 * conf/i386-qemu.rmk: Likewise.
17440 * conf/mips.rmk: Likewise.
17441 * conf/sparc64-ieee1275.rmk: Likewise.
17442 * conf/x86-efi.rmk: Likewise.
17443
17444 * disk/lvm.h: #include updates for above renames.
17445 * util/grub-mkrelpath.c: Likewise.
17446 * util/grub-probe.c: Likewise.
17447 * util/i386/pc/grub-setup.c: Likewise.
17448 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17449 * kern/emu/console.c: Likewise.
17450 * kern/emu/getroot.c: Likewise.
17451 * kern/emu/hostdisk.c: Likewise.
17452 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17453
17454 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17455 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17456 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17457 * util/misc.c: Remove grub-emu functions.
17458
cced9145
VS
174592010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 Fix gfxmenu crash.
17462 Reported by: Thorsten Grützmacher.
17463
17464 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17465 timeout hook.
17466 (circprog_set_property): Register and unregister timeout hook.
17467 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17468 (label_destroy): Free template. and unregister hook.
17469 (label_set_state): New function.
17470 (label_set_property): Handle templates and hooks.
17471 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17472 timeout hook.
17473 (progress_bar_set_property): Register and unregister timeout hook.
17474 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17475 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17476 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17477 (update_timeout_visit): Removed.
17478 (update_timeouts): New function.
17479 (redraw_timeouts): Likewise.
17480 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17481 (grub_gfxmenu_clear_timeout): Likewise.
17482 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17483 (grub_gfxmenu_timeout_notify): Likewise.
17484 (grub_gfxmenu_timeout_notifications): New external variable.
17485 (grub_gfxmenu_timeout_register): New function.
17486 (grub_gfxmenu_timeout_unregister): Likewise.
17487
c6e5caab
VS
174882010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 Transform (broken) vga terminal into (working) vga video driver.
17491
17492 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17493 video/i386/pc/vga.c.
17494 * include/grub/video.h (grub_video_driver_id):
17495 Add GRUB_VIDEO_DRIVER_VGA.
17496 * term/i386/pc/vga.c: Renamed to ...
17497 * video/i386/pc/vga.c: ...this
17498 (DEBUG_VGA): Removed.
17499 (CHAR_WIDTH): Likewise.
17500 (CHAR_HEIGHT): Likewise.
17501 (TEXT_WIDTH): Likewise.
17502 (TEXT_HEIGHT): Likewise.
17503 (DEFAULT_FG_COLOR): Likewise.
17504 (DEFAULT_BG_COLOR): Likewise.
17505 (colored_char): Likewise.
17506 (xpos): Likewise.
17507 (ypos): Likewise.
17508 (cursor_state): Likewise.
17509 (fg_color): Likewise.
17510 (bg_color): Likewise.
17511 (text_buf): Likewise.
17512 (page): Likewise.
17513 (font): Likewise.
17514 (framebuffer): New variable.
17515 (set_read_map): Disabled.
17516 (setup): New variable.
17517 (is_target): Likewise.
17518 (grub_vga_mod_init): Likewise.
17519 (grub_vga_mod_fini): Likewise.
17520 (check_vga_mem): Likewise.
17521 (write_char): Likewise.
17522 (write_cursor): Likewise.
17523 (scroll_up): Likewise.
17524 (grub_vga_putchar): Likewise.
17525 (grub_vga_getcharwidth): Likewise.
17526 (grub_vga_getwh): Likewise.
17527 (grub_vga_getxy): Likewise.
17528 (grub_vga_gotoxy): Likewise.
17529 (grub_vga_cls): Likewise.
17530 (grub_vga_setcolorstate): Likewise.
17531 (grub_vga_setcursor): Likewise.
17532 (grub_video_vga_init): New function.
17533 (grub_video_vga_setup): Likewise.
17534 (grub_video_vga_fini): Likewise.
17535 (update_target): Likewise.
17536 (grub_video_vga_blit_bitmap): Likewise.
17537 (grub_video_vga_blit_render_target): Likewise.
17538 (grub_video_vga_set_active_render_target): Likewise.
17539 (grub_video_vga_get_active_render_target): Likewise.
17540 (grub_video_vga_swap_buffers): Likewise.
17541 (grub_video_vga_set_palette): Likewise.
17542 (grub_video_vga_get_info_and_fini): Likewise.
17543 (grub_vga_term): Removed.
17544 (grub_video_vga_adapter): New variable.
17545 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17546 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17547
2bf61a98
VS
175482010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * video/readers/jpeg.c: Indented.
17551
09ddcd11
VS
175522010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 Various jpeg cleanups.
17555
17556 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17557 (grub_jpeg_decode_quan_table): Use sizeof.
17558 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17559
e5507505
PH
175602010-05-05 Peter Hurley <No e-mail available> (tiny change)
17561
17562 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17563 tables. Ignore non-last ac bit.
17564 (grub_jpeg_decode_quan_table): Likewise.
17565
7e720a9b
VS
175662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17569 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17570 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17571 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17572 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17573 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17574
a7fc080b
VS
175752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17576
17577 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17578 error.
17579
2bf6012d
VS
175802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17583
265d68cd
VS
175842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17585
17586 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17587 condition.
17588
175892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17590
17591 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17592 part.
17593
265d68cd 175942010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17595
17596 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17597 pointers.
17598
265d68cd 175992010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17600
17601 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17602
d1b61374
CF
176032010-05-01 Christian Franke <franke@computer.org>
17604
17605 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17606 Remove broken Cygwin path conversion.
17607 * util/misc.c: [__CYGWIN__] Add include and define.
17608 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17609 for Cygwin 1.7.
17610 (make_system_path_relative_to_its_root): Simplify loop, replace early
17611 return by break.
17612 [__CYGWIN__] Add conversion to win32 path.
17613 Include "/" case in trailing slash removal.
17614
3558c6e9
VS
176152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17618 Reported by: Seth Goldberg
17619
f5f3ff93
VS
176202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 * commands/help.c (grub_cmd_help): Fix a typo.
17623 Reported by: Seth Goldberg
17624
d8b5cd40
VS
176252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17628 name and add N_.
17629 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17630 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17631 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17632 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17633 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17634 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17635 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17636 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17637 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17638 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17639 * normal/context.c (GRUB_MOD_INIT): Likewise.
17640 * normal/main.c (GRUB_MOD_INIT): Likewise.
17641 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17642 * term/serial.c (GRUB_MOD_INIT): Likewise.
17643 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17644
88c14915
VS
176452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17648 extra == 0.
17649
165134bc
VS
176502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 * commands/iorw.c: New file.
17653 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17654 (iorw_mod_SOURCES): New variable.
17655 (iorw_mod_CFLAGS): Likewise.
17656 (iorw_mod_LDFLAGS): Likewise.
17657
c5ac9b32
VS
176582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17659
17660 Hotkey support
17661
17662 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17663 * normal/main.c (hotkey_aliases): New variable.
17664 (grub_normal_add_menu_entry): Parse "--hotkey".
17665 * normal/menu_text.c (run_menu): Handle hotkeys.
17666
ce60689c
VS
176672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 * kern/i386/coreboot/init.c (grub_machine_init): Call
17670 grub_machine_mmap_init on qemu.
17671
0359d006
VS
176722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 * boot/i386/qemu/boot.S: Add a missing .code16.
17675
7819a456
VS
176762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 Use LBIO on coreboot.
17679
17680 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17681 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17682 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17683 New declaration.
17684 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17685 grub_machine_mmap_init on coreboot.
17686 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17687 GRUB_LINUXBIOS_MEMBER_LINK.
17688 (grub_machine_mmap_iterate): Fix declaration.
17689 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17690
7210dca9
VS
176912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 Split coreboot and multiboot ports.
17694
17695 * conf/i386-multiboot.rmk: New file.
17696 * configure.ac: Add multiboot port.
17697 * include/grub/i386/multiboot/boot.h: New file.
17698 * include/grub/i386/multiboot/console.h: Likewise.
17699 * include/grub/i386/multiboot/init.h: Likewise.
17700 * include/grub/i386/multiboot/kernel.h: Likewise.
17701 * include/grub/i386/multiboot/loader.h: Likewise.
17702 * include/grub/i386/multiboot/memory.h: Likewise.
17703 * include/grub/i386/multiboot/serial.h: Likewise.
17704 * include/grub/i386/multiboot/time.h: Likewise.
17705 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17706 * loader/multiboot.c: Likewise.
17707 * loader/multiboot_mbi2.c: Likewise.
17708 * util/grub-mkrescue.in: Generate multiboot rescue.
17709
6f8aaf68
VS
177102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17711
3080f7a7
VS
17712 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17713
177142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17715
17716 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17717
17718 * commands/terminal.c (abstract_terminal): New struct.
17719 (handle_command): New function. Based on grub_cmd_terminal_input.
17720 (grub_cmd_terminal_input): Use handle_command.
17721 (grub_cmd_terminal_output): Use handle_command.
17722
a8ebb841
BC
177232010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17724
17725 Fix comment handling.
17726
17727 * tests/grub_script_comments.in: New testcase.
17728 * conf/tests.rmk: Rules for new testcase.
17729 * script/yylex.l: Updated flex rules.
17730
bb06ba08
ST
177312010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17732
17733 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17734 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17735 if argc is 1.
bb06ba08 17736
cc9d2425
VS
177372010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17740 autogen issues.
17741
460d8402
CF
177422010-04-26 Christian Franke <franke@computer.org>
17743
17744 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17745 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17746 (grub_get_prefix): Remove function.
17747 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17748 make_system_path_relative_to_its_root ().
17749 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17750
553c01f9
CF
177512010-04-24 Christian Franke <franke@computer.org>
17752
17753 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17754 (kernel_img_LDFLAGS): Remove -static-libgcc.
17755
2aec1692
CF
177562010-04-24 Christian Franke <franke@computer.org>
17757
17758 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17759 and CHECK_END_SYMBOL if grub-emu is built.
17760 Unset TARGET_OBJ2ELF if grub-emu is built
17761 without module support.
17762
f67dc308
JS
177632010-04-24 Jiro SEKIBA <jir@unicus.jp>
17764
17765 Nilfs2 support.
17766
17767 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17768 (grub_fstest_SOURCES): Likewise.
17769 (pkglib_MODULES): Add nilfs2.mod.
17770 (nilfs2_mod_SOURCES): New variable.
17771 (nilfs2_mod_CFLAGS): Likewise.
17772 (nilfs2_mod_LDFLAGS): Likewise.
17773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17774 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17775 * fs/nilfs2.c: New file.
17776
4ba8d354
VS
177772010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17780 is not supported.
17781
0d2c20c6
GS
177822010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17783
17784 Add grub-mkconfig support for NetBSD.
17785
17786 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17787 * util/grub-mkconfig.in: export new NetBSD specific variables.
17788 * po/POTFILES-shell: added 10_netbsd.in.
17789 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17790
bc4a2d83
BC
177912010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17792
17793 Fix emu build with grub-emu-pci and grub-emu-modules.
17794
17795 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17796 functions.
17797 * include/grub/libpciaccess.h: New file.
17798 * conf/any-emu.rmk: Update kernel headers for emu build.
17799
f48c87aa
VS
178002010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17803
18959385
VS
178042010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17807
0037de3f
VS
178082010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17811 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17812 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17813 util/ieee1275/ofpath.c.
17814 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17815 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17816 * include/grub/sparc64/ieee1275/boot.h
17817 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17818 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17819 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17820 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17821 const char *.
17822 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17823 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17824 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17825 install.
17826
38e55e90
GS
178272010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17828
17829 * util/grub-mkconfig.in: Corrected two == equality tests.
17830 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17831 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17832 expect a number appended to it.
17833 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17834 expects a number appended to it.
17835
a9e6ff28
VS
178362010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17839
0b830b8f
VS
178402010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 * util/hostdisk.c (make_device_name): Change to new partition naming.
17843
0973daeb
VS
178442010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17847
460d8402 178482010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17849
17850 * Makefile.in: Add missing localedir setting.
17851
0b456309
CW
178522010-04-14 Colin Watson <cjwatson@ubuntu.com>
17853
17854 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17855 mistake in r2156. Noticed by Anthony Fok.
17856
17857 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17858 @localedir@.
17859 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17860
08f46d62
BC
178612010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17862
17863 Fix a spurious, uninitialized variable warning.
17864
17865 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17866 Initialize variable, shdr.
17867 (grub_freebsd_load_elfmodule): Likewise.
17868 (grub_freebsd_load_elf_meta): Likewise.
17869
8c4a72d4
BC
178702010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17871
17872 Fix for escaped dollar in double quoted strings.
17873
17874 * script/yylex.l: Updated flex rules.
17875 * conf/tests.rmk: Rule for new testcase.
17876 * tests/grub_script_dollar.in: New testcase.
17877
ce44826e
CPE
178782010-04-13 Carles Pina i Estany <carles@pina.cat>
178792010-04-13 Colin Watson <cjwatson@ubuntu.com>
17880
17881 Enclose all translated strings in grub.cfg in single quotes, and
17882 escape them appropriately (Ubuntu bug #552921).
17883
17884 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17885 * util/grub.d/10_hurd.in: Use it.
17886 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17887 * util/grub.d/10_linux.in (linux_entry): Likewise.
17888
4b0cd8f8
VS
178892010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 Fix cygwin compilation.
17892
17893 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17894 * include/grub/misc.h (__register_frame_info)
17895 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17896 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17897 * kern/misc.c (__register_frame_info)
17898 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17899 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17900
01fcf061
VS
179012010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17902
17903 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17904
5d04b11e
VS
179052010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 Unify libgcc processing.
17908
17909 * Makefile.in (kernel_img_LDFLAGS): New variable.
17910 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17911 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17912 overwriting.
17913 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17914 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17915 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17916 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17917 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17918 overwriting. Remove -lgcc and -static-libgcc
17919 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17920 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17921 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17922 (kernel_img_LDFLAGS): Append instead of overwriting.
17923 Remove -lgcc and -static-libgcc
17924 * conf/sparc64-ieee1275.rmk: Likewise.
17925 * include/grub/powerpc/libgcc.h: Move to ...
17926 * include/grub/libgcc.h: .. this.
17927 * include/grub/libgcc.h: Don't export most of the function on x86.
17928 (__bswapsi2): New export.
17929 (__bswapdi2): Likewise.
17930 * include/grub/mips/libgcc.h: Removed.
17931 * include/grub/sparc64/libgcc.h: Likewise.
17932
b7f3ac29
VS
179332010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17936 disk_info_msg (conflicts with gettexting into languages with cases).
17937
2c7031b1
GS
179382010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17939
17940 Add grub-probe support for NetBSD.
17941
17942 * util/getroot.c (find_root_device): Convert block device to
17943 character device on NetBSD.
17944 * util/probe.c (probe): Require character device on NetBSD.
17945 * util/hostdisk.c: NetBSD specific headers.
17946 (configure_device_driver): new function to tune device driver
17947 parameters (currently only for NetBSD floppy driver).
17948 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17949 via disklabel ioctl).
17950 (open_device): call configure_device_driver on NetBSD.
17951 (convert_system_partition_to_system_disk): NetBSD specific code.
17952 (device_is_wholedisk): Likewise.
17953 (grub_util_biosdisk_get_grub_dev): Likewise.
17954 (make_device_name): Fixed a typo in bsd_part_str.
17955 * configure.ac: check for opendisk() and getrawpartition() on
17956 NetBSD and set LIBUTIL.
17957 * Makefile.in: add LIBUTIL to LIBS.
17958
f516290c
BC
179592010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17960
17961 Documentation fix.
17962
17963 * util/grub-script-check.c: Better help message.
17964
d8dcc0df
BC
179652010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17966
17967 Fix FreeBSD build.
17968
17969 * configure.ac: Flex version check.
17970 * conf/common.rmk: Add -Wno-error to sh.mod.
17971 * script/yylex.l: Remove all #pragma.
17972
6734334a
VS
179732010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17976 prototype.
17977 Reported by: Seth Goldberg.
17978
daea6abd
VS
179792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17982 Rename "module" to "module2".
17983 Reported by: Seth Goldberg.
17984
f2fd9d2b
VS
179852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17988 EXPORT_FUNC.
17989 Reported by: Seth Goldberg.
17990
be124579
VS
179912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * lib/posix_wrap/locale.h: Add missing file.
17994 Reported by: Seth Goldberg.
17995
ef5da797
VS
179962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 grub-emu module load support.
17999
18000 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18001 NO_DYNAMIC_MODULES switched to this.
18002 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18003 (CFLAGS): Likewise.
18004 * conf/any-emu.rmk: Generate symlist.
18005 (kernel_img_HEADERS): Add util/datetime.h.
18006 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18007 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18008 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18009 kern/$(target_cpu)/cache.S.
18010 * configure.ac (grub-emu-modules): New option.
18011 * genmk.rb: Handle multiple source lists.
18012 * include/grub/sdl.h: New file.
18013 * include/grub/libusb.h: Likewise.
18014 * util/grub-emu.c (main): Hanle (host) root.
18015 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18016 GRUB_ERR_UNKNOWN_DEVICE.
18017 * util/misc.c: Move mm functions to ...
18018 * util/mm.c: ... here. All users updated.
18019
47822096
VS
180202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18021
18022 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18023 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18024 missing files.
18025 (maintainer-clean): Remove libgcrypt-grub.
18026
5d7e7445
VS
180272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18030
25f4e252
EC
180312010-04-09 EFI Coder <eficoder@hotmail.com>
18032
18033 * normal/menu_text.c (print_message): Clean up the message and show
18034 the Fn information when on EFI
18035 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18036
027de555
VS
180372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18040 All users updated.
18041 * normal/crypto.c (read_crypto_list): Likewise.
18042 * normal/dyncmd.c (read_command_list): Likewise.
18043 * normal/term.c (read_terminal_list): Likewise.
18044 * normal/main.c (read_lists): Use explicit prefix.
18045 (read_lists_hook): Use read_lists.
18046 (grub_normal_execute): Likewise.
18047
47779711
VS
180482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18051 Reported by: Thomas Schmitt.
18052 Add -no-emul-boot to grub-mkisofs parameters.
18053
1118c32e
VS
180542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18055
18056 * font/font.c: Indented.
18057
7d652447
BC
180582010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18059
18060 Elif support to GRUB script (by Deepak Vankadaru).
18061
18062 * tests/grub_script_if.in: New testcase.
18063 * conf/tests.rmk: Rule for new testcase.
18064 * script/parser.y: Grammar rules for elif.
18065
34bb22df
BC
180662010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18067
18068 While and until loops support to GRUB script.
18069
18070 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18071 (grub_script_create_cmdwhile): New function prototype.
18072 (grub_script_execute_cmdwhile): New function prototype.
18073 * script/execute.c (grub_script_execute_cmdwhile): New function.
18074 * script/parser.y (command): New commands.
18075 (whilecmd): New grammar rule.
18076 (untilcmd): New grammar rule.
18077 * script/script.c (grub_script_create_cmdwhile): New function.
18078 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18079 function.
18080
18081 * tests/grub_script_while1.in: New testcase.
18082 * conf/tests.rmk: Rule for new testcase.
18083
e215d8e0
VS
180842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18087 as *.jpg.
18088
d7c43ba1
MV
180892010-04-09 Mario Vazquez <mariovazq@gmail.com>
18090
18091 GRUB_BACKGROUND support.
18092
18093 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18094 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18095
d64795c0
VS
180962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18099 Idea by: Mario Vazquez
d64795c0
VS
18100
18101 * util/grub.d/00_header.in: Load pf2 and image modules.
18102
f267f83a
VS
181032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 grub-mkconfig multiple terminal support.
18106
18107 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18108 * util/grub.d/00_header.in: Likewise.
18109
b7841ceb
VS
181102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18113 we use cd $(srcdir).
18114
df60998c
CW
181152010-04-08 Colin Watson <cjwatson@ubuntu.com>
18116
18117 * util/grub.d/10_linux.in: Only use the first word of
18118 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18119 spaces in GRUB_DISTRIBUTOR.
18120 * util/grub.d/10_kfreebsd.in: Likewise.
18121 * util/grub.d/10_hurd.in: Likewise.
18122
fa09c82e
BC
181232010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18124
14e18ae3 18125 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18126
18127 * tests/util/grub-shell.in: Remove -serial stdio option.
18128
daf892b3
BC
181292010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 POSIX header file wrappers.
18132
18133 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18134 equivalents.
18135 * lib/posix_wrap/ctype.h: Likewise.
18136 * lib/posix_wrap/errno.h: Likewise.
18137 * lib/posix_wrap/langinfo.h: Likewise.
18138 * lib/posix_wrap/limits.h: Likewise.
18139 * lib/posix_wrap/localcharset.h: Likewise.
18140 * lib/posix_wrap/stdint.h: Likewise.
18141 * lib/posix_wrap/stdio.h: Likewise.
18142 * lib/posix_wrap/stdlib.h: Likewise.
18143 * lib/posix_wrap/string.h: Likewise.
18144 * lib/posix_wrap/sys/types.h: Likewise.
18145 * lib/posix_wrap/unistd.h: Likewise.
18146 * lib/posix_wrap/wchar.h: Likewise.
18147 * lib/posix_wrap/wctype.h: Likewise.
18148 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18149 (grub_script.yy.h): Likewise.
18150 * script/yylex.l: Remove POSIX emulation #defines.
18151 * Makefile.in (POSIX_CFLAGS): New variable.
18152 (GNULIB_UTIL_CFLAGS): Likewise.
18153
18154 Regexp support.
18155
18156 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18157 (regexp_mod_SOURCES): New variable.
18158 (regexp_mod_CFLAGS): Likewise.
18159 (regexp_mod_LDFLAGS): Likewise.
18160 * commands/regexp.c: New file.
18161 * gnulib/regcomp.c: New file. Imported from gnulib.
18162 * gnulib/regex.c: Likewise.
18163 * gnulib/regex_internal.c: Likewise.
18164 * gnulib/regex_internal.h: Likewise.
18165 * gnulib/regexec.c: Likewise.
18166 * gnulib/regex.h: Likewise.
18167
974ac4f7
VS
181682010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18171 unsupported video mode types.
18172
2622c3ff
VS
181732010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18174
18175 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18176
064cb524
VS
181772010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18180 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18181
a8c3b552
VS
181822010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 Remove unused grub_vga_get_font.
18185
18186 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18187 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18188
187bbe3d
GS
181892010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18190
18191 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18192 * include/grub/misc.h: Likewise.
18193
b9396631
GS
181942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18195
18196 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18197 for which failure is fatal.
18198
50479feb
GS
181992010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18200
18201 * util/grub-install.in: Use mkdir -p to create grub directory.
18202 * util/i386/efi/grub-install.in: Likewise.
18203 * util/ieee1275/grub-install.in: Likewise.
18204
b1654fdf
GS
182052010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18206
18207 * Makefile.in (LEX): new variable.
18208
bd5a6415
GS
182092010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18210
18211 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18212 `=' and added double quotes on operands of this equality test.
18213
3db3a82b
VS
182142010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 * Makefile.in (uninstall): Remove a leftover debug echo.
18217 Reported by: Grégoire Sutre
18218
38023412
VS
182192010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 MIPS multiboot2 support.
18222
18223 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18224 (multiboot2_mod_SOURCES): New variable.
18225 (multiboot2_mod_CFLAGS): Likewise.
18226 (multiboot2_mod_LDFLAGS): Likewise.
18227 (multiboot2_mod_ASFLAGS): Likewise.
18228 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18229 definition.
18230 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18231 (MULTIBOOT_MBI_REGISTER): Likewise.
18232 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18233 (MULTIBOOT_ELF32_MACHINE): Likewise.
18234 (MULTIBOOT_ELF64_MACHINE): Likewise.
18235 * include/grub/mips/multiboot.h: New file.
18236 * include/grub/video.h (grub_video_driver_id): New type
18237 GRUB_VIDEO_DRIVER_SM712.
18238 (grub_video_get_info_and_fini): Export.
18239 (grub_video_get_palette): Likewise.
18240 (grub_video_get_driver_id): Likewise.
18241 * include/multiboot2.h: Resynced with spec.
18242 * loader/i386/multiboot.c: Moved from here ...
18243 * loader/multiboot.c: ... here. All users updated.
18244 (grub_multiboot_boot): Use platform-specific macros.
18245 * loader/i386/multiboot_elfxx.c: Moved from here ...
18246 * loader/multiboot_elfxx.c: ... here. All users updated.
18247 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18248 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18249 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18250
47674667
VS
182512010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18252
18253 Import gnulib argp module.
18254
18255 * gnulib/argp-ba.c: New file.
18256 * gnulib/argp-eexst.c: Likewise.
18257 * gnulib/argp-fmtstream.c: Likewise.
18258 * gnulib/argp-fmtstream.h: Likewise.
18259 * gnulib/argp-fs-xinl.c: Likewise.
18260 * gnulib/argp-help.c: Likewise.
18261 * gnulib/argp-namefrob.h: Likewise.
18262 * gnulib/argp-parse.c: Likewise.
18263 * gnulib/argp-pin.c: Likewise.
18264 * gnulib/argp-pv.c: Likewise.
18265 * gnulib/argp-pvh.c: Likewise.
18266 * gnulib/argp-version-etc.c: Likewise.
18267 * gnulib/argp-version-etc.h: Likewise.
18268 * gnulib/argp-xinl.c: Likewise.
18269 * gnulib/argp.h: Likewise.
18270
495442ed
VS
182712010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 * kern/device.c (grub_device_iterate): Clear errors after failed
18274 opening device.
18275
f9fd65df
VS
182762010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18277
18278 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18279 returned by firmware.
18280
af09641e
VS
182812010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18284 compilation on coreboot and qemu
18285
016883a5
VS
182862010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18287
18288 * include/multiboot2.h: Resync with spec.
18289
f97e1f7d
VS
182902010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 Multiboot2 tag support
18293
18294 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18295 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18296 Remove loader/multiboot_loader.c.
18297 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18298 (grub_multiboot2_real_boot): Likewise.
18299 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18300 (grub_get_multiboot_mmap_count): New proto.
18301 (grub_fill_multiboot_mmap): Likewise.
18302 (grub_multiboot_set_video_mode): Likewise.
18303 (grub_multiboot_set_console): Likewise.
18304 (grub_multiboot_load): Likewise.
18305 (grub_multiboot_load_elf): Likewise.
18306 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18307 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18308 * include/multiboot.h: Resynced with specification.
18309 * include/multiboot2.h: Resynced with specification.
18310 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18311 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18312 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18313 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18314 users updated.
18315 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18316 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18317 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18318 Removed.
18319 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18320 Moved from here...
18321 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18322 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18323 Moved from here...
18324 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18325 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18326 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18327 All users updated.
18328 * loader/i386/multiboot_mbi2.c: New file.
18329
3506b90b
VS
183302010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 Resync with gnulib.
18333
18334 * Makefile.in (GNULIB_CFLAGS): New variable.
18335 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18336 (grub_script_check_CFLAGS): New variable.
18337 * gnulib/alloca.h: Resync with gnulib.
18338 * gnulib/error.c: Likewise.
18339 * gnulib/error.h: Likewise.
18340 * gnulib/fnmatch.c: Likewise.
18341 * gnulib/fnmatch_loop.c: Likewise.
18342 * gnulib/getdelim.c: Likewise.
18343 * gnulib/getline.c: Likewise.
18344 * gnulib/getopt.c: Likewise.
18345 * gnulib/getopt1.c: Likewise.
18346 * gnulib/getopt_int.h: Likewise.
18347 * gnulib/gettext.h: Likewise.
18348 * gnulib/progname.c: Likewise.
18349 * gnulib/progname.h: Likewise.
18350
394a3120
GS
183512010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18352
18353 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18354 which is the case with --disabled-nls.
18355
18356 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18357 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18358 * util/misc.c: Likewise.
18359 * util/mkisofs/mkisofs.c: Likewise.
18360 * util/mkisofs/mkisofs.h: Likewise.
18361
969d1c78
VS
183622010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 Simplify Apple CC support.
18365
18366 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18367 Add 0 byte at the end not to have a symbol with empty target.
18368 * mmap/i386/pc/mmap_helper.S: Likewise.
18369 * genmk.rb: Ignore errors 2030 and 2050.
18370 * kern/i386/pc/startup.S: Use LOCAL when possible.
18371
8d2977bb
BC
183722010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18373
18374 Testcase and the fix for final semicolon on cmdline.
18375
18376 * tests/grub_script_final_semicolon.in: New testcase.
18377 * conf/tests.rmk: Rules for the new testcase.
18378 * script/parser.y: Grammar fix.
18379
a7bd6915
BC
183802010-03-26 BVK Chaitanya <bvk@localhost>
18381
18382 Blank lines testcase for GRUB script.
18383
18384 * tests/grub_script_blanklines.in: New testcase.
18385 * conf/tests.rmk: Rules for the new testcase.
18386
e4ff6628
VS
183872010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 Don't use __FILE__.
18390
18391 * genmk.rb: Add -DGRUB_FILE to all C targets.
18392 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18393 * include/grub/list.h: Likewise.
18394 * include/grub/misc.h: Likewise.
18395 * include/grub/mm.h: Likewise.
18396 * include/grub/test.h: Likewise.
18397 * kern/mm.c: Likewise.
18398 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18399
6a5cf6b6
VS
184002010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 Sunpc partitions support.
18403
18404 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18405 (grub_fstest_SOURCES): Likewise.
18406 (pkglib_MODULES): Add part_sunpc.mod.
18407 (part_sunpc_mod_SOURCES): New variable.
18408 (part_sunpc_mod_CFLAGS): Likewise.
18409 (part_sunpc_mod_LDFLAGS): Likewise.
18410 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18411 * partmap/sunpc.c: New file.
18412
746d9045
BC
184132010-03-26 BVK Chaitanya <bvk@localhost>
18414
18415 For loop support to GRUB script.
18416
18417 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18418 (grub_script_create_cmdfor): New function prototype.
18419 (grub_script_execute_cmdfor): New function prototype.
18420 * script/execute.c (grub_script_execute_cmdfor): New function.
18421 * script/parser.y (command): New for command.
18422 (forcmd): New grammar rule.
18423 * script/script.c (grub_script_create_cmdfor): New function.
18424 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18425 function.
18426 * tests/grub_script_for1.in: New testcase.
18427 * conf/tests.rmk: Rules for new testcase.
18428
18486b18
VS
184292010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 Nested partitions
18432
18433 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18434 'partition' is NULL, grub_partition_get_start already does that.
18435 * commands/loadenv.c (check_blocklists): Likewise.
18436 (write_blocklists): Likewise.
18437 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18438 (grub_fstest_SOURCES): Likewise.
18439 (pkglib_MODULES): Add part_bsd.mod.
18440 (part_bsd_mod_SOURCES): New variable.
18441 (part_bsd_mod_CFLAGS): Likewise.
18442 (part_bsd_mod_LDFLAGS): Likewise.
18443 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18444 (grub_emu_SOURCES): Likewise.
18445 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18446 * include/grub/bsdlabel.h: New file.
18447 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18448 'get_name'.
18449 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18450 (grub_partition_map_list): New variable.
18451 (grub_partition_map_register): Inline.
18452 (grub_partition_map_unregister): Likewise.
18453 (FOR_PARTITION_MAPS): New macro.
18454 (grub_partition_map_iterate): Removed.
18455 (grub_partition_get_start): Handle nested partitions.
18456 * include/grub/msdos_partition.h: Remove bsd-related entries.
18457 (grub_pc_partition): Remove.
18458 * kern/disk.c (grub_disk_close): Free partition data.
18459 (grub_disk_adjust_range): Handle nested partitions.
18460 * kern/partition.c (grub_partition_map_probe): New function.
18461 (grub_partition_probe): Parse name to number, handle subpartitions.
18462 (get_partmap): New function.
18463 (grub_partition_iterate): Handle subpartitions.
18464 (grub_partition_get_name): Likewise.
18465 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18466 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18467 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18468 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18469 Set 'number'.
18470 (acorn_partition_map_probe): Remove.
18471 (acorn_partition_map_get_name): Likewise.
18472 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18473 Set 'number'.
18474 Set 'index' to 0 since there can be only one partition entry per sector.
18475 (amiga_partition_map_probe): Remove.
18476 (amiga_partition_map_get_name): Likewise.
18477 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18478 Set 'number'.
18479 Set 'offset' and 'index' to real positions of partitions.
18480 (apple_partition_map_probe): Remove.
18481 (apple_partition_map_get_name): Likewise.
18482 * partmap/bsdlabel.c: New file.
18483 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18484 Set 'number'.
18485 Allocate 'data' so it can be correctly freed.
18486 Set 'index' to offset inside sector.
18487 (gpt_partition_map_probe): Remove.
18488 (gpt_partition_map_get_name): Likewise.
18489 * partmap/msdos.c (grub_partition_parse): Remove.
18490 (pc_partition_map_iterate): Don't force raw access.
18491 Set 'number'.
18492 Make 'ext_offset' a local variable.
18493 (pc_partition_map_probe): Remove.
18494 (pc_partition_map_get_name): Remove.
18495 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18496 Set 'number'.
18497 (sun_partition_map_probe): Remove.
18498 (sun_partition_map_get_name): Likewise.
18499 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18500 (grub_pcpart_type): Likewise.
18501 * util/hostdisk.c (open_device): Handle new numbering scheme.
18502 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18503 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18504 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18505 * util/grub-install.in: Insert all subpartition modules.
18506 * util/ieee1275/grub-install.in: Likewise.
18507
a3940f88
AG
185082010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18509
18510 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18511 grammar.
18512
21b99926 185132010-03-24 Colin Watson <cjwatson@ubuntu.com>
18514
18515 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18516
bed1d352
CW
185172010-03-21 Colin Watson <cjwatson@ubuntu.com>
18518
18519 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18520 match where 'make install' puts them.
18521 * util/i386/efi/grub-install.in: Likewise.
18522
c9f58427
CW
185232010-03-19 Colin Watson <cjwatson@ubuntu.com>
18524
18525 * .bzrignore: Add gentrigtables, grub-script-check,
18526 grub_script_check_init.c, grub_script_check_init.h, and
18527 trigtables.c.
18528
f84afb27
VS
185292010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 * kern/parser.c: Indented.
18532
ed0e3d30
VS
185332010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18536
0ea81d98
VS
185372010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18538
18539 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18540 alpha_mask_size == 0 case.
18541
0cdc2a09
BC
185422010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18543
18544 GRUB shell lexer and parser improvements.
18545
18546 * conf/any-emu.rmk: Build rule updates.
18547 * conf/common.rmk: Likewise.
18548 * conf/i386-coreboot.rmk: Likewise.
18549 * conf/i386-efi.rmk: Likewise.
18550 * conf/i386-ieee1275.rmk: Likewise.
18551 * conf/i386-pc.rmk: Likewise.
18552 * conf/powerpc-ieee1275.rmk: Likewise.
18553 * conf/x86_64-efi.rmk: Likewise.
18554
18555 * configure.ac: Configure check for flex.
18556
18557 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18558 types.
18559 (grub_lexer_param): Struct member updates.
18560 (grub_parser_param): Likewise.
18561 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18562 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18563 (grub_script_lexer_init): Prototype update.
18564 (grub_script_lexer_record_start): Likewise.
18565 (grub_script_lexer_record_stop): Likewise.
18566 (grub_script_lexer_yywrap): New function prototype.
18567 (grub_script_lexer_fini): Likewise.
18568 (grub_script_execute_argument_to_string): Removed by...
18569 (grub_script_execute_argument_to_argv): ...better version.
18570
18571 * script/execute.c (ROUND_UPTO): New macro.
18572 (grub_script_execute_cmdline): Out of memory fixes.
18573 (grub_script_execute_menuentry): Likewise.
18574 (grub_script_execute_argument_to_string): Removed. Update all
18575 users by...
18576 (grub_script_execute_argument_to_argv): ...better version.
18577 * script/function.c (grub_script_function_create): Use
18578 grub_script_execute_argument_to_argv instead of
18579 grub_script_execute_argument_to_string.
18580
18581 * script/lexer.c (check_varstate): Removed.
18582 (check_textstate): Removed.
18583 (grub_script_lexer_record_start): Likewise.
18584 (grub_script_lexer_record_stop): Likewise.
18585 (recordchar): Replaced with...
18586 (grub_script_lexer_record): ...new function.
18587 (nextchar): Removed.
18588 (grub_script_lexer_init): Rewritten.
18589 (grub_script_yylex): Rewritten.
18590 (append_newline): New function.
18591 (grub_script_lexer_yywrap): New function.
18592 (grub_script_lexer_fini): New function.
18593 (grub_script_yyerror): Sets error flag.
18594
18595 * script/yylex.l: New file.
18596 (grub_lexer_yyfree): Wrapper for flex yyffre.
18597 (grub_lexer_yyalloc): Likewise.
18598 (grub_lexer_yyrealloc): Likewise.
18599 * script/parser.y: Refactored.
18600
18601 * script/script.c (grub_script_arg_add): Out of memory fixes.
18602 (grub_script_add_arglist): Likewise.
18603 (grub_script_create_cmdline): Likewise.
18604 (grub_script_create_cmdmenu): Likewise.
18605 (grub_script_add_cmd): Likewise.
18606 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18607 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18608 unnecessary code.
18609
18610 * tests/grub_script_echo1.in: New testcase.
18611 * tests/grub_script_vars1.in: New testcase.
18612 * tests/grub_script_echo_keywords.in: New testcase.
18613
1d63a066
VS
186142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 Remove some redundancy in build system.
18617
18618 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18619 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18620 (TARGET_LDFLAGS): Add -nostdlib.
18621 (TARGET_IMG_LDFLAGS): Likewise.
18622 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18623 anything since mmap isn't available.
18624 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18625 Add util/time.c.
18626 (pkglib_MODULES): Remove reboot.mod.
18627 (reboot_mod_SOURCES): Removed.
18628 (reboot_mod_CFLAGS): Likewise.
18629 (reboot_mod_LDFLAGS): Likewise.
18630 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18631 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18632 (DEFSYMFILES): Add kernel_syms.lst.
18633 (kernel_img_HEADERS): Add common headers.
18634 (symlist.c): New target.
18635 (kernel_syms.lst): Likewise.
18636 (pkglib_MODULES): Add memdisk.mod.
18637 (memdisk_mod_SOURCES): New variable.
18638 (memdisk_mod_CFLAGS): Likewise.
18639 (memdisk_mod_LDFLAGS): Likewise.
18640 (pkglib_MODULES): Add reboot.mod.
18641 (reboot_mod_SOURCES): New variable.
18642 (reboot_mod_CFLAGS): Likewise.
18643 (reboot_mod_LDFLAGS): Likewise.
18644 (pkglib_MODULES): Add date.mod.
18645 (date_mod_SOURCES): New variable.
18646 (date_mod_CFLAGS): Likewise.
18647 (date_mod_LDFLAGS): Likewise.
18648 (pkglib_MODULES): Add datehook.mod.
18649 (datehook_mod_SOURCES): New variable.
18650 (datehook_mod_CFLAGS): Likewise.
18651 (datehook_mod_LDFLAGS): Likewise.
18652 (pkglib_MODULES): Add lsmmap.mod.
18653 (lsmmap_mod_SOURCES): New variable.
18654 (lsmmap_mod_CFLAGS): Likewise.
18655 (lsmmap_mod_LDFLAGS): Likewise.
18656 (pkglib_MODULES): Add boot.mod.
18657 (boot_mod_SOURCES): New variable.
18658 (boot_mod_CFLAGS): Likewise.
18659 (boot_mod_LDFLAGS): Likewise.
18660 * conf/i386-coreboot.rmk: Removed redundant parts.
18661 * conf/i386-ieee1275.rmk: Likewise.
18662 * conf/i386-pc.rmk: Likewise.
18663 * conf/mips-yeeloong.rmk: Likewise.
18664 * conf/mips.rmk: Likewise.
18665 * conf/powerpc-ieee1275.rmk: Likewise.
18666 * conf/sparc64-ieee1275.rmk: Likewise.
18667 * conf/x86_64-efi.rmk: Likewise.
18668 * conf/i386-coreboot.rmk: Moved qemu parts ..
18669 * conf/i386-qemu.rmk: ... here
18670 * conf/i386-efi.rmk: Moved common parts to...
18671 * conf/x86-efi.rmk: ... here.
18672 * conf/i386.rmk: Added modules common to all x86 variants.
18673 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18674 * disk/memdisk.c: Remove grub/machine/kernel.h.
18675 * gensymlist.sh.in: Include symbol.h.
18676 * hook/datehook.c: Correct module name.
18677 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18678 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18679 * include/grub/i386/efi/serial.h: New file.
18680 * include/grub/x86_64/efi/serial.h: Likewise.
18681 * util/time.c: Likewise.
18682 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18683
463ac55f
CK
186842010-03-14 Colin King <colin.king@ubuntu.com>
186852010-03-14 Colin Watson <cjwatson@ubuntu.com>
18686
18687 Shrink the pre-partition-table part of boot.img by eight bytes.
18688
18689 * boot/i386/pc/boot.S (ERR): New macro.
18690 (chs_mode): Use ERR.
18691 (geometry_error): Likewise.
18692 (hd_probe_error): Remove. This is only used once, so we wrwite
18693 it inline instead.
18694 (read_error): Instead of printing read_error_string, just set up
18695 %si and fall through to ...
18696 (error_message): ... this new function, also used by ERR.
18697
08e46ede
CW
186982010-03-14 Colin Watson <cjwatson@ubuntu.com>
18699
18700 Speed up consecutive hostdisk operations on the same device.
18701
18702 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18703 (grub_util_biosdisk_open): Initialise disk->data.
18704 (struct linux_partition_cache): New structure.
18705 (linux_find_partition): Cache partition start positions; these are
18706 expensive to compute on every read and write.
18707 (open_device): Cache open file descriptor in disk->data, so that we
18708 don't have to reopen it and flush the buffer cache for consecutive
18709 operations on the same device.
18710 (grub_util_biosdisk_close): New function.
18711 (grub_util_biosdisk_dev): Set `close' member.
18712
18713 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18714 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18715 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18716 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18717 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18718
4a6d2d06
VS
187192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18720
18721 Compile parts of grub-emu as modules.
18722
18723 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18724 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18725 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18726 (all-local): Add $(GRUB_EMU).
18727 (install-local): Install $(GRUB_EMU).
18728 (uninstall): Uninstall $(GRUB_EMU).
18729 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18730 * kern/dl.c: Likewise.
18731 * commands/sleep.c: Not include machine/time.h.
18732 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18733 (COMMON_CFLAGS): Likewise.
18734 (sbin_UTILITIES): Remove grub-emu.
18735 (grub_emu_SOURCES): Removed.
18736 (kernel_img_RELOCATABLE): New variable.
18737 (pkglib_PROGRAMS): Add kernel.img.
18738 (kernel_img_SOURCES): New variable
18739 (kernel_img_CFLAGS): Likewise.
18740 (kernel_img_LDFLAGS): Likewise.
18741 (TARGET_NO_STRIP): Likewise.
18742 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18743 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18744 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18745 (grub-emu): New target.
18746 (GRUB_EMU): New variable.
18747 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18748 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18749 * loader/xnu.c: Likewise.
18750 * include/grub/pci.h: Likewise.
18751 * genemuinit.sh: New file.
18752 * genemuinitheader.sh: Likewise.
18753 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18754 Support TARGET_NO_DYNAMIC_MODULES.
18755 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18756 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18757 * disk/loopback.c: Likewise.
18758 * font/font_cmd.c: Likewise.
18759 * partmap/acorn.c: Likewise.
18760 * partmap/amiga.c: Likewise.
18761 * partmap/apple.c: Likewise.
18762 * partmap/gpt.c: Likewise.
18763 * partmap/msdos.c: Likewise.
18764 * partmap/sun.c: Likewise.
18765 * parttool/msdospart.c: Likewise.
18766 * term/gfxterm.c: Likewise.
18767 * video/bitmap.c: Likewise.
18768 * video/readers/jpeg.c: Likewise.
18769 * video/readers/png.c: Likewise.
18770 * video/readers/tga.c: Likewise.
18771 * video/video.c: Likewise.
18772 * util/grub-emu.c (read_command_list): Removed.
18773 (main): Don't call util_init_nls.
18774 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18775 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18776
91fdd2ed
VS
187772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18778
18779 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18780 date.mod, datehook.mod.
18781 (datetime_mod_SOURCES): New variable.
18782 (datetime_mod_CFLAGS): Likewise.
18783 (datetime_mod_LDFLAGS): Likewise.
18784 (date_mod_SOURCES): Likewise.
18785 (date_mod_CFLAGS): Likewise.
18786 (date_mod_LDFLAGS): Likewise.
18787 (datehook_mod_SOURCES): Likewise.
18788 (datehook_mod_CFLAGS): Likewise.
18789 (datehook_mod_LDFLAGS): Likewise.
18790 * conf/sparc64-ieee1275.rmk: Likewise.
18791 * lib/ieee1275/datetime.c: New file.
18792
873ccae6
VS
187932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18796 (ieee1275_fb_mod_SOURCES): New variable.
18797 (ieee1275_fb_mod_CFLAGS): Likewise.
18798 (ieee1275_fb_mod_LDFLAGS): Likewise.
18799 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18800 New proto.
18801 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18802 (HEAP_MAX_ADDR): Likewise.
18803 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18804 type.
18805 Correct stop condition.
18806 (grub_ieee1275_devices_iterate): New function.
18807 * video/ieee1275.c: New file.
18808
601c97c0
VS
188092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18812
18813 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18814 as scratch.
18815 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18816 SCRATCH_PAD_DISKBOOT as scratch.
18817 (bootit): Pass Openfirmware pointer in %o4.
18818 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18819 of 0x200000.
18820 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18821 with util/grub-mkrawimage.c.
18822 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18823 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18824 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18825 (grub_aout_load) [GRUB_UTIL]: Likewise.
18826 * include/grub/kernel.h (grub_modules_get_end): New proto.
18827 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18828 (SCRATCH_PAD_BOOT): New definition.
18829 (SCRATCH_PAD_DISKBOOT): Likewise.
18830 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18831 * include/grub/sparc64/ieee1275/ieee1275.h
18832 (grub_ieee1275_original_stack): New variable
18833 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18834 New definition
18835 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18836 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18837 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18838 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18839 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18840 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18841 (grub_platform_image_format_t): New type.
18842 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18843 * kern/main.c (grub_modules_get_end)
18844 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18845 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18846 (codestart): Switch stacks.
18847 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18848 variable.
18849 (grub_heap_init): Use grub_modules_get_end.
18850 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18851 stack.
18852 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18853 (main): Likewise.
18854 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18855
d68b491e
TG
188562010-03-14 Thorsten Glaser <tg@mirbsd.org>
18857
18858 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18859
4e02ed50
MK
188602010-03-08 Matt Kraai <kraai@ftbfs.org>
18861
18862 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18863 bug #559005).
18864
1f15fc1e
VS
188652010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18866
18867 * genmoddep.awk: Output all missing symbols and not only first.
18868
fce5d8ff
VS
188692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * NEWS: Put the date of 1.98 release.
18872
d1e8a02f
VS
188732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18876 ft2build.h.
18877
696fd607
VS
188782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18881 completition in the middle of string.
18882
33e2e6f3
VS
188832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 * util/grub-mkrescue.in: Use mktemp with explicit template.
18886
b1f6d291
VS
188872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18890
2ac227c7
VS
188912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18892
18893 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18894 right pointer.
18895
8f9a632b
VS
188962010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18897
18898 Fix FreeBSD compilation.
18899
18900 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18901 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18902
60b03859
VS
189032010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18906
48a5a769
VS
189072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18910
3ab4bd77
VS
189112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18914
d116e0d8
RM
189152010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18916
18917 Support relative image path in theme file.
18918
18919 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18920 (image_set_property): Handle theme_dir and relative path.
18921
c7ef54aa
VS
189222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 * configure.ac: Alias amd64 to x86_64.
18925
fcee14ed
VS
189262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * NEWS: mention multiboot on EFI.
18929
d0780363
VS
189302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * kern/main.c (grub_load_modules): Handle errors from init functions of
18933 embeded modules.
18934
41168ea4
VS
189352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 * normal/autofs.c (autoload_fs_module): Handle errors.
18938
b54d93ac
VS
189392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 Disable linux.mod on qemu-mips since it's not functional and leads
18942 to compilation failure.
18943
18944 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18945 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18946 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18947 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18948 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18949 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18950 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18951 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18952 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18953 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18954 Reported by: BVK Chaitanya
18955
fc8345da
JU
189562010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18957
18958 * INSTALL: Add gettext as a dependency and add qemu to a new section
18959 "Prerequisites for make-check".
18960
4760f979
CF
189612010-03-04 Christian Franke <franke@computer.org>
18962
18963 * util/grub-pe2elf.c: Add missing include "progname.h".
18964
f209b5b2
VS
189652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18966
18967 * normal/crypto.c (read_crypto_list): Fix a typo.
18968 Reported by: Seth Goldberg.
18969
b4b7be98
VS
189702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18971
18972 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18973 Reported by: Seth Goldberg.
b4b7be98 18974
c0ee0385
VS
189752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18978 ascii.bitmaps.
18979
a8efbf64
VS
189802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18983 Reported by: Seth Goldberg.
a8efbf64 18984
08dcd913
VS
189852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 * util/i386/efi/grub-install.in: Copy gettext files.
18988
c4d0b332
VS
189892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18992
c6f2fe52
VS
189932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18994
18995 Wait for user entry basing on presence of output rather than on errors.
18996
18997 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18998 (grub_install_newline_hook): Likewise.
18999 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19000 * normal/menu.c (show_menu): Check line_counter to determine presence
19001 of output.
19002 * normal/term.c (grub_normal_line_counter): New variable.
19003 (grub_normal_get_line_counter): New function.
19004 (grub_install_newline_hook): Likewise.
19005
5382b1e4
VS
190062010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19009
5519963b
VS
190102010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 * configure.ac: Update version to 1.98.
19013
72b28631
VS
190142010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * util/grub.d/10_linux.in (linux_entry): Don't default to
19017 gfxpayload=keep if Linux doesn't support video handover.
19018
c140a180
VS
190192010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 Don't compile video modules on yeeloong since video subsystem is part
19022 of kernel.
19023
19024 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19025 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19026 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19027 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19028 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19029 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19030 * include/grub/bitmap_scale.h: Likewise.
19031 * include/grub/bufio.h: Likewise.
19032 * include/grub/font.h: Likewise.
19033 * include/grub/gfxterm.h: Likewise.
19034 * include/grub/video.h: Likewise.
19035 * include/grub/vbe.h: Don't include video_fb.h.
19036 * video/i386/pc/vbe.c: Include video_fb.h.
19037 * commands/i386/pc/vbetest.c: Include video.h.
19038
a0ca21c2
CW
190392010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19040
19041 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19042 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19043 default entry if GRUB_SAVEDEFAULT=true. This allows using
19044 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19045 saving a new default on every boot.
19046
4a8a763c
VS
190472010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19050 * normal/term.c (read_terminal_list): Likewise.
19051 * normal/main.c (grub_normal_init_page): Likewise.
19052 (grub_normal_read_line_real): Likewise.
19053
607ffde2
VS
190542010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19057 memory leak.
19058 Reported by: Seth Goldberg.
19059
2b8fa975
CW
190602010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19061
19062 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19063 duplicate declaration of `start'.
19064
618307dd
VS
190652010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19066
19067 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19068 filename.
19069 Reported by: Georgy Buranov
19070
7dd05b96 190712010-02-20 Carles Pina i Estany <carles@pina.cat>
19072
19073 * util/grub-mkrawimage.c (usage): Change string formatting to
19074 improve gettext.
19075
d1484a42
MRA
190762010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19077
19078 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19079 backspace keys.
19080
42b1d186
VS
190812010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19084 Reported by: Michael Suchanek.
19085
190862010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19087
19088 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19089 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19090
d9f31a41
VS
190912010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 Remove any reference to non-free fonts.
19094
19095 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19096 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19097 uses non-free components.
19098 * font/font.c (grub_font_get_name): Remove example name.
19099 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19100 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19101 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19102 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19103
2793c71e
GB
191042010-02-16 Georgy Buranov <gburanov@gmail.com>
19105
19106 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19107
402e3779
VS
191082010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19109
19110 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19111 Double divisor.
19112 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19113 features.
19114 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19115
0dd1e0dd
VS
191162010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19119
6fa7cfce
ST
191202010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19121
19122 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19123 * docs/grub.texi (Command-line and menu entry commands): Document play
19124 command.
19125
37c8483b
ST
191262010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19127
19128 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19129 parse arguments as inline tempo and notes. Move code for playing notes
19130 to...
19131 (play): ... new function.
19132
14da0fb7
ST
191332010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19134
19135 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19136 grub_uint16_t instead of short.
19137 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19138 disk from little endian to cpu endianness.
19139
04459e70
ST
191402010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19141
19142 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19143 GRUB_TICKS_PER_SECOND instead of 120.
19144
a0876943
VS
191452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19146
19147 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19148 escape sequence after \e.
19149
e29f95dc
VS
191502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19153 non-ASCII characters.
19154
d27859b2
VS
191552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19158 set root in single quotes to prevent \, from being unescaped.
19159
bc028f2f
VS
191602010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 Prevent unknown commands from stopping menuentry execution.
19163
19164 * script/execute.c (grub_script_execute_cmdline): Print error after
19165 unknown command.
19166
095f5f82
VS
191672010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19170 Reported by: Pavel Pisa.
19171
8c717950
VS
191722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19173
19174 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19175
904935c3
VS
191762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19177
19178 Merge grub_ieee1275_map_physical into grub_map and rename to
19179 grub_ieee1275_map
19180
19181 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19182 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19183 Remove.
19184 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19185 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19186 necessary.
19187 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19188
5b59a4e3
VS
191892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19192 opening and not after.
19193
69e137e8
VS
191942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19197 constants.
19198
2c0fcc36
VS
191992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19202 (alloc_phys): Use ALIGN_UP instead of align_addr.
19203
8c6052ce
VS
192042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19207
17cec782
VS
192082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19211
e0128bbd
VS
192122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19215 verbose dprintf.
19216
ca62070b
VS
192172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 Fix over-4GiB seek on sparc64.
19220
19221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19222 Replace pos_i and pos_lo with pos. All users updated.
19223 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19224 New constant.
19225 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19226 Likewise.
19227 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19228 and pos_lo.
19229
bdca2607
VS
192302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 * util/grub-mkrawimage.c (main): Call set_program_name.
19233
da278c4d
VS
192342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 Properly align 64-bit targets.
19237
19238 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19239 (generate_image): Use ALIGN_ADDR.
19240
b274d734
VS
192412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19242
19243 Properly create cross-endian images.
19244
19245 * include/grub/types.h (grub_host_to_target_addr): New macro
19246 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19247
82da2062
VS
192482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19251
7cae4377
VS
192522010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19255
19256 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19257 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19258 (grub_linux_boot): Divide by 64K when on VESA.
19259
65a533e7
VS
192602010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 Support GRUB_GFXPAYLOAD_LINUX.
19263
19264 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19265 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19266
dd01d397
VS
192672010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19268
19269 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19270 to show messages instead of discarding them.
19271 Process errors after executing command and not before. Keep old method
19272 too as precaution.
19273
660960d6
VS
192742010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19275
19276 * configure.ac: Check for ft2build.h.
19277
62509f04
VS
192782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19279
19280 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19281
473df63d
VS
192822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19283
19284 * genkernsyms.sh.in: Use TARGET_CC.
19285
c98d2a13
CW
192862010-02-07 Colin Watson <cjwatson@ubuntu.com>
19287
19288 * NEWS: Update.
19289
6e14234c
VS
192902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19293 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19294 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19295
b255e9cf
YB
192962010-02-07 Yves Blusseau <blusseau@zetam.org>
19297
6e14234c 19298 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19299
98e6959d
VS
193002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19301
19302 Fix warnings in grub-emu when compiling with maximum warning options.
19303
19304 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19305 (grub_arch_modules_addr): Return 0 and not NULL.
19306 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19307 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19308 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19309 of disk to dsk to avoid shadowing.
74e4934e
VS
19310 (find_free_slot): Fix prototype.
19311 * util/getroot.c (grub_util_is_dmraid): Make static.
19312 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19313 Add missing prototype.
19314 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19315
74e31b5c
VS
193162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19317
19318 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19319 appropriately.
19320
6b2ad14b
VS
193212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19324 code out.
19325
8f891adc
VS
193262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19329 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19330 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19331 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19332 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19333 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19334
74b45184
VS
193352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 * include/grub/err.h (grub_err_printf): Don't export.
19338
a4bced77
VS
193392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19342
007d0695
VS
193432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19346 * kern/misc.c (grub_gettext_dummy): Make static.
19347
b6c0d9c2
VS
193482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19351 by non-valid ones.
19352 * kern/term.c (grub_putchar): Likewise.
19353
f51a90d0
VS
193542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19357 buggy hook call and memory leak.
19358
6846cec5
VS
193592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19362
468d69fe
VS
193632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19366
51906b8c
VS
193672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19368
19369 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19370 modevar.
19371 Return grub_errno on allocation error.
19372
09706ce5
VS
193732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19374
19375 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19376
911df80c
YB
193772010-02-06 Yves Blusseau <blusseau@zetam.org>
19378
19379 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19380 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19381
3746a6bc
VS
193822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19385 non-pxe disk.
19386 (grub_pxefs_open): Likewise.
19387
09706ce5
VS
193882010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19389
19390 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19391 * util/grub.d/10_kfreebsd.in: Likewise.
19392 * util/grub.d/10_linux.in: Likewise.
19393
7cc192d9
VS
193942010-02-06 Colin D Bennett <colin@gibibit.com>
19395
19396 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19397 (gfxmenu_mod_SOURCES): New variable.
19398 (gfxmenu_mod_CFLAGS): Likewise.
19399 (gfxmenu_mod_LDFLAGS): Likewise.
19400 * include/grub/term.h (grub_term_set_current_output): Declare
19401 argument as const.
19402 * docs/gfxmenu-theme-example.txt: New file.
19403 * gfxmenu/gfxmenu.c: Likewise.
19404 * gfxmenu/gui_box.c: Likewise.
19405 * gfxmenu/gui_canvas.c: Likewise.
19406 * gfxmenu/gui_circular_progress.c: Likewise.
19407 * gfxmenu/gui_image.c: Likewise.
19408 * gfxmenu/gui_label.c: Likewise.
19409 * gfxmenu/gui_list.c: Likewise.
19410 * gfxmenu/gui_progress_bar.c: Likewise.
19411 * gfxmenu/gui_string_util.c: Likewise.
19412 * gfxmenu/gui_util.c: Likewise.
19413 * gfxmenu/icon_manager.c: Likewise.
19414 * gfxmenu/model.c: Likewise.
19415 * gfxmenu/named_colors.c: Likewise.
19416 * gfxmenu/theme_loader.c: Likewise.
19417 * gfxmenu/view.c: Likewise.
19418 * gfxmenu/widget-box.c: Likewise.
19419 * include/grub/gfxmenu_model.h: Likewise.
19420 * include/grub/gfxmenu_view.h: Likewise.
19421 * include/grub/gfxwidgets.h: Likewise.
19422 * include/grub/gui.h: Likewise.
19423 * include/grub/gui_string_util.h: Likewise.
19424 * include/grub/icon_manager.h: Likewise.
19425
194262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 Agglomerate scrolling in gfxterm.
19429
19430 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19431 (grub_virtual_screen_setup): Initialise 'total_screen'.
19432 (write_char): Split to ...
19433 (paint_char): ... this ...
19434 (write_char): ... and this.
19435 (paint_char): Handle delayed scrolling.
19436 (draw_cursor): Likewise.
19437 (scroll_up): Split to ...
19438 (real_scroll): ... this ...
19439 (scroll_up): ... and this.
19440 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19441 characters.
19442 (grub_gfxterm_refresh): Call real_scroll.
19443
194442010-02-06 Colin D Bennett <colin@gibibit.com>
19445
19446 * include/grub/misc.h (grub_iscntrl): New inline function.
19447 (grub_isalnum): Likewise.
19448 (grub_strtol): Likewise.
19449
194502010-02-06 Colin D Bennett <colin@gibibit.com>
19451
19452 * normal/menu_text.c (get_entry_number): Move from here ...
19453 * normal/menu.c (get_entry_number): ... moved here.
19454 * include/grub/menu.h (grub_menu_get_default_entry_index):
19455 New prototype.
19456 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19457 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19458 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19459 (grub_menu_viewer_should_return): Likewise.
19460 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19461 * normal/menu_text.c (run_menu): Enable menu switching.
19462 * normal/menu_viewer.c (should_return): New variable.
19463 (menu_viewer_changed): Likewise.
19464 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19465 (grub_menu_viewer_should_return): New function.
19466 (menuviewer_write_hook): Likewise.
19467 (grub_menu_viewer_init): Likewise.
19468
194692010-02-06 Colin D Bennet <colin@gibibit.com>
194702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19471
19472 Support for gfxterm in a window.
19473
19474 * include/grub/gfxterm.h: New file.
19475 * include/grub/video.h (struct grub_video_rect): New declaration.
19476 (grub_video_rect_t): Likewise.
19477 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19478 (refcount): New variable.
19479 (render_target): Likewise.
19480 (window): Likewise.
19481 (repaint_callback): Likewise.
19482 (grub_virtual_screen_setup): Use 'render_target'.
19483 (init_window): New function.
19484 (grub_gfxterm_init_window): Likewise.
19485 (grub_gfxterm_init): Check reference counter.
19486 Use init_window.
19487 (destroy_window): New function.
19488 (grub_gfxterm_destroy_window): Likewise.
19489 (grub_gfxterm_fini): Check reference counter.
19490 Use destroy_window.
19491 (redraw_screen_rect): Restore viewport.
19492 Use 'render_target' and 'window'.
19493 Call 'repaint_callback'.
19494 (write_char): Use 'render_target'.
19495 (draw_cursor): Likewise.
19496 (scroll_up): Restore viewport.
19497 Use 'render_target' and 'window'.
19498 Call 'repaint_callback'.
19499 (grub_gfxterm_cls): Likewise.
19500 (grub_gfxterm_refresh): Use 'window'.
19501 (grub_gfxterm_set_repaint_callback): New function.
19502 (grub_gfxterm_background_image_cmd): Use 'window'.
19503 (grub_gfxterm_get_term): New function.
19504 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19505
195062010-02-06 Colin D Bennett <colin@gibibit.com>
19507
19508 Bitmap scaling support.
19509
19510 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19511 (bitmap_scale_mod_SOURCES): New variable.
19512 (bitmap_scale_mod_CFLAGS): Likewise.
19513 (bitmap_scale_mod_LDFLAGS): Likewise.
19514 * include/grub/bitmap_scale.h: New file.
19515 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19516 (background_image_cmd_options): New variable.
19517 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19518 (cmd): Rename and change type to ...
19519 (background_image_cmd_handle): ... this. All users updated.
19520 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19521 * video/bitmap_scale.c: New file.
19522
195232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 SDL support.
19526
19527 * Makefile.in (LIBSDL): New variable.
19528 (enable_grub_emu_sdl): Likewise.
19529 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19530 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19531 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19532 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19533 * util/sdl.c: New file.
19534
195352010-02-06 Colin D Bennett <colin@gibibit.com>
195362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 Double buffering support.
19539
19540 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19541 * include/grub/video.h: Update comment.
19542 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19543 New type.
19544 (grub_video_fb_doublebuf_blit_init): New prototype.
19545 * term/gfxterm.c (scroll_up): Support double buffering.
19546 (grub_gfxterm_refresh): Likewise.
19547 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19548 (grub_video_fb_doublebuf_blit_init): Likewise.
19549 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19550 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19551 'displayed_page', 'render_page' and 'update_screen'.
19552 (grub_video_vbe_fini): Free offscreen buffer.
19553 (doublebuf_pageflipping_commit): New function.
19554 (doublebuf_pageflipping_update_screen): Likewise.
19555 (doublebuf_pageflipping_init): Likewise.
19556 (double_buffering_init): Likewise.
19557 (grub_video_vbe_setup): Enable doublebuffering.
19558 (grub_video_vbe_swap_buffers): Implement.
19559 (grub_video_vbe_set_active_render_target): Handle double buffering.
19560 (grub_video_vbe_get_active_render_target): Likewise.
19561 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19562 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19563 (grub_video_vbe_enable_double_buffering): Likewise.
19564 (grub_video_vbe_swap_buffers): Use update_screen.
19565 (grub_video_set_mode): Use double buffering.
19566
195672010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19568
19569 * maintainance/gentrigtables.py: Remove.
19570 * lib/trig.c: Likewise.
19571
19572 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19573
19574 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19575 `trigtables.c'.
19576 (trigtables.c): New rule.
19577 (gentrigtables): Likewise.
19578 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19579
195802010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19581
19582 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19583 integer constants.
19584
195852010-02-06 Colin D Bennet <colin@gibibit.com>
19586
19587 Trigonometry support.
19588
19589 * include/grub/trig.h: New file.
19590 * lib/trig.c: Likewise.
19591 * maintainance/gentrigtables.py: Likewise.
19592 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19593 (trig_mod_SOURCES): New variable.
19594 (trig_mod_CFLAGS): Likewise.
19595 (trig_mod_LDFLAGS): Likewise.
19596
5562834e
VS
195972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19600 disk devices.
19601
4f8528fc
VS
196022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19605 error.
19606
2b4068e9
VS
196072010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19608
19609 * util/hostdisk.c (open_device): Don't use partition device when reading
19610 before the partition.
19611 (grub_util_biosdisk_read): Don't read from partition and before the
19612 partition in single operation.
19613 (grub_util_biosdisk_write): Don't write to partition and before the
19614 partition in single operation.
19615
399f6e4d
TL
196162010-02-03 Torsten Landschoff <torsten@debian.org>
19617
19618 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19619 last sectors.
19620
996649b0
VS
196212010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19624 CDROM reads.
19625 (grub_biosdisk_write): Refuse to write to CDROM.
19626
3b205d4d
VS
196272010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19630
61e89d9d
VS
196312010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * font/font.c (find_glyph): Check that bmp_idx is available before
19634 using it.
19635 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19636 with (font == NULL).
19637
bf7fcba2
CS
196382010-01-28 Christian Schmitt <chris@ilovelinux.de>
19639
19640 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19641
f45d2663
BC
196422010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19643
19644 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19645 * util/grub-script-check.c (getline): Fix empty lines case.
19646
ec1444e6
RM
196472010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19648
19649 * Makefile.in (check): Exit with fail status when one of the tests
19650 fails.
19651 * tests/example_functional_test.c (example_test): Fix reversed assert.
19652 * tests/example_unit_test.c (example_test): Likewise.
19653
2e1cb9bb
CW
196542010-01-28 Colin Watson <cjwatson@ubuntu.com>
19655
19656 * util/grub.d/10_linux.in: This script does not use any of the
19657 contents of gettext.sh, only the external command `gettext', so stop
19658 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19659 the same prefix as GRUB.)
19660 * util/grub.d/10_kfreebsd.in: Likewise.
19661
63533ab0
VS
196622010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19663
19664 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19665 of the line.
19666
989e1f93
VS
196672010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19670 last sectors.
19671
e709ebe2
VS
196722010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19673
19674 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19675 having a 4KiB and not 32KiB buffer size.
19676
27dea7ed
RM
196772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19678
19679 * util/hostfs.c: Include `<errno.h>'.
19680 (grub_hostfs_read): Handle errors from fseeko() and fread().
19681
67667b9c
RM
196822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19683
19684 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19685 loop when using read hooks on files whose size isn't sector-aligned.
19686
c294d9d8
RM
196872010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19688
19689 Remove unused parameter.
19690
19691 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19692 (grub_iso9660_open): Remove initialization of `data->length'.
19693
af75a9f1
RM
196942010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19695
19696 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19697 memleak conditions.
19698
254e2ce5 196992010-01-27 Carles Pina i Estany <carles@pina.cat>
19700
19701 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19702 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19703
b510928c 197042010-01-26 Carles Pina i Estany <carles@pina.cat>
19705
19706 * util/bin2h.c (usage): Fix warning (space after backslash).
19707
aa2f9dd2 197082010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19709
19710 * font/font.c: Include `grub/fontformat.h.
19711 Remove font file format constants.
19712 (grub_font_load): Use the new macros.
19713 * include/grub/fontformat.h: New file.
19714 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19715 (write_font_pf2): Use the new macros.
19716
94e7e712
RM
197172010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19718
19719 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19720 does.
19721
3973a59a
RM
197222010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19723
19724 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19725
19726 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19727 (_start): Macroify `0x7F'.
19728
19729 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19730 (make_install_device): Use "(pxe)" as fallback prefix when booting
19731 via PXE.
19732
42e0cba3
GS
197332010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19734
19735 * configure.ac: Reset LIBS after check for libgcc symbols.
19736
847effd8
CW
197372010-01-25 Colin Watson <cjwatson@ubuntu.com>
19738
19739 * util/hostdisk.c (open_device): Add trailing newline to debug
19740 message.
19741
ea4a7e35
GS
197422010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19743
19744 * configure.ac: Check for `limits.h'.
19745 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19746
67951a53
RM
197472010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19748
19749 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19750 capitalize error strings.
19751
c273d4ce
ST
197522010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19753
19754 * util/grub.d/10_hurd.in: Add a recovery mode.
19755
69be5b74
VS
197562010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19757
19758 * configure.ac: Check for libgcc symbols with -nostdlib.
19759
fc9e5810
BC
197602010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19761
19762 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19763
4b358c0a
VS
197642010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19767 stack since heap may be unavailable at that point.
19768 (grub_ofconsole_gotoxy): Likewise.
19769
454fcd1c
VS
197702010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19771
19772 * configure.ac: Check for _restgpr_14_x.
19773 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19774 and _savegpr_* prototypes.
19775
566863ca
RM
197762010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19777
19778 Use generic grub_reboot() for i386-efi.
19779
19780 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19781 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19782 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19783
bf86e59a
VS
197842010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19787 presence of "prefix" variable as it breaks when normal.mod is
19788 embedded.
19789
d645e0f8
VS
197902010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19793 stack since heap is unavailable at that point.
19794
f9ab2e25
VS
197952010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19796
19797 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19798 (grub_freebsd_bootinfo): Rewritten.
19799 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19800
01fc7054
VS
198012010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19802
19803 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19804
caab4fd6
RM
198052010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19806
19807 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19808 domain now.
19809
67eb1427
FZ
198102010-01-20 Felix Zielcke <fzielcke@z-51.de>
19811
19812 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19813 around for handling "/" to the correct fix. Fix a memory leak. Use
19814 xstrdup instead of strdup.
19815
a9ed4ff3
VS
198162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19819
198202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19821
19822 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19823
19824 * font/font.c (struct grub_font): New member 'bmp_idx'.
19825 (font_init): Initialise 'bmp_idx'.
19826 (load_font_index): Fill 'bmp_idx'.
19827 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19828
48209f4f
VS
198292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19832 unnecessary calls.
19833
9f0a4bb7
VS
198342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19835
19836 Move context handling out of the kernel.
19837
19838 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19839 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19840 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19841 * conf/i386-efi.rmk: Likewise.
19842 * conf/i386-ieee1275.rmk: Likewise.
19843 * conf/i386-pc.rmk: Likewise.
19844 * conf/powerpc-ieee1275.rmk: Likewise.
19845 * conf/sparc64-ieee1275.rmk: Likewise.
19846 * conf/x86_64-efi.rmk: Likewise.
19847 * include/grub/env.h: Include grub/menu.h.
19848 (grub_env_var_type): Removed.
19849 (grub_env_var): Replaced field 'type' with 'global'.
19850 (grub_env_find): New prototype.
19851 (grub_env_context_open): Remove EXPORT_FUNC.
19852 (grub_env_context_close): Likewise.
19853 (grub_env_export): Likewise.
19854 (grub_env_set_data_slot): Removed.
19855 (grub_env_get_data_slot): Likewise.
19856 (grub_env_unset_data_slot): Likewise.
19857 (grub_env_unset_menu): New prototype.
19858 (grub_env_set_menu): Likewise.
19859 (grub_env_get_menu): Likewise.
19860 * include/grub/env_private.h: New file.
19861 * include/grub/normal.h (grub_context_init): New prototype.
19862 (grub_context_fini): Likewise.
19863 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19864 * normal/context.c (grub_cmd_export): ... to here.
19865 * kern/env.c: Include env_private.h.
19866 (HASHSZ): Moved to include/grub/env_private.h.
19867 (grub_env_context): Likewise.
19868 (grub_env_sorted_var): Likewise.
19869 (current_context): Renamed from this ...
19870 (grub_current_context): ...to this. 'static' removed. All users updated.
19871 (grub_env_find): Removed 'static'.
19872 (grub_env_context_open): Moved to normal/context.c.
19873 (grub_env_context_close): Likewise.
19874 (grub_env_export): Likewise.
19875 (mangle_data_slot_name): Removed.
19876 (grub_env_set_data_slot): Likewise.
19877 (grub_env_get_data_slot): Likewise.
19878 (grub_env_unset_data_slot): Likewise.
19879 * kern/main.c (grub_set_root_dev): Don't export root.
19880 It will be done later.
19881 (grub_main): Don't export prefix.
19882 It will be done later.
19883 * normal/context.c: New file.
19884 * normal/main.c (free_menu): Use grub_env_unset_menu.
19885 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19886 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19887 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19888 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19889
8dd35b8c
VS
198902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19891
19892 setpci support.
19893
19894 * commands/setpci.c: New file.
19895 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19896 (setpci_mod_SOURCES): New variable.
19897 (setpci_mod_CFLAGS): Likewise.
19898 (setpci_mod_LDFLAGS): Likewise.
19899
449193d5
VS
199002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 Byte-addressable PCI configuration space.
19903
19904 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19905 dword address.
19906 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19907 GRUB_PCI_REG_CACHELINE.
19908 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19909 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19910 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19911 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19912 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19913 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19914 grub_pci_make_address.
19915 (lock_rom_area): Likewise.
19916 * commands/lspci.c (grub_lspci_iter): Use macroses
19917 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19918 of grub_pci_make_address.
19919 * disk/ata.c (grub_ata_pciinit): Likewise.
19920 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19921 (GRUB_PCI_REG_VENDOR): Likewise.
19922 (GRUB_PCI_REG_DEVICE): Likewise.
19923 (GRUB_PCI_REG_COMMAND): Likewise.
19924 (GRUB_PCI_REG_STATUS): Likewise.
19925 (GRUB_PCI_REG_REVISION): Likewise.
19926 (GRUB_PCI_REG_CLASS): Likewise.
19927 (GRUB_PCI_REG_CACHELINE): Likewise.
19928 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19929 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19930 (GRUB_PCI_REG_BIST): Likewise.
19931 (GRUB_PCI_REG_ADDRESSES): Likewise.
19932 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19933 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19934 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19935 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19936 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19937 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19938 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19939 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19940 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19941 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19942 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19943 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19944 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19945 (GRUB_PCI_REG_MIN_GNT): Likewise.
19946 (GRUB_PCI_REG_MAX_LAT): Likewise.
19947 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19948 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19949 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19950 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19951 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19952 space.
19953
96d73208
RM
199542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19955
19956 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19957 can be reliably determined to be supported.
19958
d4484482
RM
199592010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19960
19961 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19962 that VESA is supported.
19963 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19964 supported.
19965
00308ecf
VS
199662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19967
19968 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19969
f66924a4
RM
199702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19971
19972 * util/misc.c (make_system_path_relative_to_its_root): Work around
19973 special-casing of "/", as previous incarnation of this routine did.
19974
cbca0ada
VS
199752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 Fix any-emu compilation.
19978
19979 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19980 * grub_bin2h_SOURCES: New variable.
19981
34a66d99
RM
199822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19983
19984 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19985
94fabf58
RM
199862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19987
19988 * util/grub.d/00_header.in: Fix handling of locale_dir.
19989
02cf98ca
VS
199902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19991
19992 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19993 as possible unifont location (Gentoo).
19994 Reported by: Alexander Brüning
19995
327dbcd7
VS
199962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 Don't try to generate lists for kernel.img.
19999
20000 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20001 (pkglib_MODULES): Remove kernel.img.
20002 (kernel_img_EXPORTS): Removed.
20003 (kernel_img_RELOCATABLE): New variable.
20004 * conf/x86_64-efi.rmk: Likewise.
20005 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20006
ca467290
VS
200072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20010 grub_xasprintf or grub_snprintf.
20011 (grub_vsprintf): Likewise.
20012 (grub_snprintf): New proto.
20013 (grub_vsnprintf): Likewise.
20014 (grub_xasprintf): Likewise.
20015 (grub_xvasprintf): Likewise.
20016 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20017 (grub_sprintf): Removed.
20018 (grub_vsnprintf): New function.
20019 (grub_snprintf): Likewise.
20020 (grub_xvasprintf): Likewise.
20021 (grub_xasprintf): Likewise.
20022 (grub_vsprintf): Renamed to ...
20023 (grub_vsnprintf_real): ...this. New argument max_len.
20024
aca655fd
BC
200252010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20026
20027 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20028 fix grub-script-check warning.
20029
7ee92c32
VS
200302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * include/grub/font.h (grub_font_load): Fix prototype.
20033
f80927ca
VS
200342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20035
20036 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20037
119c50ea
VS
200382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20039
20040 * include/grub/x86_64/at_keyboard.h: New file.
20041
47d5f3c1
VS
200422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 * loader/mips/linux.c: Include missing grub/i18n.h.
20045
55ff5266
RM
200462009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20047
20048 * normal/menu.c (notify_execution_failure): Clarify error message.
20049
c893cc87
RM
200502009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20051
20052 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20053 return value (and revert all return statements). Update users.
20054
917dd370
CW
200552010-01-20 Dan Merillat <debian@dan.merillat.org>
20056
20057 * kern/device.c (grub_device_iterate): Allocate new part_ent
20058 structure based on sizeof (*p) rather than sizeof (p->next), to
20059 account for structure padding.
20060
20061 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20062 disk is NULL, which might happen for LVM physical volumes with no
20063 LVM signature.
20064
d4a4ee57
RM
200652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20066
20067 * loader/mips/linux.c (grub_cmd_initrd)
20068 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20069
200702009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20071
20072 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20073 (grub_video_video_init, grub_video_bitmap_init)
20074 (grub_font_manager_init, grub_term_gfxterm_init)
20075 (grub_at_keyboard_init): New extern declarations.
20076 (grub_machine_init): Initialize gfxterm and at_keyboard.
20077
20078 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20079
20080 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20081 `gfxterm.mod' into core image.
20082
20083 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20084 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20085 (kernel_img_FORMAT): Copy to ...
20086
20087 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20088 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20089 (kernel_img_FORMAT): ... here, and ...
20090
20091 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20092 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20093 (kernel_img_FORMAT): ... here.
20094
20095 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20096 and input (at_keyboard) terminals in kernel.
20097 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20098
20099 (pkglib_MODULES): Remove `pci.mod'.
20100 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20101 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20102 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20103 (at_keyboard_mod_LDFLAGS): Remove variables.
20104
201052010-01-11 Felix Zielcke <fzielcke@z-51.de>
20106
20107 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20108
201092009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20110
20111 * include/grub/mips/libgcc.h: Only export symbols for functions
20112 that libgcc provides.
20113
201142009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 MIPS support.
20117
20118 * bus/bonito.c: New file.
20119 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20120 GRUB_PCI_NUM_DEVICES.
20121 * term/i386/pc/serial.c: Move to ...
20122 * term/serial.c: ... here. All users updated.
20123 * util/i386/pc/grub-mkimage.c: Move to ...
20124 * util/grub-mkrawimage.c: ... here. All users updated.
20125 * term/i386/pc/at_keyboard.c: Move to ...
20126 * term/at_keyboard.c: ... here. All users updated.
20127 * conf/mips-qemu-mips.rmk: New file.
20128 * conf/mips-yeeloong.rmk: Likewise.
20129 * conf/mips.rmk: Likewise.
20130 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20131 mipsel-qemu-mips.
20132 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20133 to port addresses.
20134 (grub_ata_pciinit): Support CS5536.
20135 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20136 * font/font_cmd.c (loadfont_command): Open file before passing it to
20137 grub_font_load.
20138 (pseudo_file_read): New function.
20139 (pseudo_file_close): Likewise.
20140 (pseudo_fs): New structure.
20141 (load_font_module): New function.
20142 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20143 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20144 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20145 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20146 * include/grub/i386/at_keyboard.h: Split into ...
20147 * include/grub/at_keyboard.h: ... this ...
20148 * include/grub/i386/at_keyboard.h: ... and this.
20149 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20150 New prototype.
20151 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20152 updated.
20153 (grub_elf64_size): Likewise.
20154 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20155 filename.
20156 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20157 * include/grub/i386/coreboot/serial.h: Rewritten.
20158 * include/grub/i386/ieee1275/serial.h: Include
20159 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20160 * include/grub/i386/pc/serial.h: Moved from here ...
20161 * include/grub/serial.h: ... to here. All users updated.
20162 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20163 (GRUB_PCI_NUM_BUS): Likewise.
20164 (GRUB_PCI_NUM_DEVICES): Likewise.
20165 (grub_pci_device_map_range): Add missing volatile keyword.
20166 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20167 * include/grub/mips/at_keyboard.h: New file.
20168 * include/grub/mips/cache.h: Likewise.
20169 * include/grub/mips/io.h: Likewise.
20170 * include/grub/mips/kernel.h: Likewise.
20171 * include/grub/mips/libgcc.h: Likewise.
20172 * include/grub/mips/pci.h: Likewise.
20173 * include/grub/mips/qemu-mips/boot.h: Likewise.
20174 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20175 * include/grub/mips/qemu-mips/loader.h: Likewise.
20176 * include/grub/mips/qemu-mips/memory.h: Likewise.
20177 * include/grub/mips/qemu-mips/serial.h: Likewise.
20178 * include/grub/mips/qemu-mips/time.h: Likewise.
20179 * include/grub/mips/relocator.h: Likewise.
20180 * include/grub/mips/time.h: Likewise.
20181 * include/grub/mips/types.h: Likewise.
20182 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20183 * include/grub/mips/yeeloong/boot.h: Likewise.
20184 * include/grub/mips/yeeloong/kernel.h: Likewise.
20185 * include/grub/mips/yeeloong/loader.h: Likewise.
20186 * include/grub/mips/yeeloong/memory.h: Likewise.
20187 * include/grub/mips/yeeloong/pci.h: Likewise.
20188 * include/grub/mips/yeeloong/serial.h: Likewise.
20189 * include/grub/mips/yeeloong/time.h: Likewise.
20190 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20191 * kern/elf.c (grub_elf32_size): New parameter. All users
20192 updated.
20193 (grub_elf64_size): Likewise.
20194 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20195 Load modules before saying "Welcome to GRUB!".
20196 Call grub_refresh after saying "Welcome to GRUB!".
20197 * kern/mips/cache.S: New file.
20198 * kern/mips/cache_flush.S: Likewise.
20199 * kern/mips/dl.c: Likewise.
20200 * kern/mips/init.c: Likewise.
20201 * kern/mips/qemu-mips/init.c: Likewise.
20202 * kern/mips/startup.S: Likewise.
20203 * kern/mips/yeeloong/init.c: Likewise.
20204 * kern/term.c (grub_putcode): Handle NULL terminal.
20205 (grub_getcharwidth): Likewise.
20206 (grub_getkey): Likewise.
20207 (grub_checkkey): Likewise.
20208 (grub_getkeystatus): Likewise.
20209 (grub_getxy): Likewise.
20210 (grub_getwh): Likewise.
20211 (grub_gotoxy): Likewise.
20212 (grub_cls): Likewise.
20213 (grub_setcolorstate): Likewise.
20214 (grub_setcolor): Likewise.
20215 (grub_getcolor): Likewise.
20216 (grub_refresh): Likewise.
20217 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20218 (write_jump): Add hatch nop.
20219 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20220 * lib/mips/setjmp.S: New file.
20221 * loader/mips/linux.c: Likewise.
20222 * term/i386/pc/at_keyboard.c: Move from here ...
20223 * term/at_keyboard.c: ... to here.
20224 * term/i386/pc/serial.c: Moved from here ...
20225 * term/serial.c: ... to here. All users updated.
20226 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20227 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20228 (serial_translate_key_sequence): Avoid deadlock.
20229 (grub_serial_getkey): Handle backspace.
20230 (grub_serial_putchar): Fix newline handling.
20231 * util/i386/pc/grub-mkimage.c: Move from here ...
20232 * util/grub-mkrawimage.c: ... to here. All users updated.
20233 (generate_image): New parameters 'font_path' and 'format'.
20234 Support embedding font.
20235 Use grub_host_to_target* instead of grub_cpu_to_le*.
20236 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20237 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20238 (options): New option "--font".
20239 (usage): Likewise.
20240 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20241 (main): Handle "--font".
20242 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20243 (grub_virtual_screen_setup): Set bg_color_display.
20244 (redraw_screen_rect): Use bg_color_display instead of incorrect
20245 bg_color.
20246 (grub_gfxterm_cls): Likewise.
20247 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20248 Support embedding config file.
20249 (add_segments): Likewise.
20250 (options): New option "--config".
20251 (main): Handle "--config".
20252 * video/sm712.c: New file.
20253
25c2b5b3
RM
202542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20255
20256 Fix parallel builds.
20257
20258 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20259 font.c depend on ascii.h).
20260
202612010-01-12 Carles Pina i Estany <carles@pina.cat>
20262
20263 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20264
202652010-01-11 Carles Pina i Estany <carles@pina.cat>
20266
20267 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20268 By default: disabled.
20269 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20270 parameter.
20271
202722010-01-10 Carles Pina i Estany <carles@pina.cat>
20273
20274 * font/font.c: Update copyright years.
20275 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20276
202772010-01-10 Carles Pina i Estany <carles@pina.cat>
20278
20279 * font/font.c: Include `ascii.h'.
20280 (ASCII_BITMAP_SIZE): New macro.
20281 (ascii_font_glyph): Define.
20282 (ascii_glyph_lookup): New function.
20283 (grub_font_get_string_width): Change comment. If glyph not found, use
20284 ascii_glyph_lookup.
20285 (grub_font_get_glyph_with_fallback): If glyph not available returns
20286 ascii_glyph_lookup.
20287 * util/grub-mkfont.c (file_formats): New enum.
20288 (options): Add `ascii-bitmaps' new option.
20289 (usage): Add `asii-bitmaps' new option.
20290 (write_font_ascii_bitmap): New function.
20291 (write_font): Rename to ...
20292 (write_font_p2): ... this. Remove print_glyphs call.
20293 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20294 used. Call print_glyphs.
20295 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20296
202972010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20298
20299 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20300 (grub_bin2h_SOURCES): New variable.
20301 * util/bin2h.c: New file.
20302
915fc1b8
VS
203032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 * include/multiboot.h: Resynced with spec.
20306 * include/multiboot2.h: Likewise.
20307 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20308 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20309
9444b678
RM
203102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20311
20312 * include/grub/term.h (grub_term_register_input,
20313 grub_term_register_output): Check return of terminal init()
20314 routines, and abort if errors are raised.
20315
20316 * commands/terminal.c: Update copyright year.
20317
cba98e8d
RM
203182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20319
20320 * commands/terminal.c (grub_cmd_terminal_input)
20321 (grub_cmd_terminal_output): Check return of terminal init()
20322 routines, and abort if errors are raised.
20323
6f7db5d6
VS
203242010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 * include/grub/i386/bsd.h: Fix include pathes.
20327
262bff8d
VS
203282010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 Add missing *BSD copyright headers.
20331
20332 * include/grub/aout.h: Add BSD licence.
20333 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20334 * include/grub/i386/freebsd_linker.h: ... here,
20335 * include/grub/i386/freebsd_reboot.h: ... here,
20336 * include/grub/i386/netbsd_bootinfo.h: ... here,
20337 * include/grub/i386/netbsd_reboot.h: ... here,
20338 * include/grub/i386/openbsd_bootarg.h: ... here,
20339 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20340 licence to each file.
20341
b2cab848
RM
203422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20343
20344 * acinclude.m4: Remove `nop' assembly instruction; it's not
20345 implemented by all architectures.
20346
2cb6be4b
RM
203472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20348
20349 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20350 ELILO. This is no longer necessary.
20351
a2eaee15
BC
203522010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20353
20354 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20355
20356 * util/grub-script-check.c: grub-script-check tool.
20357 * conf/common.rmk: Make rules for grub-script-check.
20358
88d17012
RM
203592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20360
20361 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20362 spotting it back in 2008. Shame on me for forgetting he did.
20363
20364 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20365
8040619d
RM
203662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20367
20368 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20369 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20370 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20371 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20372 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20373 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20374
a0c2a0f6
RM
203752010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20376
20377 * include/grub/test.h: Add license header.
20378 * tests/example_functional_test.c: Likewise.
20379 * tests/example_unit_test.c: Likewise.
20380 * tests/lib/functional_test.c: Likewise.
20381 * tests/lib/test.c: Likewise.
20382 * tests/lib/unit_test.c: Likewise.
20383
b0b13907
VS
203842010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 Use flag-based instead of hook-based video mode selection and "auto"
20387 keyword.
20388
20389 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20390 (grub_video_set_mode): Changed prototype. All users updated.
20391 (grub_video_check_mode_flag): New inline function.
20392 * video/video.c (parse_modespec): New function.
20393 (grub_video_set_mode): Parse flags and keywords.
20394
ea379330 203952010-01-17 Carles Pina i Estany <carles@pina.cat>
20396
20397 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20398 fprintf call.
20399
e15c215e
FZ
204002010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20401
20402 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20403
409ae1c9 204042010-01-16 Carles Pina i Estany <carles@pina.cat>
20405
20406 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20407 string.
20408 * util/grub-emu.c (usage): Likewise.
20409 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20410 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20411 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20412 * util/i386/pc/grub-setup.c (usage): Likewise.
20413
70a14d3d 204142010-01-16 Carles Pina i Estany <carles@pina.cat>
20415
20416 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20417 the message.
20418 (grub_util_info): Likewise.
20419 (grub_util_error): Likewise.
20420 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20421 and/or new lines in `grub_util_warna', `grub_util_info',
20422 `grub_util_error' calls.
20423 * util/getroot.c: Likewise.
20424 * util/grub-editenv.c: Likewise.
20425 * util/grub-emu.c: Likewise.
20426 * util/grub-fstest.c: Likewise.
20427 * util/grub-mkdevicemap.c: Likewise.
20428 * util/grub-mkfont.c: Likewise.
20429 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20430 * util/grub-mkrelpath.c: Likewise.
20431 * util/grub-pe2elf.c: Likewise.
20432 * util/grub-probe.c: Likewise.
20433 * util/hostdisk.c: Likewise.
20434 * util/i386/efi/grub-mkimage.c: Likewise.
20435 * util/i386/pc/grub-mkimage.c: Likewise.
20436 * util/i386/pc/grub-setup.c: Likewise.
20437 * util/ieee1275/ofpath.c: Likewise.
20438 * util/mkisofs/eltorito.c: Likewise.
20439 * util/mkisofs/rock.c: Likewise.
20440 * util/mkisofs/write.c: Likewise.
20441 * util/raid.c: Likewise.
20442 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20443 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20444
a0b766fc
VS
204452010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20446
20447 Enable multiboot on non-pc.
20448
20449 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20450 multiboot.mod and multiboot2.mod to ...
20451 * conf/i386.rmk (pkglib_MODULES): ... here.
20452 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20453 Moved to ...
20454 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20455 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20456 Moved to ...
20457 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20458 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20459 Moved to ...
20460 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20461 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20462 Moved to ...
20463 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20464 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20465 relocator.mod.
20466 (ata_mod_SOURCES): Removed.
20467 (ata_mod_CFLAGS): Likewise.
20468 (ata_mod_LDFLAGS): Likewise.
20469 (relocator_mod_SOURCES): Removed.
20470 (relocator_mod_CFLAGS): Likewise.
20471 (relocator_mod_ASFLAGS): Likewise.
20472 (relocator_mod_LDFLAGS): Likewise.
20473 Include i386.mk.
20474 * include/grub/x86_64/multiboot.h: New file.
20475 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20476 Terminate EFI.
20477
884ade56
VS
204782010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 Video multiboot support.
20481
20482 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20483 New prototype.
20484 * include/multiboot.h: Resynced with multiboot specification.
20485 * include/multiboot2.h: Likewise.
20486 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20487 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20488 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20489 (HAS_VGA_TEXT): Likewise.
20490 (accepts_video): New variable.
20491 (grub_multiboot_set_accepts_video): New function.
20492 (grub_multiboot_get_mbi_size): Account for video structures.
20493 (set_video_mode): New function.
20494 (retrieve_video_parameters): Likewise.
20495 (grub_multiboot_make_mbi): Fill video fields.
20496
0d90e8a6
VS
204972010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20498
20499 Video driver ids.
20500
20501 * include/grub/video.h (grub_video_driver_id): New type.
20502 (grub_video_adapter): New member 'id'. All users updated.
20503 (grub_video_get_driver_id): New proto.
20504 * video/video.c (grub_video_get_driver_id): New function.
20505
5c71db1b 205062010-01-14 Carles Pina i Estany <carles@pina.cat>
20507
20508 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20509 `var=val'.
20510
cca15b52 205112010-01-14 Carles Pina i Estany <carles@pina.cat>
20512
20513 * normal/cmdline.c (print_completion): Gettextizze.
20514
c586fbb2 205152001-01-14 Carles Pina i Estany <carles@pina.cat>
20516
20517 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20518
ba2f6848 205192010-01-14 Carles Pina i Estany <carles@pina.cat>
20520
20521 * gettext/gettext.c (grub_gettext_translate): Push and pop
20522 grub_errno.
20523 (grub_gettext_delete_list): Change comment style.
20524 * kern/err.c (grub_error): Gettextizze.
20525 (grub_fatal): Gettextizze.
20526
0a46429a
RM
205272010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20528
20529 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20530 (grub_linux16_real_boot): ... this.
20531 * kern/i386/loader.S: Likewise.
20532 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20533 (grub_linux16_boot): New function. Switches to text mode and calls
20534 grub_linux16_real_boot().
20535
20536 * loader/i386/bsd.c: Include `<grub/video.h>'.
20537 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20538 text mode before calling grub_unix_real_boot().
20539
20540 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20541 (grub_multiboot_boot): Switch to text mode before calling
20542 grub_relocator32_boot().
20543
20544 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20545 (grub_chainloader_boot): Switch to text mode before calling
20546 grub_chainloader_real_boot().
20547
d6f93a66
RM
205482010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205492010-01-05 Colin Watson <cjwatson@ubuntu.com>
20550
20551 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20552 non-empty value.
20553
205542010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205552010-01-05 Colin Watson <cjwatson@ubuntu.com>
20556
20557 * util/grub.d/00_header.in: Define a "savedefault" function for use
20558 in menu entries.
20559 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20560
205612010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205622010-01-05 Colin Watson <cjwatson@ubuntu.com>
20563
20564 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20565 saved_entry if boot_once is unset.
20566 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20567 previous saved entry (i.e. grub-reboot).
20568
205692009-12-08 Colin Watson <cjwatson@ubuntu.com>
20570
20571 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20572
205732009-12-08 Colin Watson <cjwatson@ubuntu.com>
20574
20575 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20576 `var=val'.
20577 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20578
205792009-12-08 Colin Watson <cjwatson@ubuntu.com>
20580
20581 * util/grub-reboot.in: Fix --version output.
20582 * util/grub-set-default.in: Likewise.
20583
205842009-12-08 Colin Watson <cjwatson@ubuntu.com>
20585
20586 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20587 blocks.
20588
205892009-12-08 Colin Watson <cjwatson@ubuntu.com>
20590
20591 * util/grub.d/00_header.in: Quote the value assigned to `default',
20592 in case it contains spaces.
20593
205942009-12-08 Colin Watson <cjwatson@ubuntu.com>
20595
20596 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20597 `save_default_entry' call from the macosx case to the linux case.
20598
205992009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
206002009-10-25 Colin Watson <cjwatson@ubuntu.com>
20601
20602 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20603 in `chosen' environment variable.
20604 * normal/menu_text.c (get_entry_number): Check if the variable
20605 matches the title of a menu entry.
20606 (run_menu): Pass menu to get_entry_number.
20607
20608 * util/grub-reboot.in: New file.
20609 * util/grub-set-default.in: New file.
20610 * conf/common.rmk (grub-reboot): New utility.
20611 (grub-set-default): New utility.
20612
20613 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20614 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20615 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20616 move it to `saved_entry' for the next boot. Load environment on
20617 initialisation.
20618 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20619 * util/grub.d/10_hurd.in: Likewise.
20620 * util/grub.d/10_linux.in (linux_entry): Likewise.
20621 * util/grub.d/10_windows.in: Likewise.
20622 * util/grub.d/30_os-prober.in: Likewise.
20623
20624 * util/grub-install.in: Create environment block.
20625 * util/i386/efi/grub-install.in: Likewise.
20626 * util/ieee1275/grub-install.in: Likewise.
20627 * util/sparc64/ieee1275/grub-install.in: Likewise.
20628
0934d184
BC
206292010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20630
20631 Unit testing framework for GRUB.
20632
20633 * Makefile.in: Test framework build rules for 'make check'.
20634 * conf/tests.rmk: Build rules for individual tests and framework.
20635
20636 * include/grub/test.h: Header file for whitebox tests.
20637 * tests/lib/functional_test.c: Framework support for whitebox
20638 functional tests.
20639 * tests/lib/test.c: Common whitebox testing code for unit and
20640 functional tests.
20641 * tests/lib/unit_test.c: Framework support for whitebox unit
20642 tests.
20643
20644 * tests/util/grub-shell-tester.in: Support utility for grub-script
20645 tests.
20646 * tests/util/grub-shell.in: Utility to execute grub-script
20647 commands in a Qemu instance.
20648
20649 * tests/example_functional_test.c: Example whitebox functional
20650 test.
20651 * tests/example_grub_script_test.in: Example grub-script test.
20652 * tests/example_scripted_test.in: Example scripted test.
20653 * tests/example_unit_test.c: Example whitebox unit test.
20654
9c4ffeeb
VS
206552010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20656
20657 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20658 Add loader/i386/multiboot_mbi.c.
20659 (multiboot2_mod_SOURCES): Likewise.
20660 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20661 (multiboot2_mod_SOURCES): Likewise.
20662 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20663 (grub_multiboot_make_mbi): Likewise.
20664 (grub_multiboot_free_mbi): Likewise.
20665 (grub_multiboot_init_mbi): Likewise.
20666 (grub_multiboot_add_module): Likewise.
20667 (grub_multiboot_set_bootdev): Likewise.
20668 * loader/i386/multiboot.c (mbi): Removed.
20669 (mbi_dest): Likewise.
20670 (alloc_mbi): New variable.
20671 (grub_multiboot_payload_size): Removed. All users updated.
20672 (grub_multiboot_pure_size): New variable.
20673 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20674 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20675 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20676 (grub_fill_multiboot_mmap): Likewise.
20677 (grub_multiboot_get_bootdev): Likewise.
20678 (grub_multiboot): Use multiboot_mbi functions.
20679 * loader/i386/multiboot_mbi.c: New file.
20680
17383dfe
VS
206812010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20682
20683 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20684 it would result in module crash.
20685
c1f28820
VS
206862010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20687
20688 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20689 (grub_ofconsole_getwh): Split to ...
20690 (grub_ofconsole_getwh): ... this.
20691 (grub_ofconsole_dimensions): ...and this.
20692 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20693
58655a16
RM
206942010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20695
20696 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20697
10891398
VS
206982010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20699
20700 * loader/i386/pc/multiboot2.c: Removed stalled file.
20701
0b8a223c
VS
207022010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20705 Reported by: Grégoire Sutre
20706
92ab12b0
RM
207072010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20708
20709 * util/misc.c (canonicalize_file_name): New function.
20710 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20711 instead of realpath().
20712
a788afb6
CW
207132010-01-11 Colin Watson <cjwatson@ubuntu.com>
20714
20715 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20716 and make it clearer that it's optional. Based on confusion
20717 witnessed on IRC.
20718
ffa8e3d2
VS
207192010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20720
20721 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20722 in premature implicit newline.
20723
e9060a9d
VS
207242010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20725
20726 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20727 which resulted in garbled command line at the end of screen.
20728
f0d0c0b7
RM
207292010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20730
20731 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20732 initialization with similar approach as with other Linux loaders.
20733
0e60bae7
RM
207342010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20735
20736 Fix i386-ieee1275 build.
20737
20738 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20739 and grub_term_height() for video_{width,height} initialization.
20740
207412010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20742
20743 Fix grub-emu build.
20744
20745 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20746
cdb3f378
RM
207472010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
207482010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20749
20750 Support for multiple terminals.
20751
20752 * Makefile.in (pkglib_DATA): terminal.lst.
20753 (terminal.lst): New target.
20754 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20755 (GRUB_MOD_INIT(handler)): Likewise.
20756 (GRUB_MOD_FINI(handler)): Likewise.
20757 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20758 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20759 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20760 (grub_cmd_sleep): Use grub_term_save_pos.
20761 * commands/terminal.c: New file.
20762 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20763 commands/terminal.c and lib/charset.c.
20764 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20765 (pkglib_MODULES): Add terminal.mod.
20766 (terminal_mod_SOURCES): New variable.
20767 (terminal_mod_CFLAGS): Likewise.
20768 (terminal_mod_LDFLAGS): Likewise.
20769 * genhandlerlist.sh: Don't handle terminals.
20770 * genmk.rb: Generate terminal-*.lst.
20771 * genterminallist.sh: New file.
20772 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20773 (grub_is_valid_utf8): Likewise.
20774 (grub_utf8_to_ucs4_alloc): Likewise.
20775 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20776 (grub_menu_register_viewer): Changed argument.
20777 (grub_menu_try_text): New proto.
20778 (grub_gfxmenu_try_hook): New declaration.
20779 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20780 (grub_menu_init_page): Additional argument term.
20781 (grub_normal_init_page): Likewise.
20782 (grub_cmdline_get): Arguments simplified.
20783 (grub_utf8_to_ucs4_alloc): Removed.
20784 (grub_print_ucs4): Additional argument term.
20785 (grub_getstringwidth): Likewise.
20786 (grub_print_message_indented): Likewise.
20787 (grub_menu_text_register_instances): New proto.
20788 (grub_show_menu): Likewise.
20789 (read_terminal_list): Likewise.
20790 (grub_set_more): Likewise.
20791 * include/grub/parser.h: Include handler.h.
20792 * include/grub/reader.h: Rewritten.
20793 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20794 (GRUB_TERM_WIDTH): Changed to function.
20795 (GRUB_TERM_HEIGHT): Likewise.
20796 (GRUB_TERM_BORDER_WIDTH): Likewise.
20797 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20798 (GRUB_TERM_NUM_ENTRIES): Likewise.
20799 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20800 (GRUB_TERM_CURSOR_X): Likewise.
20801 (grub_term_input_class): Likewise.
20802 (grub_term_output_class): Likewise.
20803 (grub_term_outputs_disabled): New declaration.
20804 (grub_term_inputs_disabled): Likewise.
20805 (grub_term_outputs): Likewise.
20806 (grub_term_inputs): Likewise.
20807 (grub_term_register_input): Rewritten.
20808 (grub_term_register_output): Likewise.
20809 (grub_term_unregister_input): Likewise.
20810 (grub_term_unregister_output): Likewise.
20811 (FOR_ACTIVE_TERM_INPUTS): New macro.
20812 (FOR_DISABLED_TERM_INPUTS): Likewise.
20813 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20814 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20815 * include/grub/terminfo.h: Add oterm argument to all protypes.
20816 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20817 Use grub_rescue_run.
20818 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20819 All users updated.
20820 * kern/reader.c: Removed. All users updated.
20821 * kern/rescue_reader.c (grub_rescue_init): Removed.
20822 (grub_rescue_reader): Likewise.
20823 (grub_register_rescue_reader): Likewise.
20824 (grub_rescue_run): New function based on kern/reader.c.
20825 * kern/term.c: Adapted for multiterm.
20826 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20827 (grub_is_valid_utf8): Likewise.
20828 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20829 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20830 right terminal.
20831 * loader/i386/linux.c (grub_linux_boot): Likewise.
20832 * normal/auth.c (grub_username_get): New function.
20833 (grub_auth_check_authentication): Use grub_username_get.
20834 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20835 * normal/color.c: Adapt for multiterm.
20836 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20837 (grub_normal_init_page): Additional argument term.
20838 (read_lists): Call read_terminal_lists.
20839 (grub_enter_normal_mode): Call grub_cmdline_run.
20840 Handle grub_normal_exit_level.
20841 (grub_cmd_normal): Make reentrant.
20842 (grub_cmd_normal_exit): New function.
20843 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20844 * normal/menu.c: Adapt for multiterm.
20845 * normal/menu_entry.c: Likewise.
20846 * normal/menu_text.c: Likewise.
20847 * normal/menu_viewer.c: Removed. All users updated.
20848 * normal/term.c: New file.
20849 * util/console.c: Change order of includes to workaround a bug in
20850 ncurses headers.
20851 * term/terminfo.c: New argument oterm on all exported functions.
20852 All users updated.
20853 * util/grub-editenv.c (grub_term_input_class): Removed.
20854 (grub_term_output_class): Likewise.
20855
1a064917
RM
208562010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20857
20858 Make loader output a bit more user-friendly.
20859
20860 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20861 is being loaded. Likewise for the Hurd.
20862
20863 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20864 that kernel of FreeBSD ${version} is being loaded.
20865
20866 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20867 grub_dprintf().
20868 (grub_cmd_initrd): Likewise.
20869 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20870 that Linux ${version} is being loaded. Likewise for initrd.
20871
5ce0a83a 208722010-01-09 Carles Pina i Estany <carles@pina.cat>
20873
20874 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20875
809bbfeb 208762010-01-08 Carles Pina i Estany <carles@pina.cat>
20877
20878 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20879 (GRUB_MOD_INIT): Gettextizze.
20880 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20881 (GRUB_MOD_INIT): Gettextizze.
20882 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20883 (grub_cmd_linux): Capitalise Linux.
20884 (GRUB_MOD_INIT): Gettextizze.
20885 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20886 (grub_cmd_linux): Capitalise Linux.
20887 (GRUB_MOD_INIT): Gettextizze.
20888 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20889 (grub_cmd_linux): Capitalise Linux.
20890 (GRUB_MOD_INIT): Gettextizze.
20891 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20892 (GRUB_MOD_INIT): Gettextizze.
20893 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20894 (grub_cmd_linux): Capitalise Linux.
20895 (GRUB_MOD_INIT): Gettextizze.
20896 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20897 (grub_cpu_xnu_init): Gettextizze.
20898 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20899 (GRUB_MOD_INIT): Gettextizze.
20900 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20901 (GRUB_MOD_INIT): Gettextizze.
20902 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20903 (grub_linux_load64): Capitalise Linux.
20904 (GRUB_MOD_INIT): Gettextizze.
20905 * loader/xnu.c: Include `<grub/i18n.h>'.
20906 (GRUB_MOD_INIT): Gettextizze.
20907 * po/POTFILES: Add `loader/efi/appleloader.c',
20908 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20909 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20910 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20911 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20912 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20913 and `loader/xnu.c'.
20914
b394b2ca
RM
209152010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20916
20917 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20918
209192010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20920
20921 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20922 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20923 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20924
bc8b32b3
RM
209252010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20926
20927 Reset Multiboot 2 support. New loader implements the draft in
20928 /branches/multiboot2 and shares as much code as possible with the
20929 production Multiboot 1 implementation.
20930
20931 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20932 * loader/multiboot2.c: Likewise.
20933 * loader/i386/multiboot_helper.S: Likewise.
20934 * include/multiboot2.h: Replace with latest version from the draft
20935 in /branches/multiboot2.
20936
20937 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20938 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20939 and `loader/multiboot2.c'.
20940 (pkglib_MODULES): Add `multiboot2.mod'.
20941 (multiboot2_mod_SOURCES): New variable.
20942 (multiboot2_mod_LDFLAGS): Likewise.
20943 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20944
20945 * conf/i386-pc.rmk: Likewise.
20946
20947 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20948 (multiboot_mod_SOURCES): Remove variable.
20949 (multiboot_mod_LDFLAGS): Likewise.
20950 (multiboot_mod_CFLAGS): Likewise.
20951
20952 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20953 `<multiboot2.h>' instead of `<multiboot.h>'.
20954 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20955 (MULTIBOOT_HEADER_MAGIC): New macros.
20956
20957 * loader/multiboot_loader.c (module_version_status): Remove variable.
20958 (find_multi_boot2_header): Remove function.
20959 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20960 logic. Always check for the Multiboot version we're compiling for.
20961 (grub_cmd_module_loader): Likewise.
20962 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20963 command instead of `multiboot'.
20964
5d2c52b8
RM
209652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20966
20967 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20968 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20969 all users.
20970
53108d92
RM
209712010-01-07 Robert Millan <rmh.grub@aybabtu.com>
209722010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 Fix breakage introduced with previous commit.
20975
20976 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20977 commands.
20978 * normal/handler.c (read_handler_list): Revert part of previous commit
20979 affecting this file.
20980 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20981 (grub_normal_execute): ... here.
20982
e2e936b2
RM
209832010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20984
20985 Merge prefix-redefinition-fix branch.
20986
20987 * normal/autofs.c (read_fs_list): Make function capable of being
20988 run multiple times, gracefuly replacing the previous data
20989 structures.
20990 * normal/dyncmd.c (read_command_list): Likewise.
20991 * normal/handler.c (read_handler_list): Likewise.
20992 * normal/main.c (read_lists): New function. Calls all the
20993 list reading functions.
20994 (grub_normal_execute): Use read_lists() instead of calling all
20995 list reading functions explicitly. Register read_lists() as a
20996 variable hook attached to ${prefix}.
20997
607a3701
VS
209982010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 Merge crypto branch.
21001
21002 * Makefile.in (pkglib_DATA): Add crypto.lst.
21003 (crypto.lst): New target.
21004 * commands/hashsum.c: New file.
21005 * commands/password.c (check_password): Use grub_crypto_memcmp.
21006 * commands/password_pbkdf2.c: New file.
21007 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21008 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21009 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21010 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21011 -I$(srcdir)/lib/libgcrypt_wrap.
21012 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21013 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21014 password_pbkdf2.mod.
21015 (crypto_mod_SOURCES): New variable.
21016 (crypto_mod_CFLAGS): Likewise.
21017 (crypto_mod_LDFLAGS): Likewise.
21018 (hashsum_mod_SOURCES): New variable.
21019 (hashsum_mod_CFLAGS): Likewise.
21020 (hashsum_mod_LDFLAGS): Likewise.
21021 (pbkdf2_mod_SOURCES): New variable.
21022 (pbkdf2_mod_CFLAGS): Likewise.
21023 (pbkdf2_mod_LDFLAGS): Likewise.
21024 (password_pbkdf2_mod_SOURCES): New variable.
21025 (password_pbkdf2_mod_CFLAGS): Likewise.
21026 (password_pbkdf2_mod_LDFLAGS): Likewise.
21027 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21028 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21029 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21030 Include conf/gcry.rmk.
21031 * include/grub/auth.h: Rewritten.
21032 * include/grub/crypto.h: New file.
21033 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21034 * include/grub/normal.h (read_crypto_list): New prototype.
21035 * lib/crypto.c: New file.
21036 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21037 * lib/pbkdf2.c: Likewise.
21038 * normal/auth.c (grub_auth_strcmp): Removed.
21039 (grub_iswordseparator): Likewise.
21040 (grub_auth_strword): Likewise.
21041 (is_authenticated): Use grub_strword.
21042 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21043 and grub_strword. Pass entered password to authentication callback.
21044 * normal/crypto.c: New file.
21045 * normal/main.c: Call read_crypto_list.
21046 * util/grub-mkpasswd-pbkdf2.c: New file.
21047 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21048
42841caa
VS
210492010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21050
21051 Fix descent and ascent calculation.
21052
21053 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21054 (options): New option "asce".
21055 (usage): Likewise.
21056 (add_char): Ignore invalid glyphs for descent calculation.
21057 Calculate ascent from actual content.
21058 (print_glyphs): Use 'asce'.
21059 (write_font): Likewise. Allow ascent override.
21060 (main): Handle "asce" option.
21061
e7730de7 210622010-01-06 Carles Pina i Estany <carles@pina.cat>
21063
21064 * kern/err.c: Include `<grub/i18n.h>'.
21065 (grub_print_error): Add full stop. Gettextizze.
21066 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21067 (grub_bsd_load_elf): Capitalise ELF.
21068 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21069 (grub_cmd_freebsd_module): Likewise.
21070 (grub_cmd_freebsd_module_elf): Likewise.
21071 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21072
40e3a41f 210732010-01-06 Carles Pina i Estany <carles@pina.cat>
21074
21075 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21076 * commands/search_file.c (HELP_MESSAGE): New macro.
21077 * commands/search_label.c (HELP_MESSAGE): Likewise.
21078 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21079 * po/POTFILES: Add `commands/search_file.c',
21080 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21081 `commands/search.c'.
21082
83507e68
RM
210832010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21084
21085 * config.rpath: Update from Gnulib.
21086
465c787b
YB
210872010-01-05 Yves Blusseau <blusseau@zetam.org>
21088
21089 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21090
6581dd3a
YB
210912010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21092
21093 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21094
3bff18c5
CW
210952010-01-05 Colin Watson <cjwatson@ubuntu.com>
21096
21097 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21098 arguments to fread so that we get a return value in bytes, rather
21099 than something that will normally be rounded down to 0.
21100 Adjust error handling to avoid producing garbage when size_t is not
21101 the same size as long long.
21102
a1368118
CW
211032010-01-05 Colin Watson <cjwatson@ubuntu.com>
21104
21105 * util/mkisofs/write.c (padblock_write): Check return value of
21106 fread.
21107
7c302978
RM
211082010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21109
21110 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21111 floppy images now.
21112
21113 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21114
e33ace06
RM
211152010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21116
21117 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21118 instead of manual alignment.
21119 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21120 verbose). Avoid attempts to read past end of the device
21121 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21122 but GRUB_DISK_CACHE_SIZE may exceed that).
21123
4b856776
RM
211242010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21125
21126 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21127 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21128 it to upper layer.
21129
52c2d97f
VS
211302010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21133 New constant.
21134 (grub_efi_piwg_device_path): New structure
21135 (grub_efi_piwg_device_path_t): New type.
21136 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21137 (devpath_1): Transform to a structure. All users updated.
21138 (devpath_2): Likewise.
21139 (devpath_3): Likewise.
21140 (devpath_4): Likewise.
21141 (devpath_5): Likewise.
21142
98ff6a54
VS
211432010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 * loader/efi/appleloader.c: Restored. Update all users.
21146
3a73dcb6
RM
211472010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21148
21149 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21150
21151 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21152 (struct boot_blocklist): Move from here ...
21153 * include/grub/i386/pc/boot.h [ASM_FILE]
21154 (struct grub_boot_blocklist): ... to here. Update all users.
21155 (setup): Only initialize `start' member of `first_block'
21156 structure. Add assert() calls to verify the other members.
21157
21158 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21159 (generate_image): Fix broken blocklist length initialization.
21160 Add assert() call to verify blocklist `segment' field.
21161
ab0eeb0c
RM
211622010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21163
21164 * loader/efi/appleloader.c: Remove. Update all users.
21165
58bc8bd5
RM
211662010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21167
21168 * boot/i386/pc/boot.S: Update copyright year.
21169 * boot/i386/pc/cdboot.S: Likewise.
21170 * boot/i386/pc/diskboot.S: Likewise.
21171 * boot/i386/pc/lnxboot.S: Likewise.
21172 * boot/i386/pc/pxeboot.S: Likewise.
21173 * bus/pci.c: Likewise.
21174 * commands/cmp.c: Likewise.
21175 * commands/help.c: Likewise.
21176 * commands/hexdump.c: Likewise.
21177 * commands/i386/pc/halt.c: Likewise.
21178 * commands/i386/pc/play.c: Likewise.
21179 * commands/i386/pc/vbeinfo.c: Likewise.
21180 * commands/ls.c: Likewise.
21181 * commands/test.c: Likewise.
21182 * disk/dmraid_nvidia.c: Likewise.
21183 * disk/i386/pc/biosdisk.c: Likewise.
21184 * disk/ieee1275/nand.c: Likewise.
21185 * disk/ieee1275/ofdisk.c: Likewise.
21186 * disk/lvm.c: Likewise.
21187 * disk/raid.c: Likewise.
21188 * disk/raid6_recover.c: Likewise.
21189 * disk/scsi.c: Likewise.
21190 * fs/affs.c: Likewise.
21191 * fs/cpio.c: Likewise.
21192 * fs/ext2.c: Likewise.
21193 * fs/hfs.c: Likewise.
21194 * fs/iso9660.c: Likewise.
21195 * fs/ntfs.c: Likewise.
21196 * fs/sfs.c: Likewise.
21197 * fs/udf.c: Likewise.
21198 * fs/ufs.c: Likewise.
21199 * fs/xfs.c: Likewise.
21200 * gencmdlist.sh: Likewise.
21201 * genmk.rb: Likewise.
21202 * include/grub/disk.h: Likewise.
21203 * include/grub/efi/api.h: Likewise.
21204 * include/grub/efi/efi.h: Likewise.
21205 * include/grub/efi/pe32.h: Likewise.
21206 * include/grub/elf.h: Likewise.
21207 * include/grub/fs.h: Likewise.
21208 * include/grub/i386/at_keyboard.h: Likewise.
21209 * include/grub/i386/pc/memory.h: Likewise.
21210 * include/grub/i386/pc/vbe.h: Likewise.
21211 * include/grub/i386/pci.h: Likewise.
21212 * include/grub/i386/tsc.h: Likewise.
21213 * include/grub/ieee1275/ieee1275.h: Likewise.
21214 * include/grub/ntfs.h: Likewise.
21215 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21216 * include/grub/sparc64/libgcc.h: Likewise.
21217 * include/grub/symbol.h: Likewise.
21218 * include/grub/types.h: Likewise.
21219 * include/multiboot2.h: Likewise.
21220 * io/gzio.c: Likewise.
21221 * kern/device.c: Likewise.
21222 * kern/disk.c: Likewise.
21223 * kern/efi/efi.c: Likewise.
21224 * kern/efi/mm.c: Likewise.
21225 * kern/elf.c: Likewise.
21226 * kern/file.c: Likewise.
21227 * kern/i386/dl.c: Likewise.
21228 * kern/i386/pc/init.c: Likewise.
21229 * kern/i386/pc/startup.S: Likewise.
21230 * kern/ieee1275/ieee1275.c: Likewise.
21231 * kern/ieee1275/init.c: Likewise.
21232 * kern/main.c: Likewise.
21233 * kern/mm.c: Likewise.
21234 * kern/powerpc/dl.c: Likewise.
21235 * kern/sparc64/dl.c: Likewise.
21236 * kern/x86_64/dl.c: Likewise.
21237 * lib/hexdump.c: Likewise.
21238 * loader/efi/appleloader.c: Likewise.
21239 * loader/i386/ieee1275/linux.c: Likewise.
21240 * loader/i386/pc/chainloader.c: Likewise.
21241 * loader/i386/pc/linux.c: Likewise.
21242 * loader/i386/pc/multiboot2.c: Likewise.
21243 * loader/ieee1275/multiboot2.c: Likewise.
21244 * loader/multiboot2.c: Likewise.
21245 * loader/multiboot_loader.c: Likewise.
21246 * loader/powerpc/ieee1275/linux.c: Likewise.
21247 * normal/completion.c: Likewise.
21248 * normal/menu_entry.c: Likewise.
21249 * partmap/apple.c: Likewise.
21250 * util/grub.d/10_hurd.in: Likewise.
21251 * util/hostfs.c: Likewise.
21252 * video/readers/png.c: Likewise.
21253
e2d70b5c
CW
212542010-01-03 Colin Watson <cjwatson@ubuntu.com>
21255
21256 * include/grub/misc.h (GNUC_PREREQ): New macro.
21257 (ATTRIBUTE_ERROR): New macro.
21258 * include/grub/list.h (grub_bad_type_cast_real): Use
21259 ATTRIBUTE_ERROR.
21260
a173283f 212612010-01-03 Carles Pina i Estany <carles@pina.cat>
21262
21263 * normal/menu_text.c (print_message): Change messages.
21264
7fa7ff74 212652010-01-03 Carles Pina i Estany <carles@pina.cat>
21266
21267 * normal/menu_entry.c (store_completion): Gettextizze.
21268
136d24f6 212692010-01-03 Carles Pina i Estany <carles@pina.cat>
21270
21271 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21272
f936862e 212732010-01-03 Carles Pina i Estany <carles@pina.cat>
21274
21275 * po/POTFILES: Sort correctly.
21276
29c44ad1 212772010-01-03 Carles Pina i Estany <carles@pina.cat>
21278
21279 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21280 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21281 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21282 full stop.
21283 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21284 summary. Gettextizze the strings.
21285 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21286 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21287 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21288 full stop.
21289 (GRUB_MOD_INIT): Remove command name from summary.
21290 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21291 summary.
21292 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21293 * term/i386/pc/serial.c (options): Add full stops.
21294 (GRUB_MOD_INIT): Remove command name from the summary.
21295
77a79592 212962010-01-03 Carles Pina i Estany <carles@pina.cat>
21297
21298 * commands/acpi.c: Gettextizze help strings and/or options. Include
21299 `grub/i18n.h' if needed.
21300 * commands/blocklist.c: Likewise.
21301 * commands/boot.c: Likewise.
21302 * commands/cat.c: Likewise.
21303 * commands/cmp.c: Likewise.
21304 * commands/configfile.c: Likewise.
21305 * commands/crc.c: Likewise.
21306 * commands/date.c: Likewise.
21307 * commands/echo.c: Likewise.
21308 * commands/efi/fixvideo.c: Likewise.
21309 * commands/efi/loadbios.c: Likewise.
21310 * commands/gptsync.c: Likewise.
21311 * commands/halt.c: Likewise.
21312 * commands/handler.c: Likewise.
21313 * commands/hdparm.c: Likewise.
21314 * commands/hexdump.c: Likewise.
21315 * commands/i386/cpuid.c: Likewise.
21316 * commands/i386/pc/drivemap.c: Likewise.
21317 * commands/i386/pc/halt.c: Likewise.
21318 * commands/i386/pc/pxecmd.c: Likewise.
21319 * commands/i386/pc/vbeinfo.c: Likewise.
21320 * commands/i386/pc/vbetest.c: Likewise.
21321 * commands/ieee1275/suspend.c: Likewise.
21322 * commands/keystatus.c: Likewise.
21323 * commands/loadenv.c: Likewise.
21324 * commands/ls.c: Likewise.
21325 * commands/lsmmap.c: Likewise.
21326 * commands/lspci.c: Likewise.
21327 * commands/memrw.c: Likewise.
21328 * commands/minicmd.c: Likewise.
21329 * commands/parttool.c: Likewise.
21330 * commands/password.c: Likewise.
21331 * commands/probe.c: Likewise.
21332 * commands/read.c: Likewise.
21333 * commands/reboot.c: Likewise.
21334 * commands/search.c: Likewise.
21335 * commands/sleep.c: Likewise.
21336 * commands/test.c: Likewise.
21337 * commands/true.c: Likewise.
21338 * commands/usbtest.c: Likewise.
21339 * commands/videotest.c: Likewise.
21340 * commands/xnu_uuid.c: Likewise.
21341 * disk/loopback.c: Likewise.
21342 * hello/hello.c: Likewise.
21343 * loader/i386/bsd.c: Likewise.
21344 * term/i386/pc/serial.c: Likewise.
21345 * po/POTFILES: Add new files.
21346
da8d5c53
CW
213472010-01-02 Colin Watson <cjwatson@ubuntu.com>
21348
21349 * term/i386/pc/at_keyboard.c
21350 (keyboard_controller_wait_untill_ready): Rename to ...
21351 (keyboard_controller_wait_until_ready): ... this. Update all users.
21352
33937904 213532010-01-01 Carles Pina i Estany <carles@pina.cat>
21354
21355 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21356 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21357 string using string width.
21358 * normal/menu_text.c (grub_print_message_indented): Use
21359 grub_print_spaces and not print_spaces.
21360 (print_timeout): Likewise.
21361 (print_spaces): Move to...
21362 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21363
3fd3b8d8
RM
213642010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21365
21366 Import from Gnulib.
21367
21368 * gnulib/getdelim.c: New file.
21369 * gnulib/getline.c: Likewise.
21370
33433555
VS
213712009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21372
21373 * include/grub/list.h (grub_assert_fail): Removed.
21374 (grub_bad_type_cast_real): New function.
21375 (grub_bad_type_cast): New macro.
21376 (GRUB_AS_LIST): Use grub_bad_type_cast.
21377 (GRUB_AS_LIST_P): Likewise.
e44721e8 21378 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21379 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21380 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21381 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21382 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21383
f5a51306
VS
213842009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21385
21386 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21387 Fix syntax error.
21388
90d1e879
RM
213892009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21390
21391 * configure.ac: Check for TARGET_CFLAGS initialization before we
21392 initialize it ourselves (sigh).
21393 Move a few modifications to TARGET_CFLAGS to be unconditional
21394 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21395 eh_frame)
21396
21397 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21398 * term/i386/pc/at_keyboard.c
21399 (keyboard_controller_wait_untill_ready): Likewise.
21400 (keyboard_controller_led): Rename `led_status' paramter to avoid
21401 name conflict.
21402
465b5a81 214032009-12-28 Carles Pina i Estany <carles@pina.cat>
21404
21405 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21406 quotes.
21407
c181849b
VS
214082009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21411
9c8739a4
VS
214122009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 * normal/menu_text.c (grub_print_message_indented): Prevent
21415 past-the-end-of-array dereference.
21416
3e74249c
VS
214172009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21420 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21421
64fd18ed 214222009-12-27 Carles Pina i Estany <carles@pina.cat>
21423
21424 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21425 * normal/main.c (grub_normal_read_line): Remove a space from the
21426 default prompt.
21427
714af9b9 214282009-12-27 Carles Pina i Estany <carles@pina.cat>
21429
21430 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21431 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21432 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21433 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21434 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21435 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21436 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21437
82f3e412 214382009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21439
21440 * video/readers/jpeg.c (cmd): Declare.
21441 (grub_cmd_jpegtest): 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/png.c (cmd): Declare.
21446 (grub_cmd_pngtest): 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 * video/readers/tga.c (cmd): Declare.
21451 (grub_cmd_tgatest): Use `grub_command_t' type.
21452 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21453 Assign to `cmd'.
21454 (GRUB_MOD_FINI): Use `cmd' to unregister.
21455
82f3e412 214562009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21457
21458 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21459 stops.
21460 * kern/corecmd.c (grub_register_core_commands): Likewise.
21461 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21462 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21463 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21464 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21465 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21466 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21467 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21468 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21469 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21470 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21471 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21472 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21473 * normal/handler.c (insert_handler): Likewise.
21474 * normal/main.c (GRUB_MOD_INIT): Likewise.
21475 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21476
fdcdbb66 214772009-12-26 Carles Pina i Estany <carles@pina.cat>
21478
21479 * commands/help.c (grub_cmd_help): Print the command name before the
21480 summary.
21481 (GRUB_MOD_INIT): Remove command name from the summary.
21482 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21483 string as summary.
fdcdbb66 21484 * lib/arg.c (find_long): Print the command name before the summary.
21485 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21486 summary.
21487 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21488 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21489 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21490 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21491 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21492 * commands/date.c (GRUB_MOD_INIT): Likewise.
21493 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21494 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21495 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21496 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21497 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21498 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21499 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21500 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21501 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21502 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21503 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21504 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21505 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21506 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21507 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21508 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21509 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21510 * commands/password.c (GRUB_MOD_INIT): Likewise.
21511 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21512 * commands/read.c (GRUB_MOD_INIT): Likewise.
21513 * commands/search.c (GRUB_MOD_INIT): Likewise.
21514 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21515 * commands/test.c (GRUB_MOD_INIT): Likewise.
21516 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21517 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21518 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21519 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21520 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21521 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21522 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21523 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21524 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21525 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21526 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21527 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21528 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21529 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21530
9c288be2
VS
215312009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21532
21533 Use search command for preliminar UUID search.
21534
21535 * commands/search.c: Split into ...
21536 * commands/search_wrap.c: ...this
21537 * commands/search.c: ...and this.
21538 * commands/search_file.c: New file.
21539 * commands/search_label.c: New file.
21540 * commands/search_uuid.c: New file.
21541 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21542 Add commands/search_wrap.c, commands/search_file.c,
21543 commands/search_label.c and commands/search_uuid.c.
21544 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21545 (search_mod_SOURCES): Set to commands/search_wrap.c.
21546 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21547 search_label.mod.
21548 (search_fs_file_mod_SOURCES): New variable.
21549 (search_fs_file_mod_CFLAGS): Likewise.
21550 (search_fs_file_mod_LDFLAGS): Likewise.
21551 (search_label_mod_SOURCES): Likewise.
21552 (search_label_mod_CFLAGS): Likewise.
21553 (search_label_mod_LDFLAGS): Likewise.
21554 (search_fs_uuid_mod_SOURCES): New variable.
21555 (search_fs_uuid_mod_CFLAGS): Likewise.
21556 (search_fs_uuid_mod_LDFLAGS): Likewise.
21557 (fs_file_mod_SOURCES): Removed.
21558 (fs_file_mod_CFLAGS): Likewise.
21559 (fs_file_mod_LDFLAGS): Likewise.
21560 (fs_uuid_mod_SOURCES): Removed.
21561 (fs_uuid_mod_CFLAGS): Likewise.
21562 (fs_uuid_mod_LDFLAGS): Likewise.
21563 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21564 Set to util/grub-install.in.
21565 * disk/fs_file.c: Removed.
21566 * disk/fs_uuid.c: Likewise.
21567 * include/grub/search.h: New file.
21568 * util/grub-install.in: Handle sparc64.
21569 Create and use load.cfg.
21570 * util/sparc64/ieee1275/grub-install.in: Removed.
21571
db943399
VS
215722009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21575 Ignore return status if CF is cleared.
21576 (grub_biosdisk_get_diskinfo_standard): Likewise.
21577
3fdae612
RM
215782009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21579
21580 * term/i386/pc/at_keyboard.c
21581 (keyboard_controller_wait_untill_ready): New function.
21582 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21583 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21584 for keyboard polling, rather than duplicate the same loop. This
21585 saves a few bytes in code size.
21586
7ebaa2b4
VS
215872009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21588
21589 Support for (pxe[:server[:gateway]]) syntax and
21590 use environment variable for PXE.
21591
21592 * commands/i386/pc/pxecmd.c (options): Removed.
21593 (print_ip): Removed.
21594 (grub_cmd_pxe): Removed
21595 (grub_cmd_pxe_unload): New function.
21596 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21597 (grub_pxe_your_ip): Made static.
21598 (grub_pxe_default_server_ip): Likewise.
21599 (grub_pxe_default_gateway_ip): Likewise.
21600 (grub_pxe_blksize): Likewise.
21601 (parse_ip): New function.
21602 (grub_pxe_open): Support server and gateway specification.
21603 (grub_pxe_close): Free disk->data.
21604 (grub_pxefs_open): Use disk->data.
21605 (grub_pxefs_read): Likewise.
21606 (grub_env_write_readonly): New function.
21607 (set_mac_env): Likewise.
21608 (set_env_limn_ro): Likewise.
21609 (parse_dhcp_vendor): Likewise.
21610 (grub_pxe_detect): Set the environment variables.
21611 (set_ip_env): New function.
21612 (write_ip_env): Likewise.
21613 (grub_env_write_pxe_default_server): Likewise.
21614 (grub_env_write_pxe_default_gateway): Likewise.
21615 (grub_env_write_pxe_blocksize): Likewise.
21616 (GRUB_MOD_INIT(pxe)): Set environment variables.
21617 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21618 (grub_pxe_mac_addr_t): ... this. All users updated.
21619 (grub_pxe_your_ip): Removed.
21620 (grub_pxe_server_ip): Likewise.
21621 (grub_pxe_gateway_ip): Likewise.
21622 (grub_pxe_blksize): Likewise.
21623
ec5f98ab 216242009-12-25 Carles Pina i Estany <carles@pina.cat>
21625
21626 * commands/help.c: Include `<grub/i18n.h>'.
21627 (grub_cmd_help): Gettextizze.
21628 (GRUB_MOD_INIT): Likewise.
21629 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21630 (GRUB_MOD_INIT): Gettextizze.
21631 * commands/search.c: Include `<grub/i18n.h>'.
21632 (options): Gettextizze.
21633 (GRUB_MOD_INIT): Gettextizze.
21634 * lib/arg.c: Include `<grub/i18n.h>'.
21635 (help_options): Gettextizze.
21636 (find_long): Likewise.
21637 (grub_arg_show_help): Likewise.
21638 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21639 (read_command_list): Gettextizze.
21640 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21641 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21642
22815526
RM
216432009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21644
21645 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21646 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21647 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21648 (led_status): New variable.
21649 (keyboard_controller_led): New function.
21650 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21651 update led status for caps lock, num lock and scroll lock.
21652
0ad46fd7
FZ
216532009-12-25 Felix Zielcke <fzielcke@z-51.de>
21654
21655 * util/hostdisk.c (open_device): Fix a comment.
21656
d0e158c2
RM
216572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21658
21659 * util/grub-install.in (host_os): New variable.
21660 * util/i386/efi/grub-install.in (host_os): Likewise.
21661
401c0ad6
RM
216622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21663
21664 * util/mkisofs/write.c (padblock_write): Abort when given an
21665 excedingly large embed image, instead of silently truncating it.
21666
d14d3370
RM
216672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21668
21669 * include/multiboot.h: Indentation fixes.
21670
eeed10b4
RM
216712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21672
21673 * include/multiboot.h (struct multiboot_aout_symbol_table)
21674 (struct multiboot_elf_section_header_table): New structure
21675 declarations (stolen from GRUB Legacy).
21676 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21677 table information.
21678
21679 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21680 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21681 type aliases.
21682
681c70ab
RM
216832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21684
21685 * include/multiboot.h: Make comments src2texi-friendly.
21686
e4d47d8d
RM
216872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21688
21689 For consistency with [multiboot]/docs/boot.S.
21690
21691 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21692 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21693 (MULTIBOOT_MAGIC2): Rename from this ...
21694 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21695
a0b70bda
RM
216962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21697
21698 * include/multiboot.h: Remove `<grub/types.h>'.
21699 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21700 types. Update all users.
21701
61ba42be 217022009-12-25 Carles Pina i Estany <carles@pina.cat>
21703
21704 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21705 `couldn't' and `can not' by `cannot'.
21706 * commands/i386/pc/drivemap.c: Likewise.
21707 * disk/ata.c: Likewise.
21708 * disk/ieee1275/nand.c: Likewise.
21709 * fs/affs.c: Likewise.
21710 * fs/fat.c: Likewise.
21711 * fs/hfs.c: Likewise.
21712 * fs/hfsplus.c: Likewise.
21713 * fs/iso9660.c: Likewise.
21714 * fs/jfs.c: Likewise.
21715 * fs/minix.c: Likewise.
21716 * fs/reiserfs.c: Likewise.
21717 * fs/sfs.c: Likewise.
21718 * fs/udf.c: Likewise.
21719 * fs/ufs.c: Likewise.
21720 * fs/xfs.c: Likewise.
21721 * loader/powerpc/ieee1275/linux.c: Likewise.
21722 * loader/sparc64/ieee1275/linux.c: Likewise.
21723 * util/grub-probe.c: Likewise.
21724 * util/misc.c: Likewise.
21725
7fd0baee 217262009-12-24 Carles Pina i Estany <carles@pina.cat>
21727
21728 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21729 grub_errno calls.
21730 * commands/acpi.c: Likewise.
21731 * commands/blocklist.c: Likewise.
21732 * commands/efi/loadbios.c: Likewise.
21733 * commands/i386/pc/drivemap.c: Likewise.
21734 * commands/loadenv.c: Likewise.
21735 * commands/memrw.c: Likewise.
21736 * commands/password.c: Likewise.
21737 * commands/videotest.c: Likewise.
21738 * disk/ata.c: Likewise.
21739 * disk/ata_pthru.c: Likewise.
21740 * disk/dmraid_nvidia.c: Likewise.
21741 * disk/ieee1275/nand.c: Likewise.
21742 * disk/ieee1275/ofdisk.c: Likewise.
21743 * disk/loopback.c: Likewise.
21744 * disk/lvm.c: Likewise.
21745 * disk/mdraid_linux.c: Likewise.
21746 * disk/raid.c: Likewise.
21747 * disk/raid6_recover.c: Likewise.
21748 * disk/scsi.c: Likewise.
21749 * efiemu/main.c: Likewise.
21750 * efiemu/mm.c: Likewise.
21751 * efiemu/pnvram.c: Likewise.
21752 * efiemu/symbols.c: Likewise.
21753 * font/font.c: Likewise.
21754 * fs/cpio.c: Likewise.
21755 * fs/hfsplus.c: Likewise.
21756 * fs/iso9660.c: Likewise.
21757 * fs/jfs.c: Likewise.
21758 * fs/minix.c: Likewise.
21759 * fs/ntfs.c: Likewise.
21760 * fs/ntfscomp.c: Likewise.
21761 * fs/reiserfs.c: Likewise.
21762 * fs/ufs.c: Likewise.
21763 * fs/xfs.c: Likewise.
21764 * gettext/gettext.c: Likewise.
21765 * include/grub/auth.h: Likewise.
21766 * kern/elf.c: Likewise.
21767 * kern/file.c: Likewise.
21768 * kern/ieee1275/init.c: Likewise.
21769 * kern/ieee1275/mmap.c: Likewise.
21770 * kern/ieee1275/openfw.c: Likewise.
21771 * kern/powerpc/dl.c: Likewise.
21772 * kern/sparc64/dl.c: Likewise.
21773 * lib/arg.c: Likewise.
21774 * loader/i386/bsd.c: Likewise.
21775 * loader/i386/bsdXX.c: Likewise.
21776 * loader/i386/efi/linux.c: Likewise.
21777 * loader/i386/efi/xnu.c: Likewise.
21778 * loader/i386/ieee1275/linux.c: Likewise.
21779 * loader/i386/linux.c: Likewise.
21780 * loader/i386/multiboot.c: Likewise.
21781 * loader/i386/pc/linux.c: Likewise.
21782 * loader/i386/pc/multiboot2.c: Likewise.
21783 * loader/i386/xnu.c: Likewise.
21784 * loader/ieee1275/multiboot2.c: Likewise.
21785 * loader/macho.c: Likewise.
21786 * loader/machoXX.c: Likewise.
21787 * loader/multiboot2.c: Likewise.
21788 * loader/multiboot_loader.c: Likewise.
21789 * loader/powerpc/ieee1275/linux.c: Likewise.
21790 * loader/sparc64/ieee1275/linux.c: Likewise.
21791 * loader/xnu.c: Likewise.
21792 * loader/xnu_resume.c: Likewise.
21793 * mmap/i386/pc/mmap.c: Likewise.
21794 * normal/menu_viewer.c: Likewise.
21795 * partmap/acorn.c: Likewise.
21796 * partmap/amiga.c: Likewise.
21797 * partmap/apple.c: Likewise.
21798 * script/lexer.c: Likewise.
21799 * term/gfxterm.c: Likewise.
21800 * term/i386/pc/serial.c: Likewise.
21801 * term/i386/pc/vga.c: Likewise.
21802 * term/ieee1275/ofconsole.c: Likewise.
21803 * term/terminfo.c: Likewise.
21804 * video/bitmap.c: Likewise.
21805 * video/efi_gop.c: Likewise.
21806 * video/efi_uga.c: Likewise.
21807 * video/fb/video_fb.c: Likewise.
21808 * video/i386/pc/vbe.c: Likewise.
21809 * video/readers/tga.c: Likewise.
21810 * video/video.c: Likewise.
21811
0ad46fd7 218122009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21813
21814 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21815 * commands/lspci.c: Likewise.
21816 * commands/probe.c: Likewise.
21817 * commands/xnu_uuid.c: Likewise.
21818 * conf/i386-coreboot.rmk: Likewise.
21819 * conf/i386-efi.rmk: Likewise.
21820 * conf/i386-ieee1275.rmk: Likewise.
21821 * conf/i386-pc.rmk: Likewise.
21822 * conf/powerpc-ieee1275.rmk: Likewise.
21823 * conf/sparc64-ieee1275.rmk: Likewise.
21824 * conf/x86_64-efi.rmk: Likewise.
21825 * fs/i386/pc/pxe.c: Likewise.
21826 * gettext/gettext.c: Likewise.
21827 * include/grub/efi/graphics_output.h: Likewise.
21828 * include/grub/i386/pc/memory.h: Likewise.
21829 * kern/env.c: Likewise.
21830 * kern/i386/qemu/startup.S: Likewise.
21831 * lib/i386/pc/biosnum.c: Likewise.
21832 * lib/i386/relocator.c: Likewise.
21833 * lib/i386/relocator_asm.S: Likewise.
21834 * lib/relocator.c: Likewise.
21835 * loader/i386/bsd.c: Likewise.
21836 * loader/i386/multiboot.c: Likewise.
21837 * loader/i386/pc/chainloader.c: Likewise.
21838 * loader/i386/xnu.c: Likewise.
21839 * loader/xnu.c: Likewise.
21840 * normal/main.c: Likewise.
21841 * normal/menu_text.c: Likewise.
21842 * util/getroot.c: Likewise.
21843 * util/grub-mkconfig_lib.in: Likewise.
21844 * util/grub.d/00_header.in: Likewise.
21845 * util/i386/pc/grub-mkimage.c: Likewise.
21846 * util/mkisofs/eltorito.c: Likewise.
21847 * util/mkisofs/exclude.h: Likewise.
21848 * util/mkisofs/hash.c: Likewise.
21849 * util/mkisofs/iso9660.h: Likewise.
21850 * util/mkisofs/joliet.c: Likewise.
21851 * util/mkisofs/mkisofs.c: Likewise.
21852 * util/mkisofs/mkisofs.h: Likewise.
21853 * util/mkisofs/multi.c: Likewise.
21854 * util/mkisofs/name.c: Likewise.
21855 * util/mkisofs/rock.c: Likewise.
21856 * util/mkisofs/tree.c: Likewise.
21857 * util/mkisofs/write.c: Likewise.
21858 * video/efi_gop.c: Likewise.
21859
009ec743
VS
218602009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21861
21862 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21863 size counting.
21864
0ad46fd7 218652009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21866
21867 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21868 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21869
d3d30ea0
VS
218702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21871
21872 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21873 (GRUB_MOD_INIT(memrw)): Update help line.
21874
a34f5c70
VS
218752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21876
21877 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21878 Use grub_extcmd_t. All users updated.
21879 (options): New variable.
21880 (grub_cmd_read): Restructure for readability. Support "-v" option.
21881 (grub_cmd_write): Restructure for readability.
21882
0ad46fd7 218832009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21884
21885 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21886
0ad46fd7 218872009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21888
21889 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21890 with the actual contents of the correspondending make variable.
21891 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21892 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21893 specifying `*.lst' and `efiemu??.o'
21894
0ad46fd7 218952009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21896
21897 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21898 after function name.
21899 Noticed by Rene Engelhard <rene@debian.org>.
21900
dc77a799
VS
219012009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21902
21903 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21904 (options): New variable.
21905 (iospace): Likewise.
21906 (grub_lspci_iter): List IO spaces if "-i" was given.
21907 (grub_cmd_lspci): Parse options.
21908 (GRUB_MOD_INIT(lspci)): Use extcmd.
21909 (GRUB_MOD_FINI(lspci)): Likewise.
21910
0ad46fd7 219112009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21912
21913 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21914 `function' keyword.
21915 Patch by Tony Mancill <tmancill@debian.org>.
21916
b5d5993b
VS
219172009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21918
21919 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21920 (grub_uhci_portstatus): Likewise.
21921 (grub_uhci_portstatus): Add necessary delay.
11d18281 21922 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21923
941903f2 219242009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21925
941903f2 21926 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21927 (GRUB_MOD_INIT): Likewise.
21928 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21929 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21930 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21931 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21932 (enable_rom_area): Likewise.
21933 (GRUB_MOD_INIT): Likewise.
21934 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21935 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21936 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21937 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21938 * commands/hexdump.c (options): Likewise.
21939 * commands/i386/cpuid.c (options): Likewise.
21940 (GRUB_MOD_INIT): Likewise.
21941 * commands/i386/pc/drivemap.c (options): Likewise.
21942 (GRUB_MOD_INIT): Likewise.
21943 * commands/i386/pc/halt (options): Likewise.
21944 (GRUB_MOD_INIT): Likewise.
21945 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21946 * commands/i386/pc/pxecmd.c (options): Likewise.
21947 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21948 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21949 * commands/keystatus.c (options): Likewise.
21950 (GRUB_MOD_INIT): Likewise.
21951 * commands/loadenv.c (options): Likewise.
21952 * commands/ls.c (options): Likewise.
21953 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21954 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21955 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21956 * commands/parttool.c (helpmsg): Likewise.
21957 * commands/probe.c (options): Likewise.
21958 * commands/read.c (GRUB_MOD_INIT): Likewise.
21959 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21960 * commands/search.c (options): Likewise.
21961 * commands/sleep.c (options): Likewise.
21962 * commands/test.c (GRUB_MOD_INIT): Likewise.
21963 * commands/true.c (GRUB_MOD_INIT): Likewise.
21964 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21965 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21966 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21967 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21968 `$(XGETTEXT)'.
98a50553 21969 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21970
0ad46fd7 219712009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21972
ef3c2c3a 21973 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21974 instead of specifying them explicit.
21975
7922f68b
RM
219762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21977
21978 * NEWS: Add grub-probe support for GNU/Hurd.
21979
537ce47f
RM
219802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21981
21982 * NEWS: gettext was added after 1.97.
21983
9b214e3a
RM
219842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21985
21986 * util/mkisofs/msdos_partition.h: New file (based on
21987 include/grub/msdos_partition.h).
21988 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21989 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21990 (ld_options, main): Recognize --protective-msdos-label.
21991 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21992 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21993 (padblock_write): If `use_protective_msdos_label' is set, patch a
21994 protective DOS-style label in the output image.
21995
21996 * util/grub-mkrescue.in: Use --protective-msdos-label.
21997
e9309813
RM
219982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21999
22000 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22001 boot.
22002
0ae56929
RM
220032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22004
22005 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22006 variables.
22007 (ld_options, main): Recognize `--embedded-boot'.
22008 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22009 declarations.
22010 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22011 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22012 (padblock_write): Likewise. Rewrite to support embedded boot image.
22013
22014 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22015 for BIOS-based disk boot instead of only ElTorito.
22016
b15937b1
RM
220172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22018
22019 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22020 build (not needed for bootstrap).
22021
52cc3ce0
RM
220222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22023
22024 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22025 from i386-pc build (not needed for bootstrap).
22026 Rewrite a pair of strings.
22027
36f5ff04
RM
220282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22029
22030 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22031
973c6c85 220322009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22033
22034 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22035
05d21547
AB
220362009-12-21 Andreas Born <futur.andy@googlemail.com>
22037
22038 * kern/env.c (grub_env_context_open): Mark exported variable for
22039 reexport.
22040
0175d51f
AB
220412009-12-21 Andreas Born <futur.andy@googlemail.com>
22042
22043 * kern/env.c (grub_env_export): Create nonexistent variables before
22044 exporting.
22045
7f39d92f 220462009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22047
7f39d92f 22048 * include/grub/auth.h: Include `<grub/i18n.h>'.
22049 (GRUB_GET_PASSWORD): Gettextizze string.
22050 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22051 menu_text.c.
22052 (grub_utf8_to_ucs4_alloc): Fix indentation.
22053 (grub_print_ucs4): Likewise.
22054 (grub_getstringwidth): Likewise.
22055 (print_message_indented): New declaration.
22056 * normal/auth.c: Include `<grub/i18n.h>'.
22057 (grub_auth_check_authentication): Gettexttize string.
22058 * normal/cmdline.c: Include `<grub/i18n.h>'.
22059 (grub_cmdline_get): Gettextizze.
22060 * normal/color.c: Include `<grub/i18n.h>'.
22061 (grub_parse_color_name_pair): Gettexttize strings.
22062 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22063 string (use `print_message_indented').
22064 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22065 `include/grub/normal.h'.
22066 (print_message_indented): Renamed to ...
22067 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22068 used in normal/main.c).
22069 (print_message): Use `grub_print_message_indented' instead of
22070 `print_message_indented'.
22071 (print_timeout): Likewise.
22072 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22073 (grub_normal_print_device_info): Gettexttize strings.
22074 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22075
3041d898
VS
220762009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22077
22078 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22079 of arguments. Return number of tokens and not arguments. All users
22080 updated.
22081
de15bf8e
VS
220822009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22085 non-MSDOS paritions.
22086
e0a6ca52
VS
220872009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 * include/grub/types.h (UNUSED): Removed since it conflicts with
22090 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22091 Reported by Grégoire Sutre.
22092
b99518d1 220932009-12-19 Carles Pina i Estany <carles@pina.cat>
22094
22095 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22096 (grub_print_ucs4_alloc): Likewise.
22097 (grub_getstringwidth): Likewise.
22098 * normal/main.c (grub_normal_init_page): Gettextize version string.
22099 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22100 (getstringwidth): Renamed to ...
22101 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22102 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22103 (grub_print_ucs4): Remove `static' qualifer (now used in
22104 normal/main.c).
22105 * po/POTFILES: Add normal/main.c.
22106
bfd5e52b 221072009-12-19 Carles Pina i Estany <carles@pina.cat>
22108
22109 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22110 (print_message_indented): Add `margin_left' and `margin_right'
22111 parameters.
22112 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22113 strings.
22114 (print_timeout): Use `print_message_indented' to print the message.
22115 Deletes `second_stage' parameter.
22116 (run_menu): Update `print_timeout' calls.
22117
5a1ad2b9
VS
221182009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22119
22120 Fix console palette on OpenFirmware.
22121
22122 * term/ieee1275/ofconsole.c (MAX): Removed.
22123 (colors): Redone based on VGA palette.
22124 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22125 colors are supported.
22126 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22127
b045f00a
VS
221282009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22129
22130 Fix potential EfiEmu double prepare.
22131
22132 * efiemu/main.c (prepared): New variable
22133 (grub_efiemu_unload): Set prepare to '0'.
22134 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22135
22136 set_virtual_address_map support.
22137
22138 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22139 prototype.
22140 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22141 prototype.
22142 (grub_efiemu_crc32): Likewise.
22143 (grub_efiemu_crc64): Likewise.
22144 (grub_efiemu_set_virtual_address_map): Likewise.
22145 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22146 New definition.
22147 (grub_autoefi_set_virtual_address_map): Likewise.
22148 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22149 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22150 Restructure flow to accomodate it.
22151 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22152 (grub_efiemu_crc): Recompute CRC32.
22153 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22154 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22155 * efiemu/symbols.c (relocated_handle): New variable.
22156 (grub_efiemu_free_syms): Free relocated_handle.
22157 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22158 (grub_efiemu_write_sym_markers): New function.
22159 (grub_efiemu_set_virtual_address_map): Likewise.
22160
22161 Newer XNU parameters.
22162
22163 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22164 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22165 (grub_xnu_fill_devicetree): New prototype.
22166 (grub_xnu_heap_real_start): New variable.
22167 * loader/xnu.c (get_name_ptr): New function.
22168 (grub_xnu_load_driver): Fill namelen and name.
22169
22170 64-bit xnu support.
22171
22172 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22173 and 'loader/macho64.c'.
22174 * conf/i386-pc.rmk: Likewise.
22175 * conf/x86_64-efi.rmk: Likewise.
22176 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22177 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22178 * include/grub/macho.h (grub_macho_segment64): New structure.
22179 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22180 (grub_macho_size32): ... to this.
22181 (grub_macho32_get_entry_point): Renamed from ...
22182 (grub_macho_get_entry_point32): ... to this.
22183 (grub_macho_contains_macho64): New prototype.
22184 (grub_macho_size64): Likewise.
22185 (grub_macho_get_entry_point64): Likewise.
22186 (grub_macho32_load): Renamed from ...
22187 (grub_macho_load32): ... to this.
22188 (grub_macho32_filesize): Renamed from ...
22189 (grub_macho_filesize32): ... to this.
22190 (grub_macho32_readfile): Renamed from ...
22191 (grub_macho_readfile32): ... to this.
22192 (grub_macho_filesize64): New prototype.
22193 (grub_macho_readfile64): Likewise.
22194 (grub_macho_parse32): Likewise.
22195 (grub_macho_parse64): Likewise.
22196 * loader/macho.c: Split into ...
22197 * loader/machoXX.c: ... and this. Replace 32 with XX.
22198 * loader/macho32.c: New file.
22199 * loader/macho64.c: Likewise.
22200 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22201 (grub_cmd_xnu_kernel): Make 32-bit only.
22202 (grub_cmd_xnu_kernel64): New function.
22203 (grub_xnu_load_driver): Support Mach-O 64.
22204 (grub_cmd_xnu_mkext): Likewise.
22205 * util/grub.d/30_os-prober.in (osx_entry): New function.
22206 Generate entries for 64-bit boot too.
22207
22208 Eliminate ad-hoc tree format in XNU and EfiEmu.
22209
22210 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22211 * efiemu/pnvram.c: Rewritten to use environment variables.
22212 All users updated.
22213
22214 Inline utf16_to_utf8.
22215
22216 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22217 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22218 All users updated.
22219 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22220
22221 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22222 * commands/usbtest.c (grub_usb_get_string): ... move here.
22223 (usb_print_str): Fix error handling.
22224 * include/grub/usb.h (grub_usb_get_string): Remove.
22225
22226 UTF-8 to UTF-16 transformation.
22227
22228 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22229 (charset_mod_SOURCES): New variable.
22230 (charset_mod_CFLAGS): Likewise.
22231 (charset_mod_LDFLAGS): Likewise.
22232 * include/grub/utf.h: New file.
22233 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22234
22235 Support for device properties.
22236
22237 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22238 (grub_xnu_devprop_device_header): Likewise.
22239 (grub_xnu_devprop_device_descriptor): Likewise.
22240 (grub_xnu_devprop_add_device): New prototype.
22241 (grub_xnu_devprop_remove_device): Likewise.
22242 (grub_xnu_devprop_remove_property): Likewise.
22243 (grub_xnu_devprop_add_property_utf8): Likewise.
22244 (grub_xnu_devprop_add_property_utf16): Likewise.
22245 (grub_cpu_xnu_init): Likewise.
22246 (grub_cpu_xnu_fini): Likewise.
22247 (grub_cpu_xnu_unload): Likewise.
22248 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22249 (property_descriptor): Likewise.
22250 (devices): New variable.
22251 (grub_xnu_devprop_remove_property): New function.
22252 (grub_xnu_devprop_add_device): Likewise.
22253 (grub_xnu_devprop_remove_device): Likewise.
22254 (grub_xnu_devprop_add_property): Likewise.
22255 (grub_xnu_devprop_add_property_utf8): Likewise.
22256 (grub_xnu_devprop_add_property_utf16): Likewise.
22257 (hextoval): Likewise.
22258 (grub_cpu_xnu_fill_devprop): Likewise.
22259 (grub_cmd_devprop_load): Likewise.
22260 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22261 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22262 (cmd_devprop_load): New variable.
22263 (grub_cpu_xnu_init): New function.
22264 (grub_cpu_xnu_fini): Likewise.
22265 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22266 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22267 (grub_cmd_xnu_devtree): Likewise.
22268 (hextoval): New function.
22269 (unescape): Likewise.
22270 (grub_xnu_fill_devicetree): Likewise.
22271
22272 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22273 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22274
0945f181
VS
222752009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22276
22277 Workaround for broken ATI VBE.
22278
22279 * video/i386/pc/vbe.c (last_set_mode): New variable.
22280 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22281 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22282 (grub_video_vbe_setup): Don't check for reserved flag.
22283
0ad46fd7 222842009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22285
22286 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22287 the `find' command.
22288
c179ebe4
VS
222892009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 UUID support for HFS.
22292
22293 * fs/hfs.c (grub_hfs_uuid): New function.
22294 (grub_hfs_fs): New value .uuid.
22295 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22296
0ad46fd7 222972009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22298
22299 Fix a segfault with parsing unknown long options.
22300
22301 * util/grub-mkrelpath.c (options): Zero terminate it.
22302
c4a3e41a
CPE
223032009-12-13 Carles Pina i Estany <carles@pina.cat>
22304
22305 * include/grub/misc.h (grub_puts): New declaration.
22306 (grub_puts_): Likewise.
a22008a6 22307 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22308 (grub_puts_): Likewise.
22309
2e8a7602
RM
223102009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22311
22312 * util/grub-probe.c (probe): Improve error message.
22313
b50b77b9
RM
223142009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22315
22316 * loader/i386/multiboot_elfxx.c
22317 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22318 initialization.
22319
223202009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22321
22322 Relocator framework
22323
22324 * loader/i386/xnu_helper.S: Removed. All users updated.
22325 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22326 (relocator_mod_SOURCES): New variable.
22327 (relocator_mod_CFLAGS): Likewise.
22328 (relocator_mod_LDFLAGS): Likewise.
22329 (relocator_mod_ASFLAGS): Likewise.
22330 * conf/x86_64.rmk: Likewise.
22331 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22332 (grub_multiboot_payload_entry_offset): Likewise.
22333 (grub_multiboot_forward_relocator): Likewise.
22334 (grub_multiboot_forward_relocator_end): Likewise.
22335 (grub_multiboot_backward_relocator): Likewise.
22336 (grub_multiboot_backward_relocator_end): Likewise.
22337 (grub_multiboot_payload_eip): New variable.
22338 (grub_multiboot_payload_orig): Likewise.
22339 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22340 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22341 * include/grub/i386/memory.h
22342 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22343 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22344 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22345 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22346 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22347 * include/grub/i386/relocator.h: New file.
22348 * include/grub/x86_64/relocator.h: Likewise.
22349 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22350 (XNU_RELOCATOR): New macro.
22351 (grub_xnu_launcher_start): Remove.
22352 (grub_xnu_launcher_end): Likewise.
22353 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22354 (grub_xnu_heap_real_start): Remove.
22355 (grub_xnu_heap_start): Change to void *. All users updated.
22356 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22357 * lib/i386/relocator.c: New file.
22358 * lib/i386/relocator_asm.S: Likewise.
22359 * lib/i386/relocator_backward.S: Likewise.
22360 * lib/mips/relocator.c: Likewise.
22361 * lib/mips/relocator_asm.S: Likewise.
22362 * lib/relocator.c: Likewise.
22363 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22364 (entry): Removed.
22365 (playground): Likewise.
22366 (grub_multiboot_payload_orig): New variable.
22367 (grub_multiboot_payload_dest): Likewise.
22368 (grub_multiboot_payload_size): Likewise.
22369 (grub_multiboot_payload_eip): Likewise.
22370 (grub_multiboot_payload_esp): Likewise.
22371 (grub_multiboot_boot): Use grub_relocator32_boot.
22372 (grub_multiboot_unload): Free relocators.
22373 (grub_multiboot): Setup stack. Use relocators.
22374 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22375 (grub_multiboot_load_elfXX): Use relocators.
22376 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22377 (grub_multiboot_payload_size): Likewise.
22378 (grub_multiboot_payload_dest): Likewise.
22379 (grub_multiboot_payload_entry_offset): Likewise.
22380 (grub_multiboot_forward_relocator): Likewise.
22381 (grub_multiboot_backward_relocator): Likewise.
22382 (grub_multiboot_real_boot): Likewise.
22383 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22384 (grub_xnu_entry_point): Likewise.
22385 (grub_xnu_arg1): Likewise.
22386 (grub_xnu_stack): Likewise.
22387 (grub_xnu_launch): Removed.
22388 (grub_xnu_boot_resume): New function.
22389 (grub_xnu_boot): Use relocators.
22390 * loader/i386/xnu_helper.S: Removed.
22391 * loader/xnu.c (grub_xnu_heap_start): New variable.
22392 (grub_xnu_heap_size): Likewise.
22393 (grub_xnu_heap_malloc): Use relocators.
22394 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22395
29eb90c6
VS
223962009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22397
22398 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22399 anything.
22400
31027430
CPE
224012009-12-13 Carles Pina i Estany <carles@pina.cat>
22402
22403 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22404 GRUB_ERR_NONE before calling grub_env_set.
22405
dc0c71d9
RM
224062009-12-12 Robert Millan <rmh@aybabtu.com>
22407
22408 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22409 * genmk.rb (video): New variable.
22410 (CLEANFILES, VIDEOFILES): Add #{video}.
22411 (#{video}): New target rule.
22412 * genvideolist.sh: New file.
22413 * Makefile.in (pkglib_DATA): Add video.lst.
22414 (video.lst): New target rule.
22415 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22416 `video.lst'.
22417 * util/grub.d/30_os-prober.in: Replace `vbe' with
22418 ${GRUB_VIDEO_BACKEND}.
22419
2a4bfcf0
RM
224202009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22421
22422 * THANKS: Add David Miller.
22423
2a3aa4d5
RM
224242009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22425
22426 libpciaccess support.
22427
22428 * Makefile.in (LIBPCIACCESS): New variable.
22429 (enable_grub_emu_pci): Likewise.
22430 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22431 util/pci.c and commands/lspci.c.
22432 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22433 * configure.ac (grub-emu-pci): New option.
22434 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22435 (grub_pci_device_unmap_range): Likewise.
22436 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22437 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22438 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22439 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22440 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22441 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22442 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22443 * include/grub/pciutils.h: New file.
22444 * util/pci.c: Likewise.
22445
0ad46fd7 224462009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22447
22448 * util/misc.c: Don't include <errno.h> twice.
22449
0ad46fd7 224502009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22451
22452 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22453 name in an error message.
22454 (grub_biosdisk_rw): Likewise.
22455
2e59983c
VS
224562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22457
22458 Eliminate NTFS 4Gib barrier.
22459
22460 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22461 (read_run_data): Likewise.
22462 (grub_ntfs_read_run_list): Likewise.
22463 (grub_ntfs_read_block): Likewise.
22464 (grub_ntfs_iterate_dir): Likewise.
22465 (read_mft): Likewise.
22466 (read_data): Likewise.
22467 Use COM_LOG_LEN.
22468 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22469 to avoid 64-bit division
22470 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22471 (grub_ntfs_rlst): Use grub_disk_addr_t.
22472
71ee178a
VS
224732009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22474
22475 Eliminate grub-fstest 4Gib barrier.
22476
22477 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22478 (read_file): Fix error reporting.
22479
2520d4b8
VS
224802009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 Eliminate hexdump 4Gib barrier.
22483
22484 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22485 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22486
e1f27065
VS
224872009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22488
22489 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22490 Fixes amarsh bug.
22491
1a0f7f45
RM
224922009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22493
22494 Remove miscellaneous files in distclean target.
22495
22496 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22497
c631d9fb
CW
224982009-12-09 Colin Watson <cjwatson@ubuntu.com>
22499
22500 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22501 if they're already set. This resolves the conflict between my
22502 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22503 fixing the --grub-probe option again.
22504 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22505 change on 2009-10-06, so that we now once again source
22506 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22507
7c7b6106
RM
225082009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22509
22510 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22511 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22512 `util/devicemap.c'.
22513
e3069ec1
CPE
225142009-12-08 Carles Pina i Estany <carles@pina.cat>
22515
22516 * include/grub/misc.h (grub_printf_): New declaration.
22517 * kern/misc.c (grub_printf_): New definition.
22518 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22519 instead of `grub_printf' and `_'.
22520 * normal/menu_entry.c (store_completion): Likewise.
22521 (run): Likewise.
22522 (grub_menu_entry_run): Likewise.
22523 * normal/menu_text.c (grub_wait_after_message): Likewise.
22524 (notify_booting): Likewise.
22525 (notify_fallback): Likewise.
22526 (notify_execution_failure): Likewise.
22527
d6ceebf1
CW
225282009-12-07 Colin Watson <cjwatson@ubuntu.com>
22529
22530 * configure.ac: Check for vasprintf.
22531 * util/misc.c (asprintf): Move allocation from here ...
22532 (vasprintf): ... to here. New function.
22533 (xasprintf): New function.
22534 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22535 prototypes.
22536 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22537 * util/grub-mkfont.c (write_font): Likewise.
22538 * util/grub-probe.c (probe): Likewise.
22539 * util/hostdisk.c (make_device_name): Likewise.
22540
de6daa8b
DM
225412009-12-06 David S. Miller <davem@sunset.davemloft.net>
22542
22543 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22544 anything even prefixed with 'cdrom' as a cdrom.
22545
0ad46fd7 225462009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22547
22548 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22549 mount points.
22550
98d3dc02
CPE
225512009-12-05 Carles Pina i Estany <carles@pina.cat>
22552
22553 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22554 grub_gettext_msg_list.
22555 (grub_gettext_gettranslation_from_position): Return const char *
22556 and not char *.
a2c1332b 22557 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22558 returns from the list if existing there.
22559 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22560 (grub_gettext_delete_list): Delete the list.
22561 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22562 lang environment variable is changed.
22563 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22564
b283f108
VS
225652009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22566
22567 Rename kernel.mod to kernel.img.
22568
22569 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22570 (kernel_mod_EXPORTS): Rename to ...
22571 (kernel_img_EXPORTS): ... this.
22572 (kernel_mod_SOURCES): Rename to ...
22573 (kernel_img_SOURCES): ... this.
22574 (kernel_mod_HEADERS): Rename to ...
22575 (kernel_img_HEADERS): ... this. All users updated.
22576 (kernel_mod_CFLAGS): Rename to ...
22577 (kernel_img_CFLAGS): ... this.
22578 (kernel_mod_ASFLAGS): Rename to ...
22579 (kernel_img_ASFLAGS): ... this.
22580 (kernel_mod_LDFLAGS): Rename to ...
22581 (kernel_img_LDFLAGS): ... this.
22582 * conf/x86_64-efi.rmk: Likewise.
22583 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22584 (read_kernel_image): ... this. All users updated.
22585 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22586
69055f8a
CPE
225872009-12-05 Carles Pina i Estany <carles@pina.cat>
22588
22589 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22590 (print_spaces): New function.
22591 (grub_print_ucs4): New function.
22592 (getstringwidth): New function.
22593 (print_message_indented): New function.
22594 (print_message): Gettexttize strings using print_message_indented.
22595 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22596 width.
22597 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22598 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22599 Gettextize.
22600 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22601 string.
22602 (run): Likewise.
22603 (grub_menu_entry_run): Likewise.
22604 * PO/POTFILES: Add normal/menu_entry.c.
22605
f616f51c
VS
226062009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22607
22608 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22609
57bbe3be
CPE
226102009-12-05 Carles Pina i Estany <carles@pina.cat>
22611
22612 * util/grub-install.in: Install gettext .mo files.
22613 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22614
013d67a1
CPE
226152009-12-05 Carles Pina i Estany <carles@pina.cat>
22616
22617 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22618 grub_dprintf.
22619
fb954db0
RM
226202009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22621
22622 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22623 non-firmware-dependant one in realmode.S takes precedence.
22624
6b8474f8
RM
226252009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22626
22627 * commands/halt.c: Replace misc arch-specific headers with
22628 `<grub/misc.h>'.
22629 * commands/reboot.c: Likewise.
22630 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22631 `<grub/misc.h>'.
22632 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22633 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22634 (kernel_img_SOURCES): ... to here.
22635
22636 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22637 * include/grub/i386/pc/init.h: Likewise.
22638 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22639 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22640
22641 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22642
22643 * include/grub/i386/halt.h: Remove.
22644 * include/grub/i386/reboot.h: Likewise.
22645
22646 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22647
4b2e6ca2
DM
226482009-12-03 David S. Miller <davem@sunset.davemloft.net>
22649
22650 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22651 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22652 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22653 "progname.h"
22654 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22655 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22656 (usage): Add missing comma in printf.
22657
5239348f
RM
226582009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22659
22660 Use the same reboot approach on i386 coreboot and qemu as we do on
22661 BIOS.
22662
22663 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22664 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22665 * kern/i386/reboot.c: Remove.
22666 * include/grub/i386/reboot.h (grub_reboot): Export function.
22667 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22668 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22669 0xf000:0xfff0 instead of 0xffff:0x0000.
22670 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22671 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22672
ef34cbd4
RM
226732009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22674
22675 Fix $srcdir != $objdir build.
22676
22677 * Makefile.in (po/%.po): Rewrite as ...
22678 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22679
dc9837ea
ST
226802009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22681
22682 Fix GNU/Hurd grub-install crash.
22683 * util/grub-probe.c (probe): Try to access `path' only when it is not
22684 NULL.
22685
2f857f98
VS
226862009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22687
22688 Correct module naming.
22689
22690 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22691 (GRUB_MOD_INIT(efi_uga)): ... to this
22692 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22693 (GRUB_MOD_FINI(efi_uga)): ... to this
22694 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22695 (GRUB_MOD_INIT(efi_gop)): ... to this
22696 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22697 (GRUB_MOD_FINI(efi_gop)): ... to this
22698
c5448046
RM
226992009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22700
22701 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22702 translatable.
22703 (usage): Translate `arg' strings using gettext().
22704 Thanks to Jordi Mallach for the suggestion.
22705
c85184ad
VS
227062009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22707
22708 GOP support. Based on patch from Bean
22709 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22710
22711 * video/efi_gop.c: New file.
22712 * include/grub/efi/graphics_output.h: Likewise.
22713 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22714 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22715 variables.
22716 * conf/x86_64-efi.rmk: Likewise.
22717
8a4c48d8
VS
227182009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 Rename efi_fb to efi_uga.
22721
22722 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22723 'efi_uga.mod'.
22724 (efi_fb_mod_SOURCES): Rename this ...
22725 (efi_uga_mod_SOURCES): ... to this.
22726 (efi_fb_mod_CFLAGS): Rename this ...
22727 (efi_uga_mod_CFLAGS): ... to this.
22728 (efi_fb_mod_LDFLAGS): Rename this ...
22729 (efi_uga_mod_LDFLAGS): ... to this.
22730 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22731 'efi_uga.mod'.
22732 (efi_fb_mod_SOURCES): Rename this ...
22733 (efi_uga_mod_SOURCES): ... to this.
22734 (efi_fb_mod_CFLAGS): Rename this ...
22735 (efi_uga_mod_CFLAGS): ... to this.
22736 (efi_fb_mod_LDFLAGS): Rename this ...
22737 (efi_uga_mod_LDFLAGS): ... to this.
22738 * video/efi_fb.c: Move this ...
22739 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22740
fb6c1a7b
RM
227412009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22742
22743 * po/README: New file. Explain our PO file workflow.
22744
3bc7896c
RM
227452009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22746
22747 * po/ChangeLog: Remove. Move relevant entries back to ...
22748 * ChangeLog: ... here.
22749 * po/ca.po: Remove (now handled by TLP).
22750 * po/id.po: Likewise.
22751 * po/zh_CN.po: Likewise.
22752 * Makefile.in (LINGUAS): Initialize in a way that supports
22753 empty set.
22754
9ed4841d
RM
227552009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22756
22757 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22758 reliing on po/LINGUAS.
22759 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22760 (po/%.po): ... this.
22761
0ad46fd7 227622009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22763
22764 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22765 (main): Use `program_name' instead of nonexistent `progname'.
22766
e30dd392
FZ
227672009-11-26 Felix Zielcke <fzielcke@z-51.de>
22768
22769 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22770 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22771
7656de4f
RM
227722009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22773
22774 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22775 commit.
22776 * conf/i386-efi.rmk: Likewise.
22777 * conf/i386-ieee1275.rmk: Likewise.
22778 * conf/powerpc-ieee1275.rmk: Likewise.
22779 * conf/sparc64-ieee1275.rmk: Likewise.
22780 * conf/x86_64-efi.rmk: Likewise.
22781
db77c4d4
FZ
227822009-11-26 Felix Zielcke <fzielcke@z-51.de>
22783
22784 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22785
a755bb04
FZ
227862009-11-26 Felix Zielcke <fzielcke@z-51.de>
22787
22788 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22789
8a4c07fd
RM
227902009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22791
22792 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22793 (grub_mkdevicemap_SOURCES): New variable.
22794 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22795 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22796 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22797 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22798 (grub_mkdevicemap_SOURCES): Remove.
22799 * conf/i386-efi.rmk: Likewise.
22800 * conf/i386-ieee1275.rmk: Likewise.
22801 * conf/i386-pc.rmk: Likewise.
22802 * conf/powerpc-ieee1275.rmk: Likewise.
22803 * conf/sparc64-ieee1275.rmk: Likewise.
22804 * conf/x86_64-efi.rmk: Likewise.
22805 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22806 (usage): Fix strings to use `program_name'.
22807 (main): Initialize gettext.
22808 * util/grub-editenv.c: Likewise.
22809 * util/grub-emu.c: Likewise.
22810 * util/grub-fstest.c: Likewise.
22811 * util/grub-mkdevicemap.c: Likewise.
22812 * util/grub-mkfont.c: Likewise.
22813 * util/grub-mkrelpath.c: Likewise.
22814 * util/grub-pe2elf.c: Likewise.
22815 * util/grub-probe.c: Likewise.
22816 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22817 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22818 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22819
22820 * util/misc.c: Include `"progname.h"'.
22821 (progname): Remove variable.
22822 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22823
6f61ed55
FZ
228242009-11-25 Felix Zielcke <fzielcke@z-51.de>
22825
22826 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22827 printf and print a newline after the menuentry header line.
22828 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22829
f022876b
FZ
228302009-11-25 Felix Zielcke <fzielcke@z-51.de>
22831
22832 autoconf >= 2.60 support $(localedir).
22833
22834 * INSTALL: Note that autoconf 2.60 is required.
22835 * configure.ac (AC_PREREQ): Bump to 2.60.
22836 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22837 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22838
6717926e
YB
228392009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22840
22841 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22842 aclocal is run.
22843
08806a54
RM
228442009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22845
22846 * normal/main.c (grub_normal_read_line): Fix off-by-one
22847 buffer overflow.
22848
13b33fba
RM
228492009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22850
22851 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22852 "parser.grub" in grub_command_execute() call.
22853
4a8572e9
CPE
228542009-11-24 Carles Pina i Estany <carles@pina.cat>
22855
22856 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22857 * conf/i386-efi.rmk: Likewise.
22858 * conf/i386-ieee1275.rmk: Likewise.
22859 * conf/i386-pc.rmk: Likewise.
22860 * conf/powerpc-ieee1275.rmk: Likewise.
22861 * conf/sparc64-ieee1275.rmk: Likewise.
22862 * conf/x86_64-efi.rmk: Likewise.
22863 * gettext/gettex.c: Include <grub/i18n.h>.
22864 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22865 here ...
22866 * include/grub/i18n.h: ... to here
22867 * include/grub/i18n.h: ... to here.
22868 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22869 (grub_gettext_dummy): Move above user.
4a8572e9 22870
bee48093
FZ
228712009-11-24 Felix Zielcke <fzielcke@z-51.de>
22872
22873 * util/Makefile.in (install-local): Convert a `for' into a normal
22874 shell expansion.
22875
a031e91c
RM
228762009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22877
22878 * autogen.sh: Add automake call.
22879 * config.guess: Remove.
22880 * config.sub: Likewise.
22881 * install-sh: Likewise.
22882
26bec39d
FZ
228832009-11-24 Felix Zielcke <fzielcke@z-51.de>
22884
22885 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22886
8e2532fd
FZ
228872009-11-24 Felix Zielcke <fzielcke@z-51.de>
22888
22889 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22890 function to a normal shell `for'.
22891
fefa1b7d
FZ
228922009-11-24 Felix Zielcke <fzielcke@z-51.de>
22893
22894 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22895
4501250b
FZ
228962009-11-24 Felix Zielcke <fzielcke@z-51.de>
22897
22898 * util/grub-mkrelpath.c: New file.
22899 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22900 (grub_mkrelpath_SOURCES): New variable.
22901 * include/grub/util/misc.h: New function prototype.
22902 * util/misc.c (make_system_path_relative_to_its_root): New function.
22903
22904 * util/grub-mkconfig_lib.in (bindir): New variable.
22905 (grub_mkrelpath): Likewise.
22906 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22907
22908 * util/probe.c (probe): Make the file path relative to its root.
22909 Change a info message to use the GRUB path. Enable again the
22910 check if we can read the file with GRUB facilities.
22911
22912 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22913 to its root.
22914
11d9778b
FZ
229152009-11-24 Felix Zielcke <fzielcke@z-51.de>
22916
22917 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22918 platform.
22919
4465287d
FZ
229202009-11-24 Felix Zielcke <fzielcke@z-51.de>
22921
22922 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22923 strncmp().
22924
62b47f22
FZ
229252009-11-24 Felix Zielcke <fzielcke@z-51.de>
22926
22927 * util/getroot.c (grub_util_is_dmraid): New function.
22928 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22929 devices as normal ones, not as LVM.
22930
1eafb9b9 229312009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22932
22933 * conf/common.rmk: Add grub-gettext_lib target and updates
22934 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22935 LDFLAGS.
22936 * gettext/gettext.c: New file. (Reads mo files).
22937 * include/grub/file.h (grub_file_pread): New prototype.
22938 * include/grub/i18n.h (_): New prototype.
22939 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22940 prototypes.
22941 * kern/misc.c (grub_gettext_dummy): New function.
22942 * normal/menu_text.c: Include <grub/i18n.h>.
22943 * normal/menu_text.c (print_timeout): Gettexttize string.
22944 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22945 * po/POTFILES: Add `normal/menu_text.c'.
22946 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22947 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22948 gettext module and defines locale_dir and lang in grub.cfg.
22949 * NEWS: Add gettext support.
22950
0fdb2568
RM
229512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22952
22953 * util/hostdisk.c: Include `<grub/i18n.h>'.
22954 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22955 (make_device_name): Rewrite using asprintf.
22956 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22957 (find_system_device): If a device is not found, generate one just
22958 by reusing the OS path name.
22959 (read_device_map): Make it permissible for device.map not to exist.
22960
f515aa62
RM
229612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22962
22963 * script/sh/execute.c: Move from here ...
22964 * script/execute.c: ... to here. Update all users.
22965 * script/sh/function.c: Move from here ...
22966 * script/function.c: ... to here. Update all users.
22967 * script/sh/lexer.c: Move from here ...
22968 * script/lexer.c: ... to here. Update all users.
22969 * script/sh/main.c: Move from here ...
22970 * script/main.c: ... to here. Update all users.
22971 * script/sh/parser.y: Move from here ...
22972 * script/parser.y: ... to here. Update all users.
22973 * script/sh/script.c: Move from here ...
22974 * script/script.c: ... to here. Update all users.
22975
f84b481b
RM
229762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22977
22978 * configure.ac: Detect all `emu' platforms. Define
22979 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22980 --enable-grub-emu logic. Disable include/grub/machine
22981 symlink on `emu' platforms.
22982
22983 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22984 * gensymlist.sh.in: Likewise.
22985
22986 * include/grub/i386/coreboot/machine.h: Remove file.
22987 * include/grub/i386/efi/machine.h: Likewise.
22988 * include/grub/i386/ieee1275/machine.h: Likewise.
22989 * include/grub/i386/pc/machine.h: Likewise.
22990 * include/grub/i386/qemu/machine.h: Likewise.
22991 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22992 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22993 * include/grub/x86_64/efi/machine.h: Likewise.
22994
22995 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22996 * commands/halt.c: Likewise.
22997 * commands/reboot.c: Likewise.
22998 * include/grub/autoefi.h: Likewise.
22999 * include/grub/i386/at_keyboard.h: Likewise.
23000 * include/grub/i386/kernel.h: Likewise.
23001 * include/grub/i386/loader.h: Likewise.
23002 * include/grub/i386/pc/memory.h: Likewise.
23003 * kern/dl.c: Likewise.
23004 * kern/i386/coreboot/init.c: Likewise.
23005 * loader/i386/bsd.c: Likewise.
23006 * loader/i386/linux.c: Likewise.
23007 * loader/multiboot_loader.c: Likewise.
23008 * term/i386/pc/serial.c: Likewise.
23009 * term/usb_keyboard.c: Likewise.
23010
23011 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23012 `<grub/machine/machine.h>'
23013 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23014 * util/misc.c: Remove `<grub/machine/machine.h>' and
23015 `<grub/machine/time.h>'.
23016
23017 * Makefile.in (enable_grub_emu): Remove variable.
23018 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23019
23020 * conf/any-emu.rmk: New file.
23021 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23022 (grub_emu_init.c): Move from here ...
23023 * conf/any-emu.rmk: ... to here.
23024
23025 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23026 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23027 * conf/any-emu.rmk: ... to here.
23028
4efeab03
RM
230292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23030
23031 * include/grub/parser.h (grub_parser_register): Document need
23032 of `name' parameter.
23033 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23034 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23035 "sh" to "grub".
23036
ea1dd8bf
RM
230372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23038
23039 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23040 `$(XGETTEXT)'.
23041 * include/grub/i18n.h (N_): New macro.
23042 * util/mkisofs/mkisofs.h: Likewise.
23043 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23044 around N_().
23045 (usage): Use gettext() to translate help strings when printing them.
23046
0c140626
RM
230472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23048
23049 Based on patch from Bean
23050 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23051
23052 * video/efi_fb.c: New file.
23053 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23054 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23055 variables.
23056 * conf/x86_64-efi.rmk: Likewise.
23057
87d58298
RM
230582009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23059
23060 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23061 * util/i386/pc/grub-setup.c: Likewise.
23062
994cc3a3
ST
230632009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23064
23065 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23066 <hurd/fs.h>
23067 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23068 file_get_storage_info to implement grub_guess_root_device.
23069
26a61d6a
FZ
230702009-11-21 Felix Zielcke <fzielcke@z-51.de>
23071
23072 * Makefile.in (target): Use make's builtin $(shell) function
23073 instead of calling directly $(SHELL) to create the locale directories,
23074 inside the $(foreach) function.
23075
74ff1dd5
FZ
230762009-11-21 Felix Zielcke <fzielcke@z-51.de>
23077
23078 * util/grub-mkrescue.in: Print an error and usage if output option
23079 has not been given.
23080
0b787d0e
FZ
230812009-11-21 Felix Zielcke <fzielcke@z-51.de>
23082
23083 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23084 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23085 root and /boot are on different devices.
23086
1164b270
RM
230872009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23088
23089 Fix build for srcdir != objdir.
23090
23091 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23092 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23093 $(srcdir).
23094 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23095 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23096 reference for input.
23097
13774a2f
RM
230982009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23099
23100 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23101 or hardlinking it). Remove -J option, Joliet is not compatible with
23102 multiple source directories.
23103
efda854e
RM
231042009-11-21 Carles Pina i Estany <carles@pina.cat>
231052009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23106
23107 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23108 (process_input_dir): New function. Process an arbitrary input
23109 directory.
23110 Misc adjustments to support both "override mode" and system-wide mode.
23111
6c09890c
FZ
231122009-11-20 Felix Zielcke <fzielcke@z-51.de>
23113
23114 * configure.ac (UNIFONT_BDF): Rename to ...
23115 (FONT_SOURCE): ... this. Update all users.
23116
a797824f
FZ
231172009-11-20 Felix Zielcke <fzielcke@z-51.de>
23118
23119 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23120 to the list of unifont files to look for.
23121
cd4f42b0
RM
231222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23123
23124 Patch from Joe Auricchio <jauricchio@gmail.com>
23125 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23126 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23127 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23128
393c783d
FZ
231292009-11-19 Felix Zielcke <fzielcke@z-51.de>
23130
23131 * Makefile.in (install-local): Add a missing backslash.
23132
b2f1e327
FZ
231332009-11-19 Felix Zielcke <fzielcke@z-51.de>
23134
23135 * include/grub/x86_64/io.h: New file.
23136
f577f7a0
RM
231372009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23138
23139 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23140 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23141 Include `"progname.h"'.
23142 (main): Initialize gettext.
23143 * util/i386/pc/grub-setup.c: Gettexttize.
23144 * util/i386/pc/grub-mkimage.c: Likewise.
23145
23146 * Makefile.in (po/*.po): Redefine as ...
23147 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23148
3bc7896c
RM
23149 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23150
c37943b6
RM
231512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23152
23153 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23154 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23155 (program_name): Remove.
23156 (main): Initialize gettext support.
6323f705
RM
23157 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23158 Include `<libintl.h>'.
23159 (_): New macro.
c37943b6
RM
23160
23161 * util/mkisofs/eltorito.c: Gettexttize.
23162 * util/mkisofs/joliet.c: Likewise.
23163 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23164 * util/mkisofs/multi.c: Likewise.
23165 * util/mkisofs/rock.c: Likewise.
23166 * util/mkisofs/tree.c: Likewise.
23167 * util/mkisofs/write.c: Likewise.
23168
3bc7896c
RM
23169 * po/POTFILES: Update with new files.
23170
5ce77c6e
RM
231712009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23172
23173 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23174 * util/mkisofs/iso9660.h: Likewise.
23175 * util/mkisofs/joliet.c: Likewise.
23176 * util/mkisofs/mkisofs.c: Likewise.
23177 * util/mkisofs/mkisofs.h: Likewise.
23178 * util/mkisofs/rock.c: Likewise.
23179 * util/mkisofs/tree.c: Likewise.
23180 * util/mkisofs/write.c: Likewise.
23181
23182 * util/mkisofs/eltorito.c (rcsid): Remove.
23183 * util/mkisofs/hash.c: Likewise.
23184 * util/mkisofs/joliet.c: Likewise.
23185 * util/mkisofs/name.c: Likewise.
23186 * util/mkisofs/rock.c: Likewise.
23187 * util/mkisofs/tree.c: Likewise.
23188 * util/mkisofs/write.c: Likewise.
23189
1dabbc77
RM
231902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23191
23192 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23193 instead of static allocation.
23194 * util/mkisofs/match.h: Likewise.
23195
633877cb
RM
231962009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23197
3bc7896c
RM
23198 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23199 and `util/grub.d/10_linux.in'.
633877cb
RM
23200 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23201 translatable Shell files.
23202
af1c0c85
RM
232032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23204
23205 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23206
769ae37b
RM
232072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23208
23209 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23210 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23211 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23212 Add gettext initialization.
23213 (kfreebsd_entry): Make menuentry output translatable.
23214
232152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23216
23217 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23218 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23219 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23220 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23221 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23222 * po/LINGUAS: New file.
769ae37b
RM
23223
232242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23225
23226 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23227 other things).
23228 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23229 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23230 bindtextdomain() calls for gettext initialization.
23231
232322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23233
23234 * gnulib/progname.c: New file (imported from Gnulib).
23235 * gnulib/progname.h: Likewise.
23236 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23237 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23238 (usage): Replace `progname' with `program_name'.
23239 (main): Use set_program_name() for program name initialization.
23240
232412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23242
23243 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23244 from here ...
23245 * Makefile.in (CPPFLAGS): ... to here.
23246
232472009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23248
23249 * aclocal.m4: Move from here ...
23250 * acinclude.m4: ... to here.
23251 * autogen.sh: Add call to `aclocal'.
23252 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23253
232542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23255
23256 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23257 (LINGUAS): New variable.
23258 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23259 (install-local): Install MO files.
23260 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23261 * include/grub/i18n.h: New file.
3bc7896c
RM
23262 * po/POTFILES: New file.
23263 * po/ca.po: New file.
769ae37b
RM
23264 * util/grub.d/10_linux.in (bindir): New variable.
23265 Add gettext initialization.
23266 (linux_entry): Make menuentry output translatable.
23267 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23268 (usage): Make --help output translatable.
23269 (main): Initialize gettext.
23270
02c0a6ad
RM
232712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23272
23273 * import_gcry.py: New file (written by Vladimir with minor
23274 adjustments).
23275 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23276 ciphers.
23277 * INSTALL: Document that Python is required for bootstrap.
23278
232792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23280
23281 Import ciphers from libgcrypt 1.4.4.
23282
23283 * lib/libgcrypt/cipher/ChangeLog
23284 * lib/libgcrypt/cipher/ac.c
23285 * lib/libgcrypt/cipher/arcfour.c
23286 * lib/libgcrypt/cipher/bithelp.h
23287 * lib/libgcrypt/cipher/blowfish.c
23288 * lib/libgcrypt/cipher/camellia-glue.c
23289 * lib/libgcrypt/cipher/camellia.c
23290 * lib/libgcrypt/cipher/camellia.h
23291 * lib/libgcrypt/cipher/cast5.c
23292 * lib/libgcrypt/cipher/cipher.c
23293 * lib/libgcrypt/cipher/crc.c
23294 * lib/libgcrypt/cipher/des.c
23295 * lib/libgcrypt/cipher/dsa.c
23296 * lib/libgcrypt/cipher/ecc.c
23297 * lib/libgcrypt/cipher/elgamal.c
23298 * lib/libgcrypt/cipher/hash-common.c
23299 * lib/libgcrypt/cipher/hash-common.h
23300 * lib/libgcrypt/cipher/hmac-tests.c
23301 * lib/libgcrypt/cipher/md.c
23302 * lib/libgcrypt/cipher/md4.c
23303 * lib/libgcrypt/cipher/md5.c
23304 * lib/libgcrypt/cipher/primegen.c
23305 * lib/libgcrypt/cipher/pubkey.c
23306 * lib/libgcrypt/cipher/rfc2268.c
23307 * lib/libgcrypt/cipher/rijndael-tables.h
23308 * lib/libgcrypt/cipher/rijndael.c
23309 * lib/libgcrypt/cipher/rmd.h
23310 * lib/libgcrypt/cipher/rmd160.c
23311 * lib/libgcrypt/cipher/rsa.c
23312 * lib/libgcrypt/cipher/seed.c
23313 * lib/libgcrypt/cipher/serpent.c
23314 * lib/libgcrypt/cipher/sha1.c
23315 * lib/libgcrypt/cipher/sha256.c
23316 * lib/libgcrypt/cipher/sha512.c
23317 * lib/libgcrypt/cipher/tiger.c
23318 * lib/libgcrypt/cipher/twofish.c
23319 * lib/libgcrypt/cipher/whirlpool.c
23320
af2f93ac
RM
233212009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23322
23323 Fix build for systems without error().
23324
23325 * gnulib/error.c: New file (imported from Gnulib).
23326 * gnulib/error.h: Likewise.
23327 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23328 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23329 (this variable is now used by error()).
23330
73fb3dd5
FZ
233312009-11-16 Felix Zielcke <fzielcke@z-51.de>
23332
814f5e96
FZ
23333 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23334 instead of relying that char is signed.
73fb3dd5 23335
a691ca33
VS
233362009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23337
23338 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23339 blocksize different from specified.
23340 (grub_pxefs_read): Likewise.
23341
2af8f0f4
FZ
233422009-11-16 Felix Zielcke <fzielcke@z-51.de>
23343
23344 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23345
23346 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23347 (grub_ata_readwrite): Likewise. Update 2 format strings.
23348 (grub_atapi_read): Likewise.
23349
23350 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23351 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23352 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23353 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23354 (ata_mod_LDFLAGS): Move from here ...
23355 * conf/i386.rmk: ... to here ...
23356 * conf/x86_64-efi.rmk: ... and here.
23357 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23358 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23359
83bdecaf
RM
233602009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23361
23362 Relicense multiboot.h, with RMS' blessing.
23363
23364 * include/multiboot.h: Change to X11 license.
23365
fd6fd3d7
RM
233662009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23367
23368 Support --version in grub-mkisofs.
23369
23370 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23371 (OPTION_VERSION): New macro.
23372 (ld_options): Recognize --version.
23373 (usage): Move `program_name' from here ...
23374 (program_name): ... to here. Add `static' qualifier.
23375 (main): Recognize `OPTION_VERSION'.
23376
16a88c49
FZ
233772009-11-15 Felix Zielcke <fzielcke@z-51.de>
23378
23379 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23380 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23381
a4158476
RM
233822009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23383
23384 Fix help2man generation for mkisofs.
23385
23386 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23387 (usage): Send output to stdout (rather than stderr).
23388
fc2208b0
RM
233892009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23390
23391 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23392 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23393 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23394 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23395 (bin_SCRIPTS): Add `grub-mkfloppy'.
23396 (grub_mkfloppy_SOURCES): New variable.
23397
23398 * util/grub-mkrescue.in: New file.
23399 * util/i386/pc/grub-mkfloppy.in: New file.
23400
23401 * util/i386/coreboot/grub-mkrescue.in: Remove.
23402 * util/i386/pc/grub-mkrescue.in: Remove.
23403
8d0edf4a
RM
234042009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23405
23406 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23407 from here ...
23408 * include/multiboot.h (struct multiboot_header): ... to here. Update
23409 all users.
23410 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23411 from here ...
23412 * include/multiboot.h (struct multiboot_info): ... to here. Update
23413 all users.
23414 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23415 from here ...
23416 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23417 Update all users.
23418 * include/grub/multiboot.h (struct grub_mod_list): Move
23419 from here ...
23420 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23421 Update all users.
23422
a73f5969
RM
234232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23424
23425 * include/multiboot2.h (multiboot_word): Rename from this ...
23426 (multiboot2_word): ... to this. Update all users.
23427 (multiboot_header): Rename from this ...
23428 (multiboot2_header): ... to this. Update all users.
23429 (multiboot_tag_header): Rename from this ...
23430 (multiboot2_tag_header): ... to this. Update all users.
23431 (multiboot_tag_start): Rename from this ...
23432 (multiboot2_tag_start): ... to this. Update all users.
23433 (multiboot_tag_name): Rename from this ...
23434 (multiboot2_tag_name): ... to this. Update all users.
23435 (multiboot_tag_module): Rename from this ...
23436 (multiboot2_tag_module): ... to this. Update all users.
23437 (multiboot_tag_memory): Rename from this ...
23438 (multiboot2_tag_memory): ... to this. Update all users.
23439 (multiboot_tag_unused): Rename from this ...
23440 (multiboot2_tag_unused): ... to this. Update all users.
23441 (multiboot_tag_end): Rename from this ...
23442 (multiboot2_tag_end): ... to this. Update all users.
23443
1c8927f0
RM
234442009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23445
23446 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23447 this platform we should support Multiboot1 first.
23448
23449 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23450 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23451 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23452
6e1e0d89
RM
234532009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23454
23455 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23456 of write calls (converting them to fwrite() if they aren't already).
23457 (get_torito_desc): Likewise.
23458 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23459
7f2b34d8
RM
234602009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23461
23462 * util/i386/pc/grub-install.in: Move from here ...
23463 * util/grub-install.in: ... to here. Update all users.
23464
c0ef3311
CW
234652009-11-11 Colin Watson <cjwatson@ubuntu.com>
23466
23467 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23468
e1f240ff
RM
234692009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23470
23471 Support for El Torito without floppy emulation.
23472
23473 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23474 (init_boot_catalog): Improve error handling.
23475 (get_torito_desc): Don't use floppy emulation unless requested by
23476 user. Patch boot information table when requested via
23477 `-boot-info-table'.
23478 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23479 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23480 (use_boot_info_table): New variables.
23481 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23482 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23483 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23484 `--eltorito-emul-floppy'.
23485 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23486 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23487 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23488 (use_boot_info_table, get_731): New prototypes.
23489 * util/mkisofs/write.c (get_731): New function.
23490
af7d4de5
FZ
234912009-11-11 Felix Zielcke <fzielcke@z-51.de>
23492
23493 Fix the generation of the man page.
23494
23495 * util/pc/i386/grub-install.in: Source
23496 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23497
2c55dbc0
RM
234982009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23499
23500 Large file support for grub-mkisofs.
23501
23502 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23503 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23504 (session_start): Upgrade type to `uint64_t'. Update all users.
23505 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23506 (struct directory_entry): Upgrade type of `starting_block' and
23507 `size' to `uint64_t'. Update all users.
23508 (struct deferred): Remove unused structure.
23509 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23510 Update all users.
23511 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23512 file is larger than `UINT32_MAX'.
23513 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23514 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23515 return value.
23516 (struct deferred_write): Upgrade type of `extent' and `size' to
23517 `uint64_t'. Update all users.
23518 (last_extent_written): Upgrade type to `uint64_t'. Update all
23519 users.
23520 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23521 Update all users. Upgrade type of `remain' to `int64_t' and
23522 `use' to `size_t'. Use error() to handle fread() errors.
23523 (write_files): Rely on write_one_file() rather than calling
23524 xfwrite() directly.
23525
6a9cead5
FZ
235262009-11-09 Felix Zielcke <fzielcke@z-51.de>
23527
23528 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23529
4825d790
RM
235302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23531
23532 * util/mkisofs/fnmatch.c: Remove.
23533 * util/mkisofs/getopt1.c: Likewise.
23534 * util/mkisofs/getopt.c: Likewise.
23535 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23536 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23537 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23538 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23539 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23540
23541 * configure.ac: Detect `mingw32msvc' host_os.
23542 Check for lstat(), getuid() and getgid().
23543
23544 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23545 instances of `u_char' with `uint8_t'.
23546
23547 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23548 [!HAVE_GETUID] (getuid): New function (stub).
23549 [!HAVE_GETGID] (getgid): Likewise.
23550 [!HAVE_LSTAT] (lstat): Likewise.
23551 [!S_IROTH] (S_IROTH): New macro (dummy).
23552 [!S_IRGRP] (S_IRGRP): Likewise.
23553
84b860d8
RM
235542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23555
23556 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23557 conditional expression).
23558
66e9b712
RM
235592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23560
23561 Import from Gnulib.
23562
23563 * gnulib/fnmatch.c: New file.
23564 * gnulib/fnmatch.h: Likewise.
23565 * gnulib/fnmatch_loop.c: Likewise.
23566 * gnulib/getopt.c: Likewise.
23567 * gnulib/getopt.h: Likewise.
23568 * gnulib/getopt1.c: Likewise.
23569 * gnulib/getopt_int.h: Likewise.
23570 * gnulib/gettext.h: Likewise.
23571
34f4a5b0
RM
235722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23573
23574 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23575 * normal/handler.c (read_handler_list): Likewise.
23576
ac451143
RM
235772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23578
23579 Misc cleanup.
23580
23581 * kern/command.c (grub_register_command_prio): Use
23582 grub_zalloc() instead of explicitly zeroing data.
23583 * kern/list.c: Include `<grub/mm.h>'.
23584 (grub_named_list_find): Replace `0' with `NULL'.
23585 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23586 (fs_module_list): Change type to `grub_named_list_t'. Update all
23587 users.
23588 * normal/dyncmd.c (read_command_list): Add space between function
23589 call and parenthesis.
23590 * normal/handler.c (read_handler_list): Likewise.
23591
4089b167
RM
235922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23593
23594 * normal/auth.c (punishment_delay): Moved from here ...
23595 (grub_auth_strcmp): ... to here (inside function).
23596
325f5037
RM
235972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23598
23599 * include/grub/list.h (struct grub_named_list): Remove `const'
23600 qualifier from `name'.
23601 (struct grub_prio_list): Likewise.
23602
7aea29a3
RM
236032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23604
23605 * normal/auth.c: Include `<grub/time.h>'.
23606 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23607
3fd6f044
RM
236082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23609
23610 * normal/auth.c (punishment_delay): New variable.
23611 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23612 (grub_auth_check_authentication): Punish failed login attempts with
23613 an incremental (2^N) delay.
23614
a4cd68e4
RM
236152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23616
23617 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23618 path with $(srcdir).
23619
7ad12f43
VS
236202009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23623
c1129f03
RM
236242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23625
23626 * util/i386/coreboot/grub-mkrescue.in: New file.
23627 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23628 variables.
23629
23630 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23631 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23632 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23633 requirements.
23634 * util/mkisofs/defaults.h: New file.
23635 * util/mkisofs/eltorito.c: Likewise.
23636 * util/mkisofs/exclude.h: Likewise.
23637 * util/mkisofs/fnmatch.c: Likewise.
23638 * util/mkisofs/getopt.c: Likewise.
23639 * util/mkisofs/getopt1.c: Likewise.
23640 * util/mkisofs/hash.c: Likewise.
23641 * util/mkisofs/include/fctldefs.h: Likewise.
23642 * util/mkisofs/include/mconfig.h: Likewise.
23643 * util/mkisofs/include/prototyp.h: Likewise.
23644 * util/mkisofs/include/statdefs.h: Likewise.
23645 * util/mkisofs/iso9660.h: Likewise.
23646 * util/mkisofs/joliet.c: Likewise.
23647 * util/mkisofs/match.c: Likewise.
23648 * util/mkisofs/match.h: Likewise.
23649 * util/mkisofs/mkisofs.c: Likewise.
23650 * util/mkisofs/mkisofs.h: Likewise.
23651 * util/mkisofs/multi.c: Likewise.
23652 * util/mkisofs/name.c: Likewise.
23653 * util/mkisofs/rock.c: Likewise.
23654 * util/mkisofs/tree.c: Likewise.
23655 * util/mkisofs/write.c: Likewise.
23656
ec8bb77d
VS
236572009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23658
23659 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23660 being insecure.
23661
3716b12c
RM
236622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23663
23664 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23665 `grub-mkimage' (and use $0 when possible).
23666
b97b7b91
RM
236672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23668
23669 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23670 error message for excessively large memory map.
23671
04114812
RM
236722009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23673
23674 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23675 executable bit.
23676
e4eb2373
RM
236772009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23678
23679 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23680 message for coreboot users.
23681
c926e1d5 236822009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23683
23684 Fix build with GNU gold.
23685
23686 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23687 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23688 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23689 link addresses.
23690 * aclocal.m4: Likewise.
23691
86e5b1db 236922009-11-04 Felix Zielcke <fzielcke@z-51.de>
23693
23694 * configure.ac (AC_PREREQ): Bump to 2.59d.
23695 * INSTALL: Make it more clear when Autoconf and Ruby are
23696 needed and when to run `./autogen.sh'.
23697
246cd78f 236982009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23699
23700 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23701 OSes.
23702
4f9dfb37 237032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23704
23705 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23706
b82bd5e1 237072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23708
23709 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23710 giving it to GNU Mach.
23711
ff1a9bca 237122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23713
23714 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23715 GNU partition number to get internal GRUB partition number.
23716
61697d9c 237172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23718
23719 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23720 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23721
a50569e1 237222009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23723
23724 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23725 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23726 case.
23727
5b153867 237282009-11-01 Felix Zielcke <fzielcke@z-51.de>
23729
23730 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23731
d9e2cd70 237322009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23733
23734 Fix build problem.
23735
23736 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23737 `-isystem=$(srcdir)/include'.
23738
805111a4 237392009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23740
23741 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23742 checked (grub-install doesn't currently rely on it).
23743
fa6e945f 237442009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23745
23746 Revert SVN r2660.
23747
23748 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23749 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23750 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23751 * conf/i386-ieee1275.rmk: Likewise.
23752 * conf/i386-pc.rmk: Likewise.
23753 * conf/powerpc-ieee1275.rmk: Likewise.
23754 * conf/sparc64-ieee1275.rmk: Likewise.
23755 * conf/x86_64-efi.rmk: Likewise.
23756
cee15086 237572009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23758
23759 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23760
95b9239e 237612009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23762
23763 * include/grub/misc.h: Stop checking for APPLE_CC.
23764
2ed19dfd 237652009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23766
23767 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23768 doesn't cause an infinite call loop.
23769
fdcdde19 237702009-10-28 Felix Zielcke <fzielcke@z-51.de>
23771
23772 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23773 strings.
23774
cefabfe1 237752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23776
23777 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23778 variable.
23779 * Makefile.in: Likewise.
23780
ed96ab6d 237812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23782
23783 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23784
0579b753 237852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23786
23787 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23788
478df409 237892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23790
23791 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23792
083d1679 237932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23794
23795 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23796 from here ...
23797 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23798
5947ae32 237992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23800
23801 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23802 in $(MAKEINFO) invocation. This makes it clear in output that
23803 errors are being ignored.
23804
94180ff6 238052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23806
23807 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23808 from here ...
23809 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23810 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23811 * conf/i386-ieee1275.rmk: Likewise.
23812 * conf/i386-pc.rmk: Likewise.
23813 * conf/powerpc-ieee1275.rmk: Likewise.
23814 * conf/sparc64-ieee1275.rmk: Likewise.
23815 * conf/x86_64-efi.rmk: Likewise.
23816
9031b03a 238172009-10-26 Colin Watson <cjwatson@ubuntu.com>
23818
23819 * util/grub-editenv.c (main): If only a command is given, use
23820 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23821 (usage): FILENAME is now optional and has a default.
23822
e4f6809b 238232009-10-26 Colin Watson <cjwatson@ubuntu.com>
23824
23825 Improve grub-mkconfig performance when there are several menu
23826 entries on a single filesystem.
23827
23828 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23829 prepare_grub_to_access_device.
23830 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23831 * util/grub.d/30_os-prober.in: Likewise.
23832
67937d4d 238332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23834
23835 * util/grub.d/10_freebsd.in: Remove.
23836 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23837 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23838
ee3756cc 238392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23840
5c35048e 23841 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23842
4dea1c6f 238432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23844
23845 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23846 grub_util_error() call.
23847
042484d7 238482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23849
23850 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23851 `reserved_first_sector' member.
23852 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23853 `reserved_first_sector' to 1.
23854 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23855 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23856 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23857 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23858 filesystems which begin at first sector.
23859 (options): New option --skip-fs-probe.
23860 (main): Handle --skip-fs-probe and pass it to setup().
23861
d64448a7 238622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23863
23864 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23865 (memset): Fix function prototype.
23866
508d42ec 238672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
238682009-10-25 Vasily Averin <vvs@parallels.com>
23869
23870 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23871 `dirent.direntlen == 0'.
23872
b240e30c 238732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23874
23875 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23876 `cpio'.
23877 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23878
346e7fbe 238792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23880
23881 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23882 `__trampoline_setup' and `__ucmpdi2'.
23883 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23884 that libgcc provides.
23885
cdb308b0 238862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23887
23888 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23889 * include/grub/sparc64/libgcc.h (memset): Likewise.
23890 * include/grub/misc.h (memset, memcmp): New function prototypes.
23891
fb26abc2 238922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23893
23894 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23895 `cpio'.
23896 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23897
f6693890 238982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23899
23900 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23901 * docs/grub.cfg: Compensate for recent change in multiboot
23902 loader (since 2009-08-14 it won't pass filename to payload).
23903 * util/grub.d/10_hurd.in: Likewise.
23904
0933cdc0 239052009-10-21 Felix Zielcke <fzielcke@z-51.de>
23906
23907 * config.guess: Update to latest version from config git
23908 repository.
23909 * config.sub: Likewise.
23910
3b2fe8c2 239112009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23912
23913 Fix build on sparc64.
23914
23915 * configure.ac: Perform checks for libgcc symbols before
23916 adding `-nostdlib' to LDFLAGS.
23917
46695a62 239182009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 Let user specify OpenBSD root device.
23921
23922 * loader/i386/bsd.c (openbsd_root): New variable.
23923 (openbsd_opts): New option 'root'.
23924 (OPENBSD_ROOT_ARG): New macro.
23925 (grub_openbsd_boot): Use 'openbsd_root'.
23926 (grub_cmd_openbsd): Fill 'openbsd_root'.
23927
d2b6b7fc 239282009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23929
23930 * NEWS: Misc adjustments.
23931
421bd7ac 239322009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23933
23934 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23935
f1d29d87 239362009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23937
23938 * configure.ac: Bump version to 1.97.
23939
6f3cd880 239402009-10-16 Colin Watson <cjwatson@ubuntu.com>
23941
23942 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23943 -mno-3dnow on x86 architectures. Some toolchains enable these
23944 features by default, but they rely on registers that aren't enabled
23945 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23946
035f7122 239472009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23948
23949 Make entry text a bit more readable.
23950
23951 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23952
44998e58 239532009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23954
23955 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23956
cd2851b3 239572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23958
23959 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23960 operations.
23961
c6f3b249 239622009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23963
23964 * configure.ac: Add missing dollar.
23965
6b5886ba 239662009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23967
23968 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23969
23970 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23971 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23972 exports.
23973 * include/grub/sparc64/libgcc.h: Likewise. Use
23974 preprocessor conditionals.
23975
e9d66f6d 239762009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23977
23978 * conf/common.rmk (grub-dumpbios): Remove rule.
23979 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23980 * util/grub-dumpbios.in: Remove file.
23981
9155bc17 239822009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23983
23984 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23985 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23986
23987 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23988 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23989 users.
23990
23991 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23992 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23993 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23994 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23995 users.
23996
bf7f7a18 239972009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23998
23999 * term/tparm.c: Switch to GPLv3.
24000
86564c26 240012009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24002
24003 * include/grub/i386/cpuid.h: Add header protection.
24004
5c936493 240052009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24006
24007 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24008
24009 * include/grub/i386/cpuid.h: New file.
24010 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24011 (has_longmode): Rename to ...
24012 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24013 `static' attribute.
24014 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24015 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24016 on a CPU that doesn't implement AMD64 instruction set.
24017
186e7cf2 240182009-10-06 Colin Watson <cjwatson@ubuntu.com>
24019
24020 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24021 that version.texi is rebuilt on version number changes.
24022
83b65c4a 240232009-10-06 Colin Watson <cjwatson@ubuntu.com>
24024
24025 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24026 Fixes bug #27602.
24027
d244281c 240282009-10-06 Colin Watson <cjwatson@ubuntu.com>
24029
24030 * util/i386/pc/grub-install.in: Source
24031 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24032 that the --grub-probe option will work.
24033 * util/sparc64/ieee1275/grub-install.in: Likewise.
24034
da25306d 240352009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24036
24037 * configure.ac: Bump version to 1.97~beta4.
24038
e8ee83c0 240392009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24040
24041 Resync grub-mkdevicemap in x86_64-efi.
24042
24043 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24044 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24045 `util/devicemap.c'.
24046
50dcabcf 240472009-10-01 Colin Watson <cjwatson@ubuntu.com>
24048
24049 * util/grub-editenv.c (create_envblk_file): Write new block with a
24050 .new suffix and then rename it into place, to ensure atomic
24051 creation.
24052
0e51c3a7 240532009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24054
24055 Do not automatically install headers.
24056
24057 * Makefile.in (include_DATA): Remove. Update all users.
24058
31299a95 240592009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24060
24061 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24062 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24063
24064 * util/osdetect.lua: Remove.
24065 * script/lua/lauxlib.c: Likewise.
24066 * script/lua/ldebug.c: Likewise.
24067 * script/lua/grub_main.c: Likewise.
24068 * script/lua/lauxlib.h: Likewise.
24069 * script/lua/ldebug.h: Likewise.
24070 * script/lua/ltablib.c: Likewise.
24071 * script/lua/liolib.c: Likewise.
24072 * script/lua/lstrlib.c: Likewise.
24073 * script/lua/lualib.h: Likewise.
24074 * script/lua/ldo.c: Likewise.
24075 * script/lua/ldump.c: Likewise.
24076 * script/lua/ldo.h: Likewise.
24077 * script/lua/loslib.c: Likewise.
24078 * script/lua/lundump.c: Likewise.
24079 * script/lua/grub_lib.c: Likewise.
24080 * script/lua/ldblib.c: Likewise.
24081 * script/lua/lundump.h: Likewise.
24082 * script/lua/lmem.c: Likewise.
24083 * script/lua/grub_lib.h: Likewise.
24084 * script/lua/lmathlib.c: Likewise.
24085 * script/lua/lstate.c: Likewise.
24086 * script/lua/ltm.c: Likewise.
24087 * script/lua/lvm.c: Likewise.
24088 * script/lua/lmem.h: Likewise.
24089 * script/lua/lstate.h: Likewise.
24090 * script/lua/ltm.h: Likewise.
24091 * script/lua/ltable.c: Likewise.
24092 * script/lua/lvm.h: Likewise.
24093 * script/lua/llex.c: Likewise.
24094 * script/lua/lgc.c: Likewise.
24095 * script/lua/grub_lua.h: Likewise.
24096 * script/lua/loadlib.c: Likewise.
24097 * script/lua/lfunc.c: Likewise.
24098 * script/lua/lopcodes.c: Likewise.
24099 * script/lua/lparser.c: Likewise.
24100 * script/lua/ltable.h: Likewise.
24101 * script/lua/llex.h: Likewise.
24102 * script/lua/lgc.h: Likewise.
24103 * script/lua/lfunc.h: Likewise.
24104 * script/lua/lbaselib.c: Likewise.
24105 * script/lua/lopcodes.h: Likewise.
24106 * script/lua/lparser.h: Likewise.
24107 * script/lua/lzio.c: Likewise.
24108 * script/lua/linit.c: Likewise.
24109 * script/lua/lobject.c: Likewise.
24110 * script/lua/llimits.h: Likewise.
24111 * script/lua/lstring.c: Likewise.
24112 * script/lua/lzio.h: Likewise.
24113 * script/lua/lapi.c: Likewise.
24114 * script/lua/lcode.c: Likewise.
24115 * script/lua/lua.h: Likewise.
24116 * script/lua/lobject.h: Likewise.
24117 * script/lua/lstring.h: Likewise.
24118 * script/lua/lapi.h: Likewise.
24119 * script/lua/lcode.h: Likewise.
24120 * script/lua/luaconf.h: Likewise.
24121
cb8a2c38 241222009-09-26 Colin Watson <cjwatson@ubuntu.com>
24123
24124 * docs/grub.texi (Command-line and menu entry commands): Document
24125 date and echo commands.
24126
6b9b6276 241272009-09-24 Pavel Roskin <proski@gnu.org>
24128
24129 * include/grub/kernel.h (struct grub_module_header): Remove
24130 `grub_module_header_types'. Make `type' unsigned. Make `size'
24131 32-bit on all platforms.
24132 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24133 8-bit field. Use grub_host_to_target32() for `size'.
24134 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24135 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24136 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24137
4e5a02a7 241382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24139
24140 Fix "lost keypress" bug in at_keyboard.
24141
24142 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24143 Checks for readyness of input buffer (without flushing it).
24144 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24145 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24146
c6dcedf6 241472009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24148
24149 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24150 size check within GRUB_MACHINE_PCBIOS section.
24151
74c958b1 241522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24153
24154 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24155 return value.
24156 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24157 KEYBOARD_ISREADY check.
24158 (grub_at_keyboard_checkkey): Rename to ...
24159 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24160 Remove gratuitous cast.
24161
ff420223 241622009-09-23 Colin Watson <cjwatson@ubuntu.com>
24163
24164 * configure.ac: Call AC_PROG_MKDIR_P.
24165 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24166 version.texi in $(builddir) rather than $(srcdir).
24167 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24168 to makeinfo's @include search path.
24169
d96875df 241702009-09-23 Felix Zielcke <fzielcke@z-51.de>
24171
24172 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24173
9b3f8365 241742009-09-23 Felix Zielcke <fzielcke@z-51.de>
24175
24176 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24177 for `*.dpkg-new'.
24178
c44c90db 241792009-09-21 Colin Watson <cjwatson@ubuntu.com>
24180
24181 Build info documentation. Some code borrowed from Automake.
24182
24183 * configure.ac: Check for makeinfo.
24184 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24185 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24186 docs/version.texi.
24187 (MOSTLYCLEANFILES): Add vti.tmp.
24188 (docs/version.texi, docs/stamp-vti): Update automatically.
24189 (docs/grub.info): Build info documentation. Use --force and ignore
24190 errors for now.
24191 (all-local): Add $(INFOS).
24192 (install-local): Install info files.
24193 (uninstall): Uninstall info files.
24194 * docs/version.texi: Remove from revision control. This file is
24195 automatically generated on build now.
24196 * gendistlist.sh: Add `*.info'.
24197
e0b37bb5 241982009-09-21 Felix Zielcke <fzielcke@z-51.de>
24199
24200 * kern/term.c: Fix indentation.
24201
5a78865b 242022009-09-21 Felix Zielcke <fzielcke@z-51.de>
24203
24204 * util/hostdisk.c: Fix a comment.
24205
dace7e8a 242062009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24207
24208 Fix regression introduced in r2539.
24209
24210 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24211 to 0xA1.
24212
a83d079b 242132009-09-19 Colin Watson <cjwatson@ubuntu.com>
24214
24215 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24216 os-prober. Under normal operation, it does not print anything to
24217 stderr; if it does, we need to debug it, and throwing away stderr
24218 makes that excessively difficult.
a83d079b 24219
be94a509 242202009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24221
24222 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24223
63f745e8 242242009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24225
24226 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24227 AC_LANG_PROGRAM from autoconf.
24228 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24229 prototypes (fixes warning).
24230
24231 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24232 `--disable-werror' was used.
24233
bbb2a70f 242342009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24235
24236 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24237 uninitialized `lastaddr'.
24238
77c24f1d 242392009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24240
0f0b8c87 24241 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24242
07197f23 242432009-09-14 Colin Watson <cjwatson@ubuntu.com>
24244
24245 * commands/test.c (get_fileinfo): Return immediately if
24246 grub_fs_probe fails.
24247
dabf1798 242482009-09-14 José Martínez <xosemp@gmail.com>
24249
24250 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24251
d52109a7 242522009-09-14 Colin Watson <cjwatson@ubuntu.com>
24253
24254 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24255 output.
24256
56532179 242572009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24258
24259 * configure.ac: Remove --enable-grub-pe2elf. Only build
24260 grub-pe2elf when needed by the build system itself.
24261 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24262
8ef070f5 242632009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24264
24265 * configure.ac: Bump version to 1.97~beta3.
24266 * docs/version.texi: Likewise.
24267
61229557 242682009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24269
24270 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24271 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24272 from here ...
24273 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24274 (grub_linux_setup_video): ... to here (with some adjustments).
24275
5c9f8d84 242762009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24277
24278 Fix memory corruption issue (spotted by Colin Watson).
24279
24280 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24281 causing returned size to be stored in an incorrect memory location.
24282 Fix use of uninitialized value when storing the returned size.
24283
e8f5d6e9 242842009-09-12 Yves Blusseau <blusseau@zetam.org>
24285
24286 Change clean rules to properly remove files
24287
24288 * genmk.rb: add new clean rules
24289 * Makefile.in (clean): add the new targets
24290 (mostlyclean): likewise
24291
cda2a409 242922009-09-11 Colin Watson <cjwatson@ubuntu.com>
24293
24294 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24295 to grub_uint64_t.
24296 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24297 non-resident files.
24298
86695375 242992009-09-11 Colin Watson <cjwatson@ubuntu.com>
24300
24301 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24302 part of bug #27349.
24303
8aa1541a 243042009-09-10 Felix Zielcke <fzielcke@z-51.de>
24305
24306 * util/grub-mkconfig.in: Make the created config mode 400 and
24307 print a warning if it fails.
24308
48d9bb0a 243092009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24310
24311 * util/grub.d/40_custom.in: Ask user to type custom entries below
24312 comment, rather than below 'exec tail' line.
24313
3b0521be 243142009-09-10 Colin Watson <cjwatson@ubuntu.com>
24315
24316 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24317 visible in grub.cfg.
24318
50051d55 243192009-09-10 Colin Watson <cjwatson@ubuntu.com>
24320
24321 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24322 file.
24323
c0d34387 243242009-09-10 Felix Zielcke <fzielcke@z-51.de>
24325
24326 * docs/grub.cfg: Add an example menu entry for memtest86+.
24327
80a608f3 243282009-09-09 Felix Zielcke <fzielcke@z-51.de>
24329
a2094832 24330 * config.guess: Update to latest version from config git.
80a608f3 24331 * config.sub: Likewise.
24332
99423078 243332009-09-08 Colin Watson <cjwatson@ubuntu.com>
24334
24335 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24336 unknown-command case. Fixes bug #27320.
24337
44454e4c 243382009-09-08 Felix Zielcke <fzielcke@z-51.de>
24339
24340 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24341 `help' if the command exists.
24342
e30d87ad 243432009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24344
24345 * INSTALL: Require GCC 4.1.3 or later.
24346
9a86f1ec 243472009-09-06 Yves Blusseau <blusseau@zetam.org>
24348
24349 * Makefile.in (RMKFILES): add i386-qemu.rmk
24350 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24351 $(srcdir)/stamp-h.in
24352
7f26d466 243532009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24354
24355 * util/grub-probe.c (probe): Comment out buggy codepath, which
24356 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24357 should be re-enabled after 1.97.
24358
3a613259 243592009-09-05 Felix Zielcke <fzielcke@z-51.de>
24360
24361 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24362 find searches for.
24363
197f76c7 243642009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24365
24366 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24367 unnecessary calls to grub_error.
24368
70ba68ce 243692009-09-04 Colin Watson <cjwatson@ubuntu.com>
24370
24371 * NEWS: Mention `keystatus' and Unicode fonts.
24372
4ff0d7a4 243732009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24374
24375 * configure.ac: Bump version to 1.97~beta2.
24376 * docs/version.texi: Likewise.
24377
77c55a87 243782009-09-03 Colin Watson <cjwatson@ubuntu.com>
24379
24380 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24381 containing unwind information in some cases where it previously did
24382 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24383 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24384 discussion.
24385
f79572cd 243862009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24387
24388 Embedding loadenv module into grub-emu
24389
24390 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24391 commands/loadenv.c
24392 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24393 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24396 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24397 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24398
93a81088 243992009-09-03 Magnus Granberg <zorry@ume.nu>
24400
24401 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24402 include -fPIE in the default specs.
24403 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24404 to TARGET_CFLAGS.
24405
160034b2 244062009-09-03 Felix Zielcke <fzielcke@z-51.de>
24407
24408 * INSTALL: Note that GNU Bison 2.3 or later is required.
24409
087c07c4 244102009-09-03 Colin Watson <cjwatson@ubuntu.com>
24411
24412 * kern/i386/pc/startup.S: Fix typo.
24413
cbf978c0 244142009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24415
24416 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24417 according to GCS.
24418
244192009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24420
24421 * docs/grub.texi (Naming convention): Describe one-based partition
24422 numbering.
24423 (Device syntax): Likewise.
24424 (File name syntax): Likewise.
24425 (Block list syntax): Likewise.
24426 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24427 menu.lst.
24428 (File name syntax): Likewise.
24429 (Command-line and menu entry commands): Document acpi, blocklist,
24430 crc, export, insmod, keystatus, ls, set, and unset commands.
24431
f3e8cdfd 244322009-09-02 Colin Watson <cjwatson@ubuntu.com>
24433
24434 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24435 to avoid implying that only one of --shift, --ctrl, or --alt may be
24436 used.
24437
c0bc232b 244382009-09-02 Colin Watson <cjwatson@ubuntu.com>
24439
24440 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24441 rather than comparing against S_IFREG, which will almost never work.
24442
aa0f752d 244432009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24444
24445 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24446 (write_blocklists): Likewise.
24447
ecb3166a 244482009-09-01 Colin Watson <cjwatson@ubuntu.com>
24449
24450 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24451 argument to grub_printf.
24452
c403a125 244532009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24454
24455 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24456 non GNU test.
31aba781 24457
b5e7312c 244582009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24459
24460 * kern/file.c (grub_file_read): Spelling fix
24461
fe00f472 244622009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24463
24464 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24465 loading of headers in some cases.
24466
cc55302e 244672009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24468
24469 * configure.ac: Bump version to 1.97~beta1.
24470 * docs/version.texi: Likewise.
24471
5c90cdd2 244722009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24473
24474 * include/grub/i386/xnu.h: Add license header.
24475 include grub/err.h explicitly.
24476
c90edae4 244772009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24478
24479 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24480 to `ufs' in the vfs.root.mountfrom kernel parameter.
24481
d8888b5c 244822009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24483
24484 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24485
24486 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24487 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24488
24489 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24490 `ARRAY_SIZE' macro.
24491
6f07b921 244922009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24493
24494 * kern/file.c (grub_file_read): Check offset.
24495 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24496 * fs/jfs.c (grub_jfs_read_file): Likewise.
24497 * fs/ntfs.c (grub_ntfs_read): Likewise.
24498 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24499 * fs/minix.c (grub_minix_read_file): Correct offset check.
24500 * fs/ufs.c (grub_ufs_read_file): Likewise.
24501
b4f34077 245022009-08-28 Colin Watson <cjwatson@ubuntu.com>
24503
24504 * term/i386/pc/console.c (bios_data_area): Cast
24505 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24506
e7c69859 245072009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24508
24509 1-bit optimised blitters.
24510
24511 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24512 prototype.
24513 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24514 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24515 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24516 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24517 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24518 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24519 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24520 function.
24521 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24522 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24523 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24524 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24525 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24526 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24527 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24528 when possible.
24529 * video/video.c (grub_video_get_blit_format): Return
24530 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24531
a57da43f 245322009-08-28 Colin Watson <cjwatson@ubuntu.com>
24533
24534 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24535 the first argument to grub_printf.
24536
4cbe67e5 245372009-08-28 Colin Watson <cjwatson@ubuntu.com>
245382009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24539
24540 Add `getkeystatus' terminal method. Add a new `keystatus' command
24541 to query it.
24542
24543 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24544 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24545 modifier key bitmasks.
24546 (struct grub_term_input): Add `getkeystatus' member.
24547 (grub_getkeystatus): Add prototype.
24548 * kern/term.c (grub_getkeystatus): New function.
24549
24550 * include/grub/i386/pc/memory.h
24551 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24552 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24553 Data Area layout.
24554 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24555 (grub_console_term_input): Set `getkeystatus' member.
24556 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24557 constants.
24558 (grub_usb_keyboard_getreport): Likewise.
24559 (grub_usb_keyboard_checkkey): Likewise.
24560 (grub_usb_keyboard_getkeystatus): New function.
24561 (grub_usb_keyboard_term): Set `getkeystatus' member.
24562
24563 * commands/keystatus.c: New file.
24564 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24565 (keystatus_mod_SOURCES): New variable.
24566 (keystatus_mod_CFLAGS): Likewise.
24567 (keystatus_mod_LDFLAGS): Likewise.
24568 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24569 commands/keystatus.c.
24570 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24571 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24572 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24575 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24576
6e2a9085 245772009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24578
24579 Split befs.mod and afs.mod into *_be.mod and *.mod
24580
24581 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24582 (grub_fstest_SOURCES): Likewise.
24583 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24584 (afs_be_mod_SOURCES): New variable.
24585 (afs_be_mod_CFLAGS): Likewise.
24586 (afs_be_mod_LDFLAGS): Likewise.
24587 (befs_be_mod_SOURCES): Likewise.
24588 (befs_be_mod_CFLAGS): Likewise.
24589 (befs_be_mod_LDFLAGS): Likewise.
24590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24591 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24592 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24593 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24594 (grub_emu_SOURCES): Likewise.
24595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24596 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24597 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24598 * fs/afs_be.c: New file.
24599 * fs/befs_be.c: New file.
24600 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24601 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24602 (U16): Replaced with ...
24603 (grub_afs_to_cpu16): ...this. All users updated.
24604 (U32): Replaced with ...
24605 (grub_afs_to_cpu32): ...this. All users updated.
24606 (U64): Replaced with ...
24607 (grub_afs_to_cpu64): ...this. All users updated.
24608 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24609 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24610 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24611 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24612 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24613 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24614 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24615 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24616 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24617 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24618 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24619
32a71655 246202009-08-26 Bean <bean123ch@gmail.com>
24621
24622 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24623 64-bit number.
24624 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24625 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24626 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24627
552bf6c5 246282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24629
24630 NetBSD memory map support.
24631
24632 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24633 (grub_netbsd_btinfo_mmap_header): New structure.
24634 (grub_netbsd_btinfo_mmap_entry): Likewise.
24635 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24636
1ae2078c 246372009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24638
24639 Enable bsd.mod on coreboot.
24640
24641 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24642 (bsd_mod_SOURCES): New variable.
24643 (bsd_mod_CFLAGS): Likewise.
24644 (bsd_mod_LDFLAGS): Likewise.
24645 (bsd_mod_ASFLAGS): Likewise.
24646 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24647 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24648
beefc598 246492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24650
24651 Cleanup NetBSD root support.
24652
24653 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24654 grub_bsd_get_device.
24655 Fix typo.
24656
3b76e68b 246572009-08-25 Felix Zielcke <fzielcke@z-51.de>
24658
24659 * util/grub.d/00_header.in: Move check for the video backend of
24660 gfxterm from here ...
24661 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24662 a suitable video backend.
24663
aea664ea 246642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24665
24666 Fix breakage in grub-setup.
24667
24668 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24669 "msdos_partition_map".
24670
ff747d50 246712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24672
24673 Fix breakage in normal/auth.c.
24674
24675 * normal/auth.c (grub_iswordseparator): New function.
24676
e7e1f93f 246772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24678
24679 Authentication support.
24680
24681 * commands/password.c: New file.
24682 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24683 (password_mod_SOURCES): New variable.
24684 (password_mod_CFLAGS): Likewise.
24685 (password_mod_LDFLAGS): Likewise.
24686 (normal_mod_SOURCES): Add normal/auth.c.
24687 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24688 normal/auth.c.
24689 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24690 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24691 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24693 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24694 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24695 * include/grub/auth.h: New file.
24696 * include/grub/err.h (grub_err_t): New enum value
24697 GRUB_ERR_ACCESS_DENIED.
24698 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24699 'users'.
24700 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24701 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24702 users updated.
24703 * normal/auth.c: New file.
24704 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24705 (grub_cmdline_run): Don't allow to go to command line without
24706 authentication.
24707 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24708 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24709 menuentry without superuser rights.
24710 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24711 user isn't a superuser.
24712
70f1161d 247132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24714
24715 Save space by inlining misc.c functions.
24716
24717 * kern/misc.c (grub_iswordseparator): Made static.
24718 * kern/misc.c (grub_strcat): Moved from here ...
24719 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24720 * kern/misc.c (grub_strncat): Moved from here ...
24721 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24722 * kern/misc.c (grub_strcasecmp): Moved from here ...
24723 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24724 * kern/misc.c (grub_strncasecmp): Moved from here ...
24725 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24726 * kern/misc.c (grub_isalpha): Moved from here ...
24727 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24728 * kern/misc.c (grub_isdigit): Moved from here ...
24729 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24730 * kern/misc.c (grub_isgraph): Moved from here ...
24731 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24732 * kern/misc.c (grub_tolower): Moved from here ...
24733 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24734
48e40bff 247352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24736
24737 * script/sh/function.c (grub_script_function_find): Cut error message
24738 not to flood terminal.
24739 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24740 limit.
24741 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24742
c385bfc3 247432009-08-24 Colin Watson <cjwatson@ubuntu.com>
24744
24745 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24746 `report' grub_uint8_t *.
24747 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24748 Use a 50-millisecond timeout rather than just repeating
24749 grub_usb_keyboard_getreport 50 times.
24750 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24751
2d21e3e8 247522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24753
24754 Rename *_partition_map to part_*
24755
24756 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24757 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24758 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24759 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24760 All users updated.
24761 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24762 All users updated.
24763 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24764 * util/grub-probe.c (probe_partmap): Don't transform partition name
24765 to get module name.
24766
dd103c4e 247672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24768
24769 Fix OpenBSD and NetBSD support.
24770
24771 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24772 memory address conflict.
24773 (OPENBSD_MMAP_ACPI): New definition.
24774 (OPENBSD_MMAP_NVS): Likewise.
24775 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24776 and OPENBSD_MMAP_NVS.
24777 Add memory map terminator
24778 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24779 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24780
16c84d74 247812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24782
24783 Let user specify NetBSD root device.
24784
24785 * loader/i386/bsd.c (netbsd_root): New variable.
24786 (netbsd_opts): New option 'root'.
24787 (NETBSD_ROOT_ARG): New macro.
24788 (grub_netbsd_boot): Use 'netbsd_root'.
24789 (grub_bsd_unload): Free 'netbsd_root'.
24790 (grub_cmd_netbsd): Fill 'netbsd_root'.
24791
adb29902 247922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24793
24794 Support for 64-bit NetBSD.
24795
24796 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24797 point when booting non-FreeBSD.
24798
f5ae9f74 247992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 Support --no-smp and --no-acpi for NetBSD.
24802
24803 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24804 (NETBSD_AB_NOACPI): Likewise.
24805 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24806 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24807
de74f136 248082009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24811 errors.
24812 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24813 errors. Call grub_error when needed.
24814
e9a925da 248152009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24816
24817 * commands/search.c (search_fs): Try searching without autoload first.
24818 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24819 filesystem module explicitly for faster booting.
24820
5174302b 248212009-08-23 Colin Watson <cjwatson@ubuntu.com>
24822
24823 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24824
c8c80635 248252009-08-23 Colin Watson <cjwatson@ubuntu.com>
24826
24827 * util/grub.d/30_os-prober.in: Disable os-prober if
24828 `GRUB_DISABLE_OS_PROBER' was set to true.
24829
71acf5e5 248302009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24831
24832 * partmap/pc.c: Rename to ...
24833 * partmap/msdos.c: ... this. Update all users.
24834 (grub_pc_partition_map): Rename to ...
24835 (grub_msdos_partition_map): ... this. Update all users.
24836
24837 * parttool/pcpart.c: Rename to ...
24838 * parttool/msdospart.c: ... this. Update all users.
24839
24840 * include/grub/pc_partition.h: Rename to ...
24841 * include/grub/msdos_partition.h: ... this. Update all users.
24842 (grub_pc_partition_bsd_entry): Rename to ...
24843 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24844 (grub_pc_partition_disk_label): Rename to ...
24845 (grub_msdos_partition_disk_label): ... this. Update all users.
24846 (grub_pc_partition_entry): Rename to ...
24847 (grub_msdos_partition_entry): ... this. Update all users.
24848 (grub_pc_partition_mbr): Rename to ...
24849 (grub_msdos_partition_mbr): ... this. Update all users.
24850 (grub_pc_partition): Rename to ...
24851 (grub_msdos_partition): ... this. Update all users.
24852 (grub_pc_partition_is_empty): Rename to ...
24853 (grub_msdos_partition_is_empty): ... this. Update all users.
24854 (grub_pc_partition_is_extended): Rename to ...
24855 (grub_msdos_partition_is_extended): ... this. Update all users.
24856 (grub_pc_partition_is_bsd): Rename to ...
24857 (grub_msdos_partition_is_bsd): ... this. Update all users.
24858
24859 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24860 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24861 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24862 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24863 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24864 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24865 (gpt_mod_LDFLAGS): Rename to ...
24866 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24867 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24868 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24869 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24870 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24871 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24872 (part_gpt_mod_LDFLAGS): ... this.
24873 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24874 `pcpart.mod' to `msdospart.mod'.
24875 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24876 to ...
24877 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24878 (msdospart_mod_LDFLAGS): ... this.
24879
c11fded5 248802009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24881
24882 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24883 (openbsd_opts): Likewise.
24884 (netbsd_opts): Likewise.
24885 (freebsd_flags): Added 0 terminator.
24886 (openbsd_flags): Likewise.
24887 (netbsd_flags): Likewise.
24888 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24889 (grub_cmd_freebsd): Transformed into extended command.
24890 (grub_cmd_openbsd): Likewise.
24891 (grub_cmd_netbsd): Likewise.
24892 (cmd_freebsd): Changed type to grub_extcmd_t.
24893 (cmd_openbsd): Likewise.
24894 (cmd_netbsd): Likewise.
24895 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24896 grub_cmd_openbsd as extended commands.
24897 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24898 cmd_netbsd and cmd_openbsd
24899
11d1c769 249002009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24901
24902 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24903
7a9094e5 249042009-08-21 Pavel Roskin <proski@gnu.org>
24905
5496c37e 24906 * Makefile.in (install-local): When checking if a file is in the
24907 build directory, use "test -e" to detect symlinks.
24908
7a9094e5 24909 * Makefile.in (install-local): Remove all files in
24910 $(DESTDIR)$(pkglibdir) before installing new files there.
24911
e53cea11 249122009-08-18 Felix Zielcke <fzielcke@z-51.de>
24913
24914 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24915 grub-mkelfimage.
24916
9aced544 249172009-08-18 Felix Zielcke <fzielcke@z-51.de>
24918
24919 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24920 explicitly specified by the user.
24921
b7da6bab 249222009-08-18 Pavel Roskin <proski@gnu.org>
24923
24924 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24925 grub_uint8_t pointer for data.
24926 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24927 Likewise.
24928 * video/fb/fbutil.c: Remove unnecessary casts.
24929
19f1b335 249302009-08-17 Michal Suchanek <hramrach@centrum.cz>
24931
24932 VBE cleanup.
24933
24934 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24935 (grub_vbe_set_video_mode): Save active mode info
24936 only after setting the mode.
24937 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24938 second argument.
24939
2f467aa9 249402009-08-17 Michal Suchanek <hramrach@centrum.cz>
24941
24942 Rename variables for clarity.
24943
24944 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24945 (active_vbe_mode_info): ... this. All users updated.
24946 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24947 All users updated.
24948 (initial_mode): Rename to ...
24949 (initial_vbe_mode): ... this. All users updated.
24950 (mode_in_use): Rename to ..
24951 (vbe_mode_in_use): ... this. All users updated.
24952 (mode_list): Rename to ..
24953 (vbe_mode_list): ... this. All users updated.
24954 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24955 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24956 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24957 'mode_list_size' to 'vbe_mode_list_size'.
24958 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24959 'best_mode_info' to 'best_vbe_mode_info' and
24960 'best_mode' to 'best_vbe_mode'
24961
6025fcd7 249622009-08-17 Michal Suchanek <hramrach@centrum.cz>
24963
24964 Remove duplicate grub_video_fb_get_video_ptr.
24965
24966 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24967 (grub_video_fb_get_video_ptr): ... this.
24968 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24969 * video/fb/fbutil.c: Add comment about addressing.
24970 (get_data_ptr): Rename to ...
24971 (grub_video_fb_get_video_ptr): ... this. All users updated.
24972 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24973
cc8c6faf 249742009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24975
24976 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24977 grub_dprintf() that was just added.
24978
08aa61f0 249792009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24980
24981 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24982 (DEFAULT_VIDEO_MODE): Remove macros.
24983 (grub_linux_boot): Remove assumption that Linux has FB support,
24984 and use "text" as default video mode.
24985
7cef4f75 249862009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24987
24988 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24989 grub_dprintf.
24990 * fs/fat.c (grub_fat_read_data): Likewise.
24991
e1f39873 249922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24993
24994 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24995 payload.
24996 (grub_module): Likewise.
24997
c166d79e 249982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24999
25000 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25001 mbi->cmdline but free playground.
25002
c60cee8e 250032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25004
25005 Handle group offset on UFS1.
25006
25007 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25008 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25009
c0d8b5d4 250102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25011
25012 Split ufs.mod into ufs1.mod and ufs2.mod.
25013
25014 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25015 (grub_fstest_SOURCES): Likewise.
25016 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25017 (ufs_mod_SOURCES): Remove.
25018 (ufs_mod_CFLAGS): Likewise.
25019 (ufs_mod_LDFLAGS): Likewise.
25020 (ufs1_mod_SOURCES): New variable.
25021 (ufs1_mod_CFLAGS): Likewise.
25022 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25023 (ufs2_mod_SOURCES): New variable.
25024 (ufs2_mod_CFLAGS): Likewise.
25025 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25027 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25028 Likewise.
25029 (grub_emu_SOURCES): Likewise.
25030 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25031 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25032 (grub_setup_SOURCES): Likewise.
25033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25034 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25035 (grub_setup_SOURCES): Likewise.
25036 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25037 Likewise.
25038 * fs/ufs2.c: New file.
25039 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25040
d3539132 250412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25042
25043 Framebuffer split.
25044
25045 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25046 subsystem at the end.
25047 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25048 (video_fb_mod_SOURCES): New variable.
25049 (video_fb_mod_CFLAGS): Likewise.
25050 (video_fb_mod_LDFLAGS): Likewise.
25051 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25052 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25053 * video/i386/pc/vbeblit.c: Moved from here ...
25054 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25055 * video/i386/pc/vbefill.c: Moved from here ...
25056 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25057 * video/i386/pc/vbeutil.c: Moved from here ...
25058 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25059 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25060 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25061 * include/grub/i386/pc/vbefill.h: Moved from here ...
25062 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25063 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25064 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25065 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25066 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25067 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25068 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25069 (grub_video_adapter): Added 'get_info_and_fini'.
25070 (grub_video_get_info_and_fini): New prototype.
25071 (grub_video_set_mode): make modestring const char *.
25072 * loader/i386/linux.c (grub_linux_setup_video): Use
25073 grub_video_get_info_and_fini.
25074 (grub_linux_boot): Move modesetting just before booting.
25075 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25076 grub_video_get_info_and_fini.
25077 * video/i386/pc/vbe.c: Moved framebuffer part ...
25078 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25079 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25080 grub_video_fbstd_colors and grub_video_fb_set_palette.
25081 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25082 grub_video_fb_init.
25083 (grub_video_vbe_fini): Use grub_video_fb_fini.
25084 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25085 render_target and use grub_video_fb_set_active_render_target and
25086 grub_video_fb_set_palette.
25087 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25088 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25089 (grub_video_vbe_adapter): Use framebuffer.
25090 * video/video.c (grub_video_get_info_and_fini): New function.
25091 (grub_video_set_mode): Make modestring const char *.
25092 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25093 values are already initialised.
25094
d404ee56 250952009-08-14 Pavel Roskin <proski@gnu.org>
25096
25097 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25098 ABS and APPLE_CC.
25099 * boot/i386/pc/diskboot.S: Likewise.
25100 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25101 sectors allow compilation on MacOSX.
25102 * conf/i386-pc.rmk: Enable unconditional compilation of
25103 lnxboot.img.
25104
9a10df16 251052009-08-13 Colin Watson <cjwatson@ubuntu.com>
25106
25107 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25108 * util/grub.d/00_header.in: Enter interruptible sleep if
25109 GRUB_HIDDEN_TIMEOUT is set.
25110
be3c9ca7 251112009-08-13 Yves Blusseau <blusseau@zetam.org>
25112
25113 * include/grub/symbol.h: Add the LOCAL macro.
25114 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25115 starting with "L_".
25116
1f9e557e 251172009-08-13 Pavel Roskin <proski@gnu.org>
25118
9ca62843 25119 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25120 any modern compilers we support.
25121
1f9e557e 25122 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25123 Use local labels starting with "L_" so that Apple assembler
25124 knows they are local.
25125
81623db6 251262009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25127
25128 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25129 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25130 (bsd_kernel_types): ... this enum.
25131
25132 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25133 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25134 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25135
25136 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25137 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25138 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25139 messages.
25140
f5d35e7a 251412009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25142
25143 * util/grub-dumpdevtree: Moved from here ...
25144 * util/i386/efi/grub-dumpdevtree: ... to here.
25145 (hexify): New function. Converts a string to its hex version.
25146 Generate hex versions of "efi" and "device-properties" by calling
25147 hexify() on the ASCII strings rather than by hardcoding numbers.
25148
d1e1d527 251492009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25150
25151 * fs/jfs.c: Update copyright year.
25152
1ebbe064 251532009-08-08 Felix Zielcke <fzielcke@z-51.de>
25154
25155 * util/grub.d/00_header.in: Fix a comment.
25156 * util/grub.d/10_linux.in: Likewise.
25157 * util/grub.d/10_windows.in: Likewise.
25158 * util/grub.d/10_hurd.in: Likewise.
25159
a78c8d24 251602009-08-08 Felix Zielcke <fzielcke@z-51.de>
25161
25162 * util/grub-mkconfig.in: Allow the user to specify the used font
25163 with GRUB_FONT.
25164
29a6b9e8 251652009-08-08 Pavel Roskin <proski@gnu.org>
25166
b5f16cc4 25167 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25168 available, xfs.mod needs it now.
25169
2f5cb827 25170 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25171 the "g" modifier in sed when the intention is to strip something
25172 once. This fixes comparison of kernels with multiple dashes.
25173
29a6b9e8 25174 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25175 on it. Add missing space before closing bracket. Fix
25176 misleading formatting.
25177
892a3d98 251782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25179
25180 * docs/grub.texi: Major overhaul. Remove all sections that are
25181 specific to GRUB Legacy, or mostly composed of Legacy-specific
25182 information.
25183
ed94253f 251842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25185
25186 * docs/version.texi: New file. Provides version information for
25187 grub.texi.
25188
126d6628 251892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25190
25191 * docs/grub.texi: Update CVS information to SVN.
25192 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25193
998b5aa9 251942009-08-07 Felix Zielcke <fzielcke@z-51.de>
25195
25196 * util/grub-mkconfig.in: Remove a wrong `fi'.
25197
818e094a 251982009-08-07 Felix Zielcke <fzielcke@z-51.de>
25199
25200 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25201 (grub_jfs_uuid): New function.
25202 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25203
b969c52f 252042009-08-07 Felix Zielcke <fzielcke@z-51.de>
25205
25206 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25207 of it to ...
25208 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25209 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25210
7a4894cc 252112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25212
25213 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25214 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25215 Update all users.
25216
25217 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25218 not just "vmlinu[zx]".
25219 Moved from here ...
25220 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25221 all users.
25222
25223 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25224 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25225 all users.
25226
4e2171f8 252272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25228
25229 * util/grub.d/10_freebsd.in: Use an absolute device path for
25230 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25231
6dcfcb32 252322009-08-06 Felix Zielcke <fzielcke@z-51.de>
25233
25234 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25235 handling of multiple abstraction modules.
25236
f56a8756 252372009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25238
25239 Fix a bug resulting in black screen when loading Linux using a
25240 packed video mode.
25241
25242 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25243 function.
25244
25245 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25246 (grub_vbe_bios_getset_dac_palette_width): New function.
25247 (grub_vbe_bios_get_dac_palette_width)
25248 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25249 grub_vbe_bios_getset_dac_palette_width()).
25250
25251 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25252 check for return status.
25253 (grub_vbe_get_video_mode_info): When getting information for a packed
25254 mode (<= 8 bpp), obtain DAC palette width using
25255 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25256 {red,green,blue}_mark_size.
25257
222671b2 252582009-08-04 Felix Zielcke <fzielcke@z-51.de>
25259
ecb1a6d9 25260 * commands/search.c (options): Fix help output to match actual code.
222671b2 25261
f84114f5 252622009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25263
25264 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25265 of homegrown code.
25266
bd288a20 252672009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25268
25269 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25270 on XFS or ReiserFS.
25271
8aab5e25 252722009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25273
25274 Support Apple partition map with sector size different from 512 bytes.
25275
25276 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25277 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25278 and 'apart.partmap_size'.
25279
6ad6258a 252802009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
252812009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25282
25283 Fix cpuid command.
25284
25285 * commands/i386/cpuid.c (options): New variable.
25286 (grub_cmd_cpuid): Return real error.
25287 (GRUB_MOD_INIT(cpuid)): Declare options.
25288
67459bc6 252892009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25290
25291 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25292 valid.
25293
fbc6ab54 252942009-07-31 Bean <bean123ch@gmail.com>
25295
25296 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25297 log2_inode.
25298 (grub_fshelp_node): Move inode field to the end.
25299 (grub_xfs_data): Remove inode field.
25300 (grub_xfs_inode_block): Calculate inode size using sblock.
25301 (grub_xfs_inode_offset): Likewise.
25302 (grub_xfs_read_inode): Calculate inode size using sblock.
25303 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25304 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25305 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25306 to match inode size.
25307 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25308 not accessible when data is null.
25309 (grub_xfs_open): Likewise.
25310
f45d6cfc 253112009-07-31 Bean <bean123ch@gmail.com>
25312
25313 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25314 Don't change pv->disk if it's already set.
25315
25316 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25317 (grub_raid_register): ... here.
25318 (grub_raid_rescan): Removed.
25319
25320 * include/grub/raid.h (grub_raid_rescan): Removed.
25321
25322 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25323 (fstest): Replace grub_raid_rescan with module fini function followed
25324 by init function.
25325
25326 * util/grub-probe.c: Add include file <grub/raid.h>.
25327 (probe_raid_level): New function.
25328 (probe): Detect abstraction by walking the disk device, support two
25329 level of abstraction (LVM on RAID) when detecting partition map.
25330
24443b5a 253312009-07-31 Pavel Roskin <proski@gnu.org>
25332
25333 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25334 to grub_zalloc(), it was erroneous.
25335 Reported by Bean <bean123ch@gmail.com>
25336
a275d9e7 253372009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25338
25339 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25340 embedding zone, not only the first one.
a275d9e7 25341
56c5a47f 253422009-07-29 Joe Auricchio <jauricchio@gmail.com>
25343
25344 * term/gfxterm.c (clear_char): New function.
25345 (grub_virtual_screen_setup): Use clear_char.
25346 (scroll_up): Likewise.
25347 (grub_virtual_screen_cls): Likewise.
25348
67bb323a 253492009-07-29 Felix Zielcke <fzielcke@z-51.de>
25350
25351 * util/deviceiter.c (get_acceleraid_disk_name): New static
25352 function.
25353 (grub_util_iterate_devices): Handle Accelraid devices.
25354 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25355
388a7c75 253562009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25357
25358 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25359 separator for the suggested gfxpayload string (';' collides with the
25360 parser and needs escaping).
25361
3bb7abcf 253622009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25363
25364 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25365 Clear direction flag before jumping to OS.
25366 (grub_multiboot2_real_boot): Likewise.
25367
2ddd36d7 253682009-07-28 Felix Zielcke <fzielcke@z-51.de>
25369
25370 * util/i386/pc/grub-install: Fix parsing of --disk-module
25371 option.
25372
c521b62b 253732009-07-28 Felix Zielcke <fzielcke@z-51.de>
25374
25375 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25376 when embedding.
25377
880e0a0c 253782009-07-26 Felix Zielcke <fzielcke@z-51.de>
25379
25380 * util/grub-mkconfig.in (package_version): New variable.
25381 Use it do display the version.
25382
2366e356 253832009-07-25 Felix Zielcke <fzielcke@z-51.de>
25384
25385 * kern/file.c (grub_file_open): Revert to previous check with
25386 grub_errno.
25387
7ad8c80e 253882009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25391 from help line. It's out of sync with code.
25392
72b9658b 253932009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25394
25395 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25396 entries on failed boot.
25397
77435277 253982009-07-25 Felix Zielcke <fzielcke@z-51.de>
25399
25400 * kern/file.c (grub_file_open): Fix an error check.
25401
fcaa8b21 254022009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25403
35d16c74 25404 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25405 partition map couldn't be identified.
fcaa8b21 25406
48904cd1 254072009-07-23 Pavel Roskin <proski@gnu.org>
25408
ef3c317f 25409 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25410 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25411 case of little endian words becomes just an optimization.
25412 Respect const modifier.
ad8ea1f4 25413 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25414
48904cd1 25415 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25416 to avoid loss of upper bits if align is unsigned and shorter
25417 than addr.
25418
260c9a89 254192009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25420
25421 UUID support for UFS
25422
25423 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25424 (grub_ufs_uuid): New function.
25425 (grub_ufs_fs): add .uuid
25426
f76ce889 254272009-07-21 Pavel Roskin <proski@gnu.org>
25428
25429 * kern/dl.c (grub_dl_check_header): Make static.
25430
6a6cbcaf 254312009-07-21 Felix Zielcke <fzielcke@z-51.de>
25432
25433 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25434 add drivemap for Vista. It breaks Windows 7.
25435
cffcddb2 254362009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25437
25438 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25439 128 bytes
25440
1ef44b80 254412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25442
25443 Add BFS support
25444
25445 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25446 (grub_fstest_SOURCES): Likewise.
25447 (pkglib_MODULES): Add befs.mod.
25448 (befs_mod_SOURCES): New variable.
25449 (befs_mod_CFLAGS): Likewise.
25450 (befs_mod_LDFLAGS): Likewise.
25451 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25452 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25454 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25455 (grub_setup_SOURCES): Likewise.
25456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25457 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25458 (grub_setup_SOURCES): Likewise.
25459 * fs/befs.c: New file.
25460 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25461 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25462 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25463 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25464 (B_KEY_INDEX_ALIGN): New declaration.
25465 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25466 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25467 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25468 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25469 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25470 (grub_afs_mount) [MODE_BFS]: Likewise.
25471 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25472 (grub_afs_fs): Use GRUB_AFS_FSNAME
25473 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25474 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25475 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25476 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25477
4f253044 254782009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25479
25480 * util/getroot.c (find_root_device): Add support for MacOSX.
25481 * util/hostdisk.c: Likewise.
25482
57a55913 254832009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25484
25485 * font/font.c (find_glyph): Check whether a font is present to avoid
25486 segmentation fault.
75421ca9 25487
254882009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25489
25490 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25491
e98cd0c2 254922009-07-20 Pavel Roskin <proski@gnu.org>
25493
25494 * configure.ac: Trim excessively wordy excuses.
25495
1d2d169a 254962009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25497
25498 Add symlink, mtime and label support to AtheFS.
25499
25500 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25501 (grub_afs_iterate_dir): Handle symlinks.
25502 (grub_afs_open): Use grub_afs_read_symlink.
25503 (grub_afs_dir): Likewise.
25504 Pass mtime.
25505 (grub_afs_label): New function.
25506 (grub_afs_fs): Add grub_afs_label.
25507 (grub_afs_read_symlink): New function.
25508
186f3189 255092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25510
25511 Fix AtheFS support.
25512
25513 * fs/afs.c: Fix comments style.
25514 (grub_afs_blockrun): Declare as packed.
25515 (grub_afs_datastream): Likewise.
25516 (grub_afs_bnode): Likewise.
25517 (grub_afs_btree): Likewise.
25518 (grub_afs_sblock): Likewise.
25519 Declare `name' as char.
25520 (grub_afs_inode): Declare as packed.
25521 Change void *vnode to grub_uint32_t unused.
25522 (grub_afs_iterate_dir): Check that key_size is positive.
25523 (grub_afs_mount): Don't read superblock twice.
75421ca9 25524 (grub_afs_dir): Don't free node in case of error,
186f3189 25525 grub_fshelp_find_file already handles this.
25526 (grub_afs_open): Likewise.
25527
5680109e 255282009-07-19 Pavel Roskin <proski@gnu.org>
25529
25530 * Makefile.in: Remove LIBLZO and enable_lzo.
25531 * conf/i386-pc.rmk: Remove lzo support.
25532 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25533 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25534 support.
25535 * kern/i386/pc/lzo1x.S: Remove.
25536 * kern/i386/pc/startup.S: Remove lzo support.
25537 * util/i386/pc/grub-mkimage.c: Likewise.
25538
ac70fa32 255392009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25540
25541 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25542 * fs/xfs.c (grub_xfs_dir): Likewise.
25543 * fs/afs.c (grub_afs_dir): Likewise.
25544 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25545 (grub_iso9660_open): Likewise.
25546 * fs/jfs.c (grub_jfs_open): Likewise.
25547 * fs/ext2.c (grub_ext2_dir): Likewise.
25548 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25549 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25550
eab58da2 255512009-07-16 Pavel Roskin <proski@gnu.org>
25552
d2838156 25553 * configure.ac: Never add "-c" to CFLAGS.
25554
55c70904 25555 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25556
43e6200c 25557 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25558 grub_cv_cc_efiemu should be used.
25559
ce7a733d 25560 * configure.ac: Typo fixes.
25561
eab58da2 25562 * kern/mm.c (grub_zalloc): New function.
25563 (grub_debug_zalloc): Likewise.
25564 * include/grub/mm.h: Declare grub_zalloc() and
25565 grub_debug_zalloc().
25566 * util/misc.c (grub_zalloc): New function.
25567 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25568 instead of grub_malloc(), remove unneeded initializations.
25569 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25570 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25571 * commands/parttool.c (grub_cmd_parttool): Likewise.
25572 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25573 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25574 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25575 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25576 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25577 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25578 (grub_cmd_efiemu_pnvram): Likewise.
25579 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25580 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25581 (grub_iso9660_iterate_dir): Likewise.
25582 * fs/jfs.c (grub_jfs_opendir): Likewise.
25583 * fs/ntfs.c (list_file): Likewise.
25584 (grub_ntfs_mount): Likewise.
25585 * kern/disk.c (grub_disk_open): Likewise.
25586 * kern/dl.c (grub_dl_load_core): Likewise.
25587 * kern/elf.c (grub_elf_file): Likewise.
25588 * kern/env.c (grub_env_context_open): Likewise.
25589 (grub_env_set): Likewise.
25590 (grub_env_set_data_slot): Likewise.
25591 * kern/file.c (grub_file_open): Likewise.
25592 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25593 * loader/i386/multiboot.c (grub_module): Likewise.
25594 * loader/xnu.c (grub_xnu_create_key): Likewise.
25595 (grub_xnu_create_value): Likewise.
25596 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25597 (read_config_file): Likewise.
25598 * normal/menu_entry.c (make_screen): Likewise.
25599 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25600 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25601 * script/sh/script.c (grub_script_parse): Likewise.
25602 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25603 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25604 * video/readers/png.c (grub_png_output_byte): Likewise.
25605 (grub_video_reader_png): Likewise.
25606
830afef7 256072009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25608
25609 Enable all targets that can be built by default
25610
830afef7 25611 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25612 grub-mkfont and grub-fstest if they can be built
25613
ee293aee 256142009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25615
25616 Fix hang and segmentation fault in grub-emu-usb
25617
25618 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25619 * util/usb.c (grub_libusb_devices): likewise
25620 (grub_libusb_init): rename to ...
25621 (GRUB_MOD_INIT (libusb)):...this
25622 (grub_libusb_fini): rename to ..
25623 (GRUB_MOD_FINI (libusb)):...this
25624 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25625 * include/grub/disk.h (grub_raid_init): removed, it's useless
25626 (grub_raid_fini): likewise
25627 (grub_lvm_init): likewise
25628 (grub_lvm_fini): likewise
25629 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25630 by grub_init_all
25631
94414221 256322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25633
25634 Fix libusb
25635
25636 * Makefile.in (LIBUSB): new macro
25637 * genmk.rb (Utility/print_tail): new method
25638 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25639 (top level): call util.print_tail at the end.
25640
59ade63d 256412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25642
25643 Make FreeBSD accept zpool.cache
25644
25645 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25646 type is /boot/zfs/zpool.cache
25647
a58da8c7 256482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25649
25650 Fix 64-bit efiemu
25651
25652 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25653 correct wrong typedef
25654 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25655
20591577 256562009-07-15 Pavel Roskin <proski@gnu.org>
25657
560ca572 25658 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25659 * kern/disk.c (struct grub_disk_cache): Likewise.
25660
e8e8e4fd 25661 * commands/probe.c (options): Typo fix.
25662
fde24e10 25663 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25664 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25665 accordingly.
25666 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25667
379c54c1 25668 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25669 the end of "Error" to make the message more readable.
25670
7bd8f5bf 25671 * boot/i386/pc/boot.S (kernel_segment): Remove.
25672 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25673 for destination.
25674
40b132c5 25675 * boot/i386/pc/boot.S (boot_version): Remove.
25676 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25677 Remove.
25678
20591577 25679 * include/grub/i386/pc/boot.h: Sort all offsets.
25680 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25681 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25682 * boot/i386/pc/boot.S: Assert location of every offset listed in
25683 include/grub/i386/pc/boot.h.
25684
2df32b2c 256852009-07-13 Pavel Roskin <proski@gnu.org>
25686
44b5d879 25687 * include/grub/i386/coreboot/machine.h: Rename
25688 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25689 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25690 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25691
17dc3751 25692 * kern/dl.c: Force native word size to suppress warnings when
25693 compiling grub-emu.
25694
2df32b2c 25695 * kern/device.c (grub_device_iterate): Change struct part_ent to
25696 hold the name, not a pointer to it. Use one grub_malloc() per
25697 partition, not two. Free partition_name if grub_malloc() fails.
25698 Set ents to NULL only before grub_partition_iterate() is called.
25699
75c59f59 257002009-07-11 Bean <bean123ch@gmail.com>
25701
25702 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25703 childname.
25704
0ae1bf88 257052009-07-10 Bean <bean123ch@gmail.com>
257062009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25707
25708 * kern/ieee1275/openfw.c (grub_children_iterate)
25709 (grub_devalias_iterate): Fix size evaluation for property or path
25710 strings, which was broken since r2132.
25711
8279cade 257122009-07-07 Pavel Roskin <proski@gnu.org>
25713
7d8a52d3 25714 * commands/search.c (search_file): Merge into ...
25715 (search_fs): ... this. Accept search type as argument.
25716 (grub_cmd_search): Pass search type to search_fs().
25717
25f9a05a 25718 * include/grub/util/console.h: New file.
25719 * util/console.c: Use it instead of grub/machine/console.h.
25720 * util/grub-emu.c: Likewise.
25721
8279cade 25722 * lib/arg.c (find_long_option): Remove.
25723 (find_long): Add `len' argument, make `s' const char *.
25724 (grub_arg_parse): Parse long options in place, not in a
25725 temporary buffer.
25726
4a11b60f 257272009-07-06 Pavel Roskin <proski@gnu.org>
25728
99f68041 25729 * commands/search.c (search_fs): Fix potential NULL pointer
25730 dereference.
25731
4a11b60f 25732 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25733 function pointer.
25734
e110f4de 257352009-07-06 Daniel Mierswa <impulze@impulze.org>
25736
25737 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25738 comparison.
25739
46eeb6a2 257402009-07-05 Pavel Roskin <proski@gnu.org>
25741
bab74958 25742 * include/grub/i386/linux.h (struct linux_kernel_params):
25743 Restore padding3, it's still needed.
25744
46eeb6a2 25745 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25746 FreeBSD.
25747 * util/osdetect.lua: Likewise.
25748
b4a1dc79 257492009-07-05 Bean <bean123ch@gmail.com>
25750
25751 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25752
25753 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25754 (grub_lua_getenv): Likewise.
25755 (grub_lua_setenv): Likewise.
25756 (save_errno): New function.
25757 (push_result): Likewise.
25758 (grub_lua_enum_device): Likewise.
25759 (grub_lua_enum_file): Likewise.
25760 (grub_lua_file_open): Likewise.
25761 (grub_lua_file_close): Likewise.
25762 (grub_lua_file_seek): Likewise.
25763 (grub_lua_file_read): Likewise.
25764 (grub_lua_file_getline): Likewise.
25765 (grub_lua_file_getsize): Likewise.
25766 (grub_lua_file_getpos): Likewise.
25767 (grub_lua_file_eof): Likewise.
25768 (grub_lua_file_exist): Likewise.
25769 (grub_lua_add_menu): Likewise.
25770
25771 * script/lua/grub_lua.h (isupper): New inline function.
25772 (islower): Likewise.
25773 (ispunct): Likewise.
25774 (isxdigit): Likewise.
25775 (strcspn): Change to normal function.
25776 (strpbkr): New function declaration.
25777 (memchr): Likewise.
25778
25779 * script/lua/grub_main.c (scan_str): New function.
25780 (strcspn): Likewise.
25781 (strpbrk): Likewise.
25782 (memchr): Likewise.
25783
25784 * script/lua/linit.c (lualibs): Enable the string library.
25785
25786 * util/osdetect.lua: New file.
25787
2da92295 257882009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25789
25790 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25791 `capabilities' member.
25792
b2582ec9 257932009-07-02 Pavel Roskin <proski@gnu.org>
25794
25795 * genparttoollist.sh: Add missing newline at the end.
25796
32622956 257972009-07-01 Pavel Roskin <proski@gnu.org>
25798
87a7339e 25799 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25800
d23af54e 25801 * util/hostdisk.c (open_device): Remove `const' from
25802 `sysctl_size', as sysctlbyname() can change it (in this case it
25803 doesn't actually happen).
25804
c94b18a9 25805 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25806 using signed long int constants.
25807
c6cd3ef0 25808 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25809 constant to avoid a warning on FreeBSD.
25810
0df63420 25811 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25812 where it's needed.
25813
999577f1 25814 * Makefile.in: Install include/grub/machine symlink.
25815
6f41557f 25816 * Makefile.in: When installing symlinks, use "cp -fR", which
25817 works on FreeBSD and MacOSX.
25818 From Yves Blusseau <cl7m42e02@sneakemail.com>
25819
c8d22988 25820 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25821 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25822
1b96e952 25823 * util/misc.c: Move grub_reboot() and grub_halt() ...
25824 * util/grub-emu.c: ... here. Make main_env static.
25825 * include/grub/util/misc.h: Remove main_env.
25826
2ef0084d 25827 * kern/mm.c: Use correct format to print size_t.
25828
32622956 25829 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25830 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25831 * kern/powerpc/dl.c: Likewise.
25832 * kern/sparc64/dl.c: Likewise.
25833 * kern/x86_64/dl.c: Likewise.
25834
3f7f0cd0 258352009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25836
25837 Fix grub-emu build on sparc64-ieee1275.
25838
75421ca9 25839 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25841
211d06b5 258422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25843
25844 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25845 (grub_reboot, grub_halt): New functions.
25846
25847 * util/i386/pc/misc.c: Delete. Update all users.
25848 * util/sparc64/ieee1275/misc.c: Likewise.
25849 * util/powerpc/ieee1275/misc.c: Likewise.
25850
aaf53e3c 258512009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25852
25853 * conf/i386.rmk (setjmp_mod_SOURCES)
25854 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25855 * conf/common.rmk (setjmp_mod_SOURCES)
25856 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25857 to use $(target_cpu).
25858 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25859 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25860 * conf/powerpc-ieee1275.rmk: Likewise.
25861 * conf/sparc64-ieee1275.rmk: Likewise.
25862
25863 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25864 $(target_cpu) for kern/$(target_cpu)/dl.c.
25865 * conf/i386-efi.rmk: Likewise.
25866 * conf/i386-ieee1275.rmk: Likewise.
25867 * conf/x86_64-efi.rmk: Likewise.
25868 * conf/i386-coreboot.rmk: Likewise.
25869 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25870 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25871 kern/$(target_cpu)/cache.S.
25872 * conf/sparc64-ieee1275.rmk: Likewise.
25873
a337130b 258742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25875
25876 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25877 type to `grub_uint8_t', and adjust `padding9' accordingly.
25878
c6fe4d53 258792009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25880
b09db61d 25881 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25882
c6fe4d53 25883 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25884 assembly in final jump, using register constraints.
25885
b09db61d 25886 (grub_linux_boot): For text mode, initialize `have_vga' using
25887 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25888
25889 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25890 right before the final jump.
25891
25892 Set `video_mode' to 0x3.
25893
25894 Document initialization of `video_page', `video_mode' and
25895 `video_ega_bx'.
25896
28333ad0 258972009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25898
25899 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25900 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25901 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25902
02164e1b 259032009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25904
25905 Fix build on Debian / sparc.
25906
25907 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25908
18b6c557 259092009-06-28 Pavel Roskin <proski@gnu.org>
25910
85f2aab6 25911 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25912 fix a warning.
25913
18b6c557 25914 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25915
ad760f81 259162009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25917
25918 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25919 `err'.
25920
87a4623b 259212009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25922
25923 Revert r2338.
25924
25925 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25926 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25927 grub_errno / grub_errmsg appropriately.
87a4623b 25928 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25929
8231fb77 259302009-06-27 Pavel Roskin <proski@gnu.org>
259312009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25932
25933 * include/grub/dl.h: Include grub/elf.h.
25934 (struct grub_dl): Add symtab field.
25935 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25936 GRUB_MODULES_MACHINE_READONLY.
25937 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25938 of the header for read-only modules.
25939 (grub_dl_unload): Free mod->symtab for read-only modules.
25940 * kern/i386/dl.c: Use mod->symtab.
25941 * kern/powerpc/dl.c: Likewise.
25942 * kern/sparc64/dl.c: Likewise.
25943 * kern/x86_64/dl.c: Likewise.
25944
25945 * conf/i386-qemu.rmk: New file.
25946 * kern/i386/qemu/startup.S: Likewise.
25947 * kern/i386/qemu/mmap.c: Likewise.
25948 * boot/i386/qemu/boot.S: Likewise.
25949 * include/grub/i386/qemu/time.h: Likewise.
25950 * include/grub/i386/qemu/serial.h: Likewise.
25951 * include/grub/i386/qemu/kernel.h: Likewise.
25952 * include/grub/i386/qemu/console.h: Likewise.
25953 * include/grub/i386/qemu/boot.h: Likewise.
25954 * include/grub/i386/qemu/init.h: Likewise.
25955 * include/grub/i386/qemu/machine.h: Likewise.
25956 * include/grub/i386/qemu/loader.h: Likewise.
25957 * include/grub/i386/qemu/memory.h: Likewise.
25958
25959 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25960 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25961 [qemu] (pkglib_IMAGES): Add `boot.img'.
25962 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25963 [qemu] (boot_img_FORMAT): New variables.
25964 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25965 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25966 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25967 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25968 [qemu] (kernel_img_FORMAT): New variables.
25969
25970 * configure.ac: Recognise `i386-qemu'.
25971
25972 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25973 (for no compression).
25974 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25975 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25976 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25977 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25978 ifdefs).
25979
97fe384e 259802009-06-27 Pavel Roskin <proski@gnu.org>
25981
25982 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25983 read.
25984 * efiemu/prepare32.c: Likewise.
25985 * efiemu/prepare64.c: Likewise.
25986
c402ab17 259872009-06-26 Pavel Roskin <proski@gnu.org>
25988
25989 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25990 * include/grub/elf.h: Define symbols without "32" or "64" based
25991 on GRUB_TARGET_WORDSIZE.
25992 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25993 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25994 ELF definitions.
25995 * efiemu/loadcore64.c: Likewise.
25996 * loader/i386/bsd32.c: Likewise.
25997 * loader/i386/bsd64.c: Likewise.
25998 * kern/dl.c: Remove own ELF definitions.
25999 * util/i386/efi/grub-mkimage.c: Likewise.
26000
9bbdfd4d 260012009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26002
26003 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26004 segment 0x0 unconditionally, because the reference generated by
26005 GAS is an absolute address.
26006
a42ce6e9 260072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26008
26009 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26010 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26011
c952cf92 260122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26013
26014 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26015 indexes. Check for -f explicitly.
cc3752ad 26016 (search_file): Improve error message.
26017 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26018
132a0a59 260192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26020
26021 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26022 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26023
387a140c 260242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26025
26026 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26027 * conf/i386-ieee1275.rmk: Likewise.
26028 * conf/i386-coreboot.rmk: Likewise.
26029
26030 * kern/i386/pc/startup.S (grub_stop): Remove function.
26031 * kern/i386/ieee1275/startup.S: Likewise.
26032 * kern/i386/coreboot/startup.S: Likewise.
26033 * kern/i386/misc.S (grub_stop): New function.
26034
41da9665 260352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26036
26037 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26038 * kern/i386/realmode.S (real_to_prot): ... to here.
26039
bf337234 260402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26041
26042 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26043 with `kernel.img'.
26044 (kernel_elf_SOURCES): Rename to ...
26045 (kernel_img_SOURCES): ... this.
26046 (kernel_elf_HEADERS): Rename to ...
26047 (kernel_img_HEADERS): ... this. Update all users.
26048 (kernel_elf_ASFLAGS): Rename to ...
26049 (kernel_img_ASFLAGS): ... this.
26050 (kernel_elf_CFLAGS): Rename to ...
26051 (kernel_img_CFLAGS): ... this.
26052 (kernel_elf_LDFLAGS): Rename to ...
26053 (kernel_img_LDFLAGS): ... this.
26054 * conf/i386-coreboot.rmk: Likewise.
26055 * conf/powerpc-ieee1275.rmk: Likewise.
26056
26057 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26058 with "kernel.img".
26059
f52196ff 260602009-06-21 Pavel Roskin <proski@gnu.org>
26061
c3cee413 26062 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26063 to match nested functions.
26064 * loader/sparc64/ieee1275/linux.c: Likewise.
26065
f52196ff 26066 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26067
58750afc 260682009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26069
26070 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26071 all i386 platforms.
26072
15355c7d 260732009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26074
26075 Fix asm file handling on ELF, and remove workarounds.
26076
26077 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26078 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26079 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26080 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26081
3f3ec72b 260822009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26083
26084 Load BSD ELF modules
26085
26086 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26087 and loader/i386/bsd64.c
26088 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26089 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26090 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26091 (grub_freebsd_load_elfmodule32): New declaration
26092 (grub_freebsd_load_elfmoduleobj64): Likewise
26093 (grub_freebsd_load_elf_meta32): Likewise
26094 (grub_freebsd_load_elf_meta64): Likewise
26095 (grub_freebsd_add_meta): Likewise
26096 (grub_freebsd_add_meta_module): Likewise
26097 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26098 (grub_freebsd_add_meta_module): Likewise and move module-specific
26099 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26100 (grub_cmd_freebsd): Add elf-kernel specific parts
26101 based on grub_freebsd_add_meta_module
26102 (grub_cmd_freebsd_module): Add type parsing moved from
26103 grub_freebsd_add_meta_module
26104 (grub_cmd_freebsd_module_elf): New function
26105 (cmd_freebsd_module_elf): New variable
26106 (GRUB_MOD_INIT): Register freebsd_module_elf
26107 * loader/i386/bsd32.c: New file
26108 * loader/i386/bsd64.c: Likewise
26109 * loader/i386/bsdXX.c: Likewise
26110 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26111 (grub_elf64_load): Likewise
26112 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26113 All users updated
26114 (grub_elf64_load_hook_t): Likewise
26115
0db15301 261162009-06-21 Colin Watson <cjwatson@ubuntu.com>
26117
26118 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26119 variable.
26120 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26121 don't write a menu entry for recovery mode.
26122
546796c1 261232009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26124
26125 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26126 after it's no longer needed.
26127
cd7310d5 261282009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26129
26130 * include/grub/i386/loader.h (grub_linux_prot_size)
26131 (grub_linux_tmp_addr, grub_linux_real_addr)
26132 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26133 GRUB_MACHINE_PCBIOS.
26134 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26135 common grub_util_info() call to ...
26136 (generate_image): ... here.
26137 Fix use of uninitialized memory, comparison of signed with
26138 unsigned integers and memory leak.
26139 Remove bogus module address message.
26140
ab32d3b5 261412009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26142
26143 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26144 grub_raid_register
26145 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26146
024ef597 261472009-06-19 Pavel Roskin <proski@gnu.org>
26148
26149 * configure.ac: Remove stray AC_MSG_CHECKING.
26150
3ac72b51 261512009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26152
26153 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26154
e14cd814 261552009-06-18 Pavel Roskin <proski@gnu.org>
26156
26157 * conf/common.rmk: Add fs_file.mod.
26158 * disk/fs_file.c: New file.
26159 * include/grub/disk.h (enum grub_disk_dev_id): Add
26160 GRUB_DISK_DEVICE_FILE_ID.
26161
26586d98 261622009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26163
26164 Fix build with Apple's toolchain. Part 2
26165
26166 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26167 a fake start
26168
26de2bcd 261692009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26170
26171 Fix build with Apple's toolchain. Part 1
26172
26173 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26174 for long calls
26175 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26176 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26177 Apple's toolchain
26178
09b3490b 261792009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26180
26181 Fix warnings
26182
26183 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26184 (decomp_block): initialize ch
26185 use grub_memcpy instead of memcpy
26186
c22a006a 261872009-06-17 Pavel Roskin <proski@gnu.org>
26188
d3638678 26189 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26190 version, use declarations needed to use vga_text as the startup
26191 console.
26192
c22a006a 26193 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26194 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26195 the kernel.
26196 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26197 and grub_at_keyboard_fini(), it's done on module load and
26198 unload.
26199
05b129e0 262002009-06-17 Felix Zielcke <fzielcke@z-51.de>
26201
26202 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26203 file can't be found.
26204 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26205
cf24ed9e 262062009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26207
26208 Fix newline handling
26209
26210 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26211 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26212 (grub_script_yylex): don't segfault on unterminated script
26213 newline terminates command and variable
26214
74aa8e4b 262152009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26216
26217 avoid double grub_adjust_range call. Bug reported by David Simner
26218
26219 * kern/disk.c (grub_disk_write): change to raw disk access before
26220 calling disk_read
26221
1bd265f3 262222009-06-17 Colin Watson <cjwatson@ubuntu.com>
26223
26224 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26225 spaces, for the benefit of help2man.
26226 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26227
a2d08c06 262282009-06-16 Pavel Roskin <proski@gnu.org>
26229
26230 * kern/i386/halt.c: Include grub/machine/init.h.
26231 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26232
b97bcb19 262332009-06-16 Felix Zielcke <fzielcke@z-51.de>
26234
26235 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26236 drivemap menuentry.
26237
0644f96c 262382009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26239
26240 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26241 `echo' command.
26242
3ef17a2e 262432009-06-16 Pavel Roskin <proski@gnu.org>
26244
26245 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26246 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26247 save %dx, we only need %dl and we never change it.
26248 * boot/i386/pc/cdboot.S: Don't set the root drive.
26249 * boot/i386/pc/pxeboot.S: Likewise.
26250 * include/grub/i386/pc/boot.h: Remove
26251 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26252 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26253 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26254 * kern/i386/pc/init.c (make_install_device): Remove references
26255 to grub_root_drive.
26256 * kern/i386/pc/startup.S: Likewise.
26257 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26258
693fe637 262592009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26260
26261 xnu_uuid command
26262
26263 * commands/xnu_uuid.c: new file
26264 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26265 (xnu_uuid_mod_SOURCES): new variable
26266 (xnu_uuid_mod_CFLAGS): likewise
26267 (xnu_uuid_mod_LDFLAGS): likewise
26268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26269 * conf/i386-ieee1275.rmk: likewise
26270 * conf/i386-pc.rmk: likewise
26271 * conf/powerpc-ieee1275.rmk: likewise
26272 * conf/sparc64-ieee1275.rmk: likewise
26273 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26274
c9da87d0 262752009-06-16 Pavel Roskin <proski@gnu.org>
26276
26277 * configure.ac: Avoid '==' in test command, it's not portable.
26278
9c6f4596 262792009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26280
26281 Probe command
26282
26283 * commands/probe.c: new file
26284 * conf/common.rmk (pkglib_MODULES): add probe.mod
26285 (probe_mod_SOURCES): new variable
26286 (probe_mod_CFLAGS): likewise
26287 (probe_mod_LDFLAGS): likewise
26288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26289 * conf/i386-ieee1275.rmk: likewise
26290 * conf/i386-pc.rmk: likewise
26291 * conf/powerpc-ieee1275.rmk: likewise
26292 * conf/sparc64-ieee1275.rmk: likewise
26293
70b7f9fd 262942009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26295
26296 Fix handling of string like \"hello\" and "a
26297 b"
26298
26299 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26300 (grub_script_yylex): fix parsing of quoting, escaping and newline
26301
71c79a6b 263022009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26303
dd74360c 26304 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26305 handling
dd74360c 26306
0644f96c 263072009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26308
26309 * util/grub-mkconfig.in: Fix parsing of --output option.
26310
e40893c3 263112009-06-12 Pavel Roskin <proski@gnu.org>
26312
26313 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26314 genmk.rb don't need to be generated or installed.
26315
3a1acfe2 263162009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26317
26318 * commands/i386/pc/drivemap_int13h.S: add more comments
26319
3a4575d4 263202009-06-11 Pavel Roskin <proski@gnu.org>
26321
0658e928 26322 * Makefile.in (uninstall): Uninstall manuals.
26323
ca0388f0 26324 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26325 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26326 and update-grub_lib in two places.
26327 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26328
e3b27c39 26329 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26330 a compiler warning.
26331
3a4575d4 26332 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26333 `entry_lo' to fix variable shadowing.
26334
af1f4f55 263352009-06-11 Christian Franke <franke@computer.org>
26336
26337 * kern/misc.c (__enable_execute_stack): Add missing return type
26338 to prevent gcc warning.
26339
5225e649 263402009-06-11 Felix Zielcke <fzielcke@z-51.de>
26341
26342 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26343
7d83bd47 263442009-06-11 Pavel Roskin <proski@gnu.org>
26345
c1cb63ba 26346 * Makefile.in: Don't rely on any scripts being executable.
26347 Always use $(SHELL) to run shell scripts.
26348
7d83bd47 26349 * configure.ac: Always define ___main if using -nostdlib. This
26350 fixes tests on Cygwin.
26351
948f48e7 263522009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26353
26354 UDF fix
26355
7d83bd47 26356 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26357 is in bytes and not in blocks
7d83bd47 26358
8ada9bc1 263592009-06-11 Pavel Roskin <proski@gnu.org>
26360
26361 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26362 warning.
26363
25ad2323 263642009-06-11 Felix Zielcke <fzielcke@z-51.de>
26365
26366 * util/grub.d/30_os-prober.in: Fix a comment. Source
26367 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26368 to set the root device. Place drivemap command in the generated
26369 chain entry.
26370
e65acb0c 263712009-06-11 Pavel Roskin <proski@gnu.org>
26372
26373 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26374 have long been resolved.
26375
f285fe2d 263762009-06-11 Colin Watson <cjwatson@ubuntu.com>
26377
bd47b0b5 26378 * util/grub.d/10_linux.in: Capitalise "Linux".
26379
f285fe2d 26380 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26381
a0c62e4e 263822009-06-11 Pavel Roskin <proski@gnu.org>
26383
b6783cb2 26384 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26385 fix a gcc warning and ensure that the function won't ever exit.
26386
dde032e8 26387 * kern/i386/ieee1275/init.c: Add missing prototype for
26388 grub_stop_floppy().
26389
22cd079d 26390 * loader/ieee1275/multiboot2.c [__i386__]: Include
26391 grub/cpu/multiboot.h.
26392
a0c62e4e 26393 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26394 casts to short - they are not portable and cause warnings. Fix
26395 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26396
63963d17 263972009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26398
26399 Drivemap fixes
26400
26401 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26402 new function
26403 (grub_get_root_biosnumber_saved): new variable
26404 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26405 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26406 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26407 %dx after the call if necessary
26408 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26409 (boot_mod_SOURCES): remove
26410 (boot_mod_CFLAGS): remove
26411 (boot_mod_LDFLAGS): remove
26412 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26413 (boot_mod_SOURCES): new variable
26414 (boot_mod_CFLAGS): likewise
26415 (boot_mod_LDFLAGS): likewise
26416 * conf/i386-efi.rmk: likewise
26417 * conf/i386-ieee1275.rmk: likewise
26418 * conf/i386-pc.rmk: likewise
26419 * conf/powerpc-ieee1275.rmk: likewise
26420 * conf/sparc64-ieee1275.rmk: likewise
26421 * conf/x86_64-efi.rmk: likewise
26422 * include/grub/i386/pc/biosnum.h: new file
26423 * lib/i386/pc/biosnum.c: likewise
26424 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26425 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26426 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26427
33abf7ae 264282009-06-10 Pavel Roskin <proski@gnu.org>
26429
5ac35b35 26430 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26431 Use separate variables. Read only the file size at the end, but
26432 not the checksum that we don't use.
26433
5c5215d5 26434 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26435 Adjust all callers.
26436
27d5fef7 26437 * kern/ieee1275/openfw.c: Remove libc includes.
26438 * kern/ieee1275/cmain.c: Likewise.
26439 * include/grub/ieee1275/ieee1275.h: Likewise.
26440
33abf7ae 26441 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26442 compiler warnings.
26443
19d50c2b 264442009-06-10 Felix Zielcke <fzielcke@z-51.de>
26445
26446 * Makefile.in: Remove all trailing whitespace.
26447 * conf/i386-pc.rmk: Likewise.
26448 * conf/powerpc-ieee1275.rmk: Likewise.
26449 * conf/sparc64-ieee1275.rmk: Likewise.
26450 * docs/grub.texi: Likewise.
26451 * docs/texinfo.tex: Likewise.
26452 * disk/fs_uuid.c: Likewise.
26453 * disk/lvm.c: Likewise.
26454 * disk/scsi.c: Likewise.
26455 * disk/ata.c: Likewise.
26456 * disk/ieee1275/ofdisk.c: Likewise.
26457 * disk/i386/pc/biosdisk.c: Likewise.
26458 * disk/host.c: Likewise.
26459 * disk/raid.c: Likewise.
26460 * disk/efi/efidisk.c: Likewise.
26461 * disk/usbms.c: Likewise.
26462 * disk/memdisk.c: Likewise.
26463 * disk/loopback.c: Likewise.
26464 * kern/powerpc/dl.c: Likewise.
26465 * kern/device.c: Likewise.
26466 * kern/dl.c: Likewise.
26467 * kern/sparc64/dl.c: Likewise.
26468 * kern/ieee1275/ieee1275.c: Likewise.
26469 * kern/term.c: Likewise.
26470 * kern/fs.c: Likewise.
26471 * kern/i386/dl.c: Likewise.
26472 * kern/i386/pc/startup.S: Likewise.
26473 * kern/i386/pc/init.c: Likewise.
26474 * kern/i386/pc/mmap.c: Likewise.
26475 * kern/i386/pc/lzo1x.S: Likewise.
26476 * kern/i386/ieee1275/init.c: Likewise.
26477 * kern/i386/realmode.S: Likewise.
26478 * kern/i386/tsc.c: Likewise.
26479 * kern/partition.c: Likewise.
26480 * kern/corecmd.c: Likewise.
26481 * kern/file.c: Likewise.
26482 * kern/efi/efi.c: Likewise.
26483 * kern/efi/init.c: Likewise.
26484 * kern/efi/mm.c: Likewise.
26485 * kern/main.c: Likewise.
26486 * kern/err.c: Likewise.
26487 * kern/env.c: Likewise.
26488 * kern/disk.c: Likewise.
26489 * kern/generic/millisleep.c: Likewise.
26490 * kern/generic/rtc_get_time_ms.c: Likewise.
26491 * kern/misc.c: Likewise.
26492 * kern/parser.c: Likewise.
26493 * genmk.rb: Likewise.
26494 * configure.ac: Likewise.
26495 * boot/i386/pc/diskboot.S: Likewise.
26496 * boot/i386/pc/pxeboot.S: Likewise.
26497 * boot/i386/pc/boot.S: Likewise.
26498 * boot/i386/pc/lnxboot.S: Likewise.
26499 * boot/i386/pc/cdboot.S: Likewise.
26500 * parttool/pcpart.c: Likewise.
26501 * video/readers/tga.c: Likewise.
26502 * video/video.c: Likewise.
26503 * video/bitmap.c: Likewise.
26504 * lib/envblk.c: Likewise.
26505 * lib/i386/setjmp.S: Likewise.
26506 * fs/xfs.c: Likewise.
26507 * fs/afs.c: Likewise.
26508 * fs/fat.c: Likewise.
26509 * fs/ntfs.c: Likewise.
26510 * fs/udf.c: Likewise.
26511 * fs/affs.c: Likewise.
26512 * fs/iso9660.c: Likewise.
26513 * fs/hfs.c: Likewise.
26514 * fs/fshelp.c: Likewise.
26515 * fs/ext2.c: Likewise.
26516 * fs/jfs.c: Likewise.
26517 * fs/reiserfs.c: Likewise.
26518 * fs/hfsplus.c: Likewise.
26519 * fs/minix.c: Likewise.
26520 * fs/cpio.c: Likewise.
26521 * fs/sfs.c: Likewise.
26522 * fs/ufs.c: Likewise.
26523 * efiemu/prepare.c: Likewise.
26524 * efiemu/loadcore_common.c: Likewise.
26525 * efiemu/runtime/efiemu.sh: Likewise.
26526 * efiemu/runtime/efiemu.S: Likewise.
26527 * efiemu/runtime/efiemu.c: Likewise.
26528 * efiemu/pnvram.c: Likewise.
26529 * efiemu/main.c: Likewise.
26530 * efiemu/i386/pc/cfgtables.c: Likewise.
26531 * efiemu/i386/loadcore64.c: Likewise.
26532 * efiemu/i386/loadcore32.c: Likewise.
26533 * efiemu/loadcore.c: Likewise.
26534 * efiemu/symbols.c: Likewise.
26535 * efiemu/mm.c: Likewise.
26536 * include/grub/autoefi.h: Likewise.
26537 * include/grub/datetime.h: Likewise.
26538 * include/grub/term.h: Likewise.
26539 * include/grub/hfs.h: Likewise.
26540 * include/grub/lvm.h: Likewise.
26541 * include/grub/i386/tsc.h: Likewise.
26542 * include/grub/i386/linux.h: Likewise.
26543 * include/grub/i386/xnu.h: Likewise.
26544 * include/grub/i386/efiemu.h: Likewise.
26545 * include/grub/i386/pc/biosdisk.h: Likewise.
26546 * include/grub/i386/pc/memory.h: Likewise.
26547 * include/grub/i386/pc/vbe.h: Likewise.
26548 * include/grub/parttool.h: Likewise.
26549 * include/grub/video.h: Likewise.
26550 * include/grub/memory.h: Likewise.
26551 * include/grub/fs.h: Likewise.
26552 * include/grub/partition.h: Likewise.
26553 * include/grub/xnu.h: Likewise.
26554 * include/grub/efi/api.h: Likewise.
26555 * include/grub/efi/pe32.h: Likewise.
26556 * include/grub/efi/memory.h: Likewise.
26557 * include/grub/multiboot.h: Likewise.
26558 * include/grub/usbdesc.h: Likewise.
26559 * include/grub/multiboot2.h: Likewise.
26560 * include/grub/acpi.h: Likewise.
26561 * include/grub/efiemu/efiemu.h: Likewise.
26562 * include/grub/disk.h: Likewise.
26563 * include/grub/ieee1275/ieee1275.h: Likewise.
26564 * include/grub/net.h: Likewise.
26565 * include/grub/machoload.h: Likewise.
26566 * include/grub/macho.h: Likewise.
26567 * include/multiboot.h: Likewise.
26568 * genmoddep.awk: Likewise.
26569 * normal/main.c: Likewise.
26570 * normal/menu_entry.c: Likewise.
26571 * normal/menu_viewer.c: Likewise.
26572 * normal/completion.c: Likewise.
26573 * normal/cmdline.c: Likewise.
26574 * normal/misc.c: Likewise.
26575 * normal/datetime.c: Likewise.
26576 * bus/usb/usbtrans.c: Likewise.
26577 * bus/usb/ohci.c: Likewise.
26578 * bus/usb/uhci.c: Likewise.
26579 * bus/usb/usb.c: Likewise.
26580 * mmap/efi/mmap.c: Likewise.
26581 * mmap/i386/pc/mmap_helper.S: Likewise.
26582 * mmap/i386/pc/mmap.c: Likewise.
26583 * mmap/i386/mmap.c: Likewise.
26584 * mmap/i386/uppermem.c: Likewise.
26585 * mmap/mmap.c: Likewise.
26586 * commands/acpi.c: Likewise.
26587 * commands/echo.c: Likewise.
26588 * commands/blocklist.c: Likewise.
26589 * commands/loadenv.c: Likewise.
26590 * commands/usbtest.c: Likewise.
26591 * commands/boot.c: Likewise.
26592 * commands/parttool.c: Likewise.
26593 * commands/search.c: Likewise.
26594 * commands/cat.c: Likewise.
26595 * commands/i386/pc/play.c: Likewise.
26596 * commands/i386/pc/drivemap.c: Likewise.
26597 * commands/i386/pc/vbeinfo.c: Likewise.
26598 * commands/i386/pc/acpi.c: Likewise.
26599 * commands/i386/pc/vbetest.c: Likewise.
26600 * commands/ls.c: Likewise.
26601 * commands/cmp.c: Likewise.
26602 * commands/test.c: Likewise.
26603 * commands/efi/acpi.c: Likewise.
26604 * commands/gptsync.c: Likewise.
26605 * commands/help.c: Likewise.
26606 * partmap/amiga.c: Likewise.
26607 * partmap/apple.c: Likewise.
26608 * partmap/acorn.c: Likewise.
26609 * partmap/pc.c: Likewise.
26610 * partmap/sun.c: Likewise.
26611 * partmap/gpt.c: Likewise.
26612 * script/sh/lexer.c: Likewise.
26613 * script/sh/function.c: Likewise.
26614 * font/font.c: Likewise.
26615 * font/font_cmd.c: Likewise.
26616 * loader/powerpc/ieee1275/linux.c: Likewise.
26617 * loader/efi/chainloader.c: Likewise.
26618 * loader/multiboot_loader.c: Likewise.
26619 * loader/macho.c: Likewise.
26620 * loader/i386/multiboot.c: Likewise.
26621 * loader/i386/linux.c: Likewise.
26622 * loader/i386/pc/linux.c: Likewise.
26623 * loader/i386/pc/multiboot2.c: Likewise.
26624 * loader/i386/pc/chainloader.c: Likewise.
26625 * loader/i386/pc/xnu.c: Likewise.
26626 * loader/i386/bsd_trampoline.S: Likewise.
26627 * loader/i386/efi/linux.c: Likewise.
26628 * loader/i386/multiboot_elfxx.c: Likewise.
26629 * loader/i386/bsd_helper.S: Likewise.
26630 * loader/i386/bsd.c: Likewise.
26631 * loader/i386/linux_trampoline.S: Likewise.
26632 * loader/i386/xnu_helper.S: Likewise.
26633 * loader/i386/xnu.c: Likewise.
26634 * loader/i386/bsd_pagetable.c: Likewise.
26635 * loader/i386/multiboot_helper.S: Likewise.
26636 * loader/xnu.c: Likewise.
26637 * loader/xnu_resume.c: Likewise.
26638 * io/gzio.c: Likewise.
26639 * term/efi/console.c: Likewise.
26640 * term/terminfo.c: Likewise.
26641 * term/ieee1275/ofconsole.c: Likewise.
26642 * term/i386/pc/serial.c: Likewise.
26643 * term/i386/pc/vesafb.c: Likewise.
26644 * term/i386/pc/vga.c: Likewise.
26645 * term/usb_keyboard.c: Likewise.
26646 * term/gfxterm.c: Likewise.
26647 * aclocal.m4: Likewise.
26648 * util/lvm.c: Likewise.
26649 * util/grub.d/30_os-prober.in: Likewise.
26650 * util/grub.d/10_hurd.in: Likewise.
26651 * util/console.c: Likewise.
26652 * util/grub-macho2img.c: Likewise.
26653 * util/grub-probe.c: Likewise.
26654 * util/hostfs.c: Likewise.
26655 * util/i386/pc/grub-mkimage.c: Likewise.
26656 * util/i386/pc/grub-setup.c: Likewise.
26657 * util/i386/efi/grub-mkimage.c: Likewise.
26658 * util/grub-mkconfig.in: Likewise.
26659 * util/raid.c: Likewise.
26660 * util/resolve.c: Likewise.
26661 * util/grub-mkdevicemap.c: Likewise.
26662 * util/grub-emu.c: Likewise.
26663 * util/getroot.c: Likewise.
26664 * util/hostdisk.c: Likewise.
26665 * util/usb.c: Likewise.
26666 * util/grub-editenv.c: Likewise.
26667 * util/misc.c: Likewise.
26668
d2d49665 266692009-06-10 Felix Zielcke <fzielcke@z-51.de>
26670
26671 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26672 `genparttoollist.sh'.
26673 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26674 Add `*.sh' to the list find searches for and change `mdate.sh'
26675 to `mdate-sh'.
26676
fe052e37 266772009-06-10 Pavel Roskin <proski@gnu.org>
26678
2763ac18 26679 * include/grub/multiboot2.h: Provide compatibility defines for
26680 multiboot2.h.
26681 * include/multiboot2.h: Include stdint.h only if needed, using
26682 angle brackets.
26683 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26684 grub/multiboot2.h.
26685 * loader/ieee1275/multiboot2.c: Likewise.
26686 * loader/multiboot2.c: Likewise.
26687 * loader/multiboot_loader.c: Likewise.
26688
437e6adc 26689 * configure.ac: Use -nostdlib when probing for the target. It
26690 should not be required to have libc for the target.
26691
06a6836c 26692 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26693 they fail without libc headers for the target.
26694 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26695 exports.
26696 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26697 preprocessor conditionals.
26698
fe052e37 26699 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26700 build system doesn't need to be aware of the tar.c internals.
26701
afd22553 267022009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26703
afd22553 26704 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26705
6b787c4f 267062009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26707
26708 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26709 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26710
267112009-06-09 Felix Zielcke <fzielcke@z-51.de>
26712
26713 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26714 aren't available if ata.mod gets used.
6b787c4f 26715
473d1e45 267162009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26717
473d1e45 26718 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26719 initialising controller.
473d1e45 26720 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26721
255a27d4 267222009-06-08 Felix Zielcke <fzielcke@z-51.de>
26723
26724 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26725 to choose between ata and biosdisk module on i386-pc.
26726
473d1e45 267272009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26728
d55842d8 26729 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26730 Subclass and Programming Interface fields in terms of the 3 byte
26731 Class Code register.
26732 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26733
fa5db0b1 26734 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26735 interface is OHCI. Add grub_dprintf for symmetry with
26736 bus/usb/uhci.c.
26737 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26738 interface is UHCI. Add interf variable for programming
26739 interface. Print interface with class/subclass.
26740
c0947beb 26741 * bus/usb/ohci.c: Set interf with correct field.
26742
69da8877 26743 * bus/usb/uhci.c: Remove unneeded doubled lines.
26744 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26745 Remove whitespace inside comment.
26746
9e172e30 267472009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26748
26749 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26750 as fallback an equivalent option without depth.
26751
de65ee2b 267522009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26753
26754 Not fail if unable to retrieve C/H/S on LBA disks
26755
473d1e45 26756 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26757 if unable to retrieve C/H/S on LBA disks
26758
b57ea2c9 267592009-06-08 Pavel Roskin <proski@gnu.org>
26760
26761 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26762 about aliasing.
26763
af361263 267642009-06-08 Felix Zielcke <fzielcke@z-51.de>
26765
26766 * Makefile.in (uninstall): Remove all $lib_DATA files.
26767
4c9ec6b3 267682009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26769
26770 Bugfix: install on partitionless device
26771
26772 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26773 is a whole disk
26774
e76fc924 267752009-06-08 Felix Zielcke <fzielcke@z-51.de>
26776
26777 * Makefile.in (uninstall): Remove all $include_DATA files.
26778
ba5a0d05 267792009-06-08 Felix Zielcke <fzielcke@z-51.de>
26780
26781 * commands/true.c: New file. Implement the true and false commands.
26782 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26783 (true_mod_SOURCES): New variable.
26784 (true_mod_CFLAGS): Likewise.
26785 (true_mod_LDFLAGS): Likewise.
26786
c8048e32 267872009-06-05 Colin D Bennett <colin@gibibit.com>
26788
26789 Optimized font character lookup using binary search instead of linear
26790 search. Fonts now are required to have the character index ordered by
26791 code point.
26792
26793 * font/font.c (load_font_index): Verify that fonts have ordered
26794 character indices.
26795 (find_glyph): Use binary search instead of linear search to find a
26796 character in a font.
26797
408305be 267982009-06-05 Michael Scherer <misc@mandriva.org>
26799
26800 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26801 uses case sensitive btree.
26802 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26803 only for case insensitive filesystems.
26804
8ee1e0d9 268052009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26806
26807 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26808 * conf/common.rmk (search_mod_CFLAGS): likewise
26809
a9966eb1 268102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26811
473d1e45 26812 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26813 compensate a compiler bug
26814
9e7100fb 268152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26816
473d1e45 26817 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26818 instead of '\b'
473d1e45 26819
ede21d71 268202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26821
26822 Definitions for creating asm symbols with Apple's CC
26823
26824 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26825 [APPLE_CC] (VARIABLE): likewise
26826
9dbf7653 268272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26828
26829 Disable lnxboot.img when compiled
26830 with Apple's CC
26831
26832 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26833 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26834 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26835 [! APPLE_CC] (CODE_LENG): skip
26836 [! APPLE_CC] (setup_sects): likewise
26837 [! APPLE_CC]: skip filling
473d1e45 26838
e93cdc3d 268392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26840
26841 Address in trampolines based on 32-bit registers when compiled
26842 with Apple's CC
26843
473d1e45 26844 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26845 for addresses
26846 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26847
6c688477 268482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26849
26850 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26851
26852 * kern/misc.c [APPLE_CC] (memcpy): new function
26853 [APPLE_CC] (memmove): likewise
26854 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26855 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26856 (memset): likewise
26857 (abort): likewise
26858 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26859 APPLE_CC are defined
26860 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26861 (grub_assert_fail): make prototype conditional
26862
e37ffc5c 268632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26864
26865 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26866
473d1e45 26867 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26868 grub-macho2img
e37ffc5c 26869 (CLEANFILES): add grub-macho2img
26870 (grub_macho2img_SOURCES): new variable
26871 * kern/i386/pc/startup.S (bss_start): new variable
26872 (bss_end): likewise
26873 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26874 * util/grub-macho2img.c: new file
26875
cf00df31 268762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26877
26878 Use objconv when compiling with Apple's CC
26879
26880 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26881 (efiemu64.o): likewise
26882 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26883 when compiling with Apple's CC
26884 (efiemu64_s.o): likewise
26885 * configure.ac: check for objconv when compiling with Apple's CC
26886 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26887
d119a20c 268882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26889
26890 Define segment as well as section when compiling with
26891 Apple's CC
26892
26893 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26894 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26895 (efiemu_convert_pointer): likewise
26896 (efiemu_set_virtual_address_map): likewise
26897 (efiemu_convert_pointer): likewise
26898 (efiemu_getcrc32): likewise
26899 (init_crc32_table): likewise
26900 (reflect): likewise
26901 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26902 (GRUB_MOD_DEP): likewise
473d1e45 26903
c8600122 269042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26905
26906 Allow a compilation without -mcmodel=large
26907
26908 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26909 when compiled without -mcmodel=large
473d1e45 26910 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26911 without -mcmodel=large
473d1e45 26912 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26913 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26914
e8df1d4e 269152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26916
26917 Remove nested functions in efiemu core
26918
26919 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26920
cc6c3ac1 269212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26924
26925 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26926 temporary storage
473d1e45 26927 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26928 using Apple's CC
cc6c3ac1 26929 (grub_cpu_is_tsc_supported): likewise
26930 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26931
3e325901 269322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26933
26934 Absolute addressing through constant with Apple's cc
26935
26936 * kern/i386/pc/startup.S: Define necessary constants
26937 and address through it when using ABS with Apple's CC
26938 * boot/i386/pc/diskboot.S: likewise
26939 * boot/i386/pc/boot.S: likewise
26940 * boot/i386/pc/lnxboot.S: likewise
26941 * boot/i386/pc/cdboot.S: likewise
26942 * mmap/i386/pc/mmap_helper.S: likewise
26943 * commands/i386/pc/drivemap_int13h.S: likewise
26944
2b167a72 269452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26946
26947 Check if compiler is apple cc
26948
26949 * Makefile.in (ASFLAGS): new variable
26950 (TARGET_ASFLAGS): likewise
26951 (TARGET_MODULE_FORMAT): likewise
26952 (TARGET_APPLE_CC): likewise
26953 (OBJCONV): likewise
26954 (TARGET_IMG_CFLAGS): likewise
26955 (TARGET_CPPFLAGS): add includedir
26956 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26957 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26958 Check for linker script only if compiler isn't Apple's CC
26959 (TARGET_MODULE_FORMAT): set
26960 (TARGET_APPLE_CC): likewise
26961 (TARGET_ASFLAGS): likewise
26962 (ASFLAGS): likewise
26963 Check for objcopy only if compiler isn't Apple's CC
26964 Check for BSS symbol only if compiler isn't Apple's CC
26965 * genmk.rb: adapt nm options if we use Apple's utils
26966 * aclocal.m4 (grub_apple_cc): new test
26967 (grub_apple_target_cc): likewise
473d1e45 26968
fb14123e 269692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26970
26971 Simplify sed expressions and improve awk
26972
26973 * Makefile.in (install-local): simplify sed expression
26974 * gencmdlist.sh: likewise
26975 * genmoddep.awk: avoid adding module as a dependency of itself
26976
5b889789 269772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26978
26979 Add missing start symbols
26980
26981 * boot/i386/pc/boot.S: add start
fb14123e 26982 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26983
fd2bf2e3 269842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26985
26986 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26987
26988 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26989 (relocate_addresses): consider both r_addend and value at offset
26990 (make_mods_section): zerofill modinfo and header
26991 (convert_elf): write prefix here
473d1e45 26992
5389763d 269932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26994
26995 Use .asciz instead of .string
26996
26997 * i386/pc/diskboot.S: use .asciz instead of .string
26998 * i386/pc/boot.S: likewise
26999 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27000 (GRUB_MOD_NAME): likewise
473d1e45 27001
3eb5ed4e 270022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27003
27004 gfxpayload support
27005
27006 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27007 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27008 (grub_video_setup): remove
27009 (grub_video_set_mode): new prototype
27010 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27011 (vid_mode): remove
27012 (linux_vesafb_res): compile only on PCBIOS
27013 (grub_linux_boot): support gfxpayload
27014 * loader/i386/pc/xnu.c (video_hook): new function
27015 (grub_xnu_set_video): support gfxpayload
27016 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27017 (DEFAULT_VIDEO_HEIGHT): likewise
27018 (DEFAULT_VIDEO_FLAGS): likewise
27019 (DEFAULT_VIDEO_MODE): new definition
27020 (video_hook): new function
27021 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27022 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27023 loading xnu
27024 * video/video.c (grub_video_setup): removed
473d1e45 27025 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27026 grub_video_setup
27027
4b0e1143 270282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27029
27030 Avoid calling biosdisk in drivemap
27031
27032 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27033 (revparse_biosdisk): likewise
27034 (list_mappings): derive name from id directly
27035 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27036
fda6cb98 270372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27038
27039 Script fixes
27040
27041 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27042 (grub_lexer_param): add tokenonhold
27043 (grub_script_create_cmdline): remove cmdline. All callers updated
27044 (grub_script_function_create): make functionname
27045 grub_script_arg. All callers updated
27046 (grub_script_execute_argument_to_string): new prototype
27047 * kern/parser.c (state_transitions): reorder
27048 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27049 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27050 make global
27051 (grub_script_execute_cmdline): use new format
27052 * script/sh/function.c (grub_script_function_create): make functionname
27053 grub_script_arg. All callers updated
473d1e45 27054 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27055 (grub_script_yylex): remove
27056 (grub_script_yylex2): renamed to ...
27057 (grub_script_yylex): ...renamed
27058 parse the expressions like a${b}c
27059 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27060 (GRUB_PARSER_TOKEN_VAR): remove
27061 (GRUB_PARSER_TOKEN_NAME): likewise
27062 ("if"): declare as typeless
27063 ("while"): likewise
27064 ("function"): likewise
27065 ("else"): likewise
27066 ("then"): likewise
27067 ("fi"): likewise
27068 (text): remove
27069 (argument): likewise
27070 (script): accept empty scripts and make exit on error
27071 (arguments): use GRUB_PARSER_TOKEN_ARG
27072 (function): likewise
27073 (command): move error handling to script
27074 (menuentry): move grub_script_lexer_ref before
473d1e45 27075 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27076 argument. All callers updated
27077
f4448a07 270782009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27079
27080 Prevent GRUB from probing floppies during boot.
27081
27082 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27083 * commands/search.c (options): Add --no-floppy.
27084 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27085 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27086 --no-floppy when searching for UUIDs.
27087
2bf5885a 270882009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27089
27090 Simplify the code duplication in commands/search.c.
27091
27092 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27093 (search_fs): ... this. Update all users.
27094
f6fd460a 270952009-06-03 Felix Zielcke <fzielcke@z-51.de>
27096
27097 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27098
cbb3c83e 270992009-05-28 Pavel Roskin <proski@gnu.org>
27100
57788cfd 27101 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27102 Remove the original symlink explicitly.
27103
cbb3c83e 27104 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27105 just one slash. That's how grub_fshelp_find_file() does it.
27106
cd0d5e30 271072009-05-26 Pavel Roskin <proski@gnu.org>
27108
f0f8bbe2 27109 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27110 to `str'.
27111
cd0d5e30 27112 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27113 possibly unused.
27114
8c2cab51 271152009-05-25 Christian Franke <franke@computer.org>
27116
27117 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27118 register.
27119 (grub_atapi_identify): Add wait after drive select.
27120 (grub_ata_identify): Do more strict status register check before
27121 calling grub_atapi_identify (). Suppress error message if status
27122 register is 0x00 after command failure. Add status register
27123 check after PIO read to avoid bogus identify due to stuck DRQ.
27124 Thanks to Pavel Roskin for testing.
27125 (grub_device_initialize): Remove unsafe status register check.
27126 Thanks to 'phcoder' for problem report and patch.
27127 Prevent sign extension in debug message.
27128
230c0ad6 271292009-05-23 Colin D Bennett <colin@gibibit.com>
27130
27131 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27132 definition file, and functions defined in `normal/menu.c' have had
27133 their prototypes moved to `include/grub/menu.h' for consistency.
27134
27135 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27136 from normal.h.
27137 (grub_menu_get_entry): Likewise.
27138 (grub_menu_get_timeout): Likewise.
27139 (grub_menu_set_timeout): Likewise.
27140 (grub_menu_execute_entry): Likewise.
27141 (grub_menu_execute_with_fallback): Likewise.
27142 (grub_menu_entry_run): Likewise.
27143
27144 * include/grub/normal.h: Re-ordered and grouped function
27145 prototypes by file that the function is defined in.
27146 (grub_menu_execute_callback): Removed; moved to menu.h.
27147 (grub_menu_get_entry): Likewise.
27148 (grub_menu_get_timeout): Likewise.
27149 (grub_menu_set_timeout): Likewise.
27150 (grub_menu_execute_entry): Likewise.
27151 (grub_menu_execute_with_fallback): Likewise.
27152 (grub_menu_entry_run): Likewise.
27153 (grub_menu_addentry): Renamed from this ...
27154 (grub_normal_add_menu_entry): ... to this.
27155
27156 * normal/main.c (grub_menu_addentry): Renamed from this ...
27157 (grub_normal_add_menu_entry): ... to this.
27158
27159 * script/sh/execute.c (grub_script_execute_menuentry): Update
27160 reference to renamed grub_menu_addentry function.
27161
861f03a5 271622009-05-23 Felix Zielcke <fzielcke@z-51.de>
27163
27164 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27165
96b1619a 271662009-05-22 Pavel Roskin <proski@gnu.org>
27167
bf6a5fb2 27168 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27169 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27170 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27171 compiling for the i386 targets, but not for the utilities.
27172
96b1619a 27173 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27174 to grub_uint8_t.
27175 (grub_root_drive): Likewise.
27176 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27177 remove alignment.
27178 (grub_root_drive): Change size to byte.
27179 (grub_start_addr): Remove.
27180 (grub_end_addr): Likewise.
27181 (grub_apm_bios_info): Likewise.
27182
b729776b 271832009-05-21 Felix Zielcke <fzielcke@z-51.de>
27184
27185 * normal/i386: Remove.
27186 * normal/powerpc: Likewise.
27187 * normal/sparc64: Likewise.
27188 * normal/x86_64: Likewise.
27189
0a15ce80 271902009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27191
27192 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27193 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27194 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27195
33db9015 271962009-05-18 Colin D Bennett <colin@gibibit.com>
27197
d6da58e6 27198 Display error messages when parsing a Lua statement fails.
27199 Previously, executing a syntactically invalid statement like
27200 ")foo" or "bar;" would silently fail.
33db9015 27201
27202 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27203 (grub_lua_parse_line): Improved reporting of Lua parser and
27204 execution errors.
33db9015 27205
46422c89 272062009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27207
27208 Remove -Werror which causes build to fail on some systems
27209
27210 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27211 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27212 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27213
22f53a96 272142009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27215
27216 trampoline for linux on 64-bit platform
27217
18f547ad 27218 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27219 loader/i386/efi/linux_trampoline.S
27220 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27221 declaration
d6da58e6 27222 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27223 here
22f53a96 27224 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27225 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27226 trampoline
22f53a96 27227 (jumpvector): removed
27228 (grub_linux_trampoline_start): new declaration
27229 (grub_linux_trampoline_end): likewise
27230 (grub_linux_boot): use trampoline when on 64-bit platform
27231 * loader/i386/linux.c: likewise
27232
cb5a0f40 272332009-05-16 Pavel Roskin <proski@gnu.org>
27234
27235 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27236 const to avoid a warning.
27237 (grub_lua_setenv): Likewise.
27238 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27239 lmsg to fix a warning.
27240
334f2c28 272412009-05-16 Felix Zielcke <fzielcke@z-51.de>
27242
27243 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27244 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27245 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27246 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27247 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27248 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27249 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27250 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27251
59e5d3ec 272522009-05-16 Felix Zielcke <fzielcke@z-51.de>
27253
27254 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27255
9d87a1ba 272562009-05-16 Bean <bean123ch@gmail.com>
27257
27258 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27259 (lua_mod_SOURCES): New variable.
27260 (lua_mod_CFLAGS): Likewise.
27261 (lua_mod_LDFLAGS): Likewise.
27262
27263 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27264 (setjmp_mod_SOURCES): New variable.
27265 (setjmp_mod_CFLAGS): Likewise.
27266 (setjmp_LDFLAGS): Likewise.
27267
27268 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27269 (setjmp_mod_SOURCES): New variable.
27270 (setjmp_mod_CFLAGS): Likewise.
27271 (setjmp_LDFLAGS): Likewise.
27272
27273 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27274 (setjmp_mod_SOURCES): New variable.
27275 (setjmp_mod_CFLAGS): Likewise.
27276 (setjmp_LDFLAGS): Likewise.
27277
27278 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27279 (setjmp_mod_SOURCES): New variable.
27280 (setjmp_mod_CFLAGS): Likewise.
27281 (setjmp_LDFLAGS): Likewise.
27282
27283 * normal/i386/setjmp.S: Moved from here ...
27284 * lib/i386/setjmp.S: ... Moved here
27285 * normal/x86_64/setjmp.S: Moved from here ...
27286 * lib/x86_64/setjmp.S: ... Moved here
27287 * normal/powerpc/setjmp.S: Moved from here ...
27288 * lib/powerpc/setjmp.S: ... Moved here
27289 * normal/sparc64/setjmp.S: Moved from here ...
27290 * lib/sparc64/setjmp.S: ... Moved here
27291
27292 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27293 returns_twice in mingw.
27294
27295 * script/lua/grub_lib.c: New file.
27296 * script/lua/grub_lib.h: Likewise.
27297 * script/lua/grub_lua.h: Likewise.
27298 * script/lua/grub_main.c: Likewise.
27299 * script/lua/lapi.c: Likewise.
27300 * script/lua/lapi.h: Likewise.
27301 * script/lua/lauxlib.c: Likewise.
27302 * script/lua/lauxlib.h: Likewise.
27303 * script/lua/lbaselib.c: Likewise.
27304 * script/lua/lcode.c: Likewise.
27305 * script/lua/lcode.h: Likewise.
27306 * script/lua/ldblib.c: Likewise.
27307 * script/lua/ldebug.c: Likewise.
27308 * script/lua/ldebug.h: Likewise.
27309 * script/lua/ldo.c: Likewise.
27310 * script/lua/ldo.h: Likewise.
27311 * script/lua/ldump.c: Likewise.
27312 * script/lua/lfunc.c: Likewise.
27313 * script/lua/lfunc.h: Likewise.
27314 * script/lua/lgc.c: Likewise.
27315 * script/lua/lgc.h: Likewise.
27316 * script/lua/linit.c: Likewise.
27317 * script/lua/liolib.c: Likewise.
27318 * script/lua/llex.c: Likewise.
27319 * script/lua/llex.h: Likewise.
27320 * script/lua/llimits.h: Likewise.
27321 * script/lua/lmathlib.c: Likewise.
27322 * script/lua/lmem.c: Likewise.
27323 * script/lua/lmem.h: Likewise.
27324 * script/lua/loadlib.c: Likewise.
27325 * script/lua/lobject.c: Likewise.
27326 * script/lua/lobject.h: Likewise.
27327 * script/lua/lopcodes.c: Likewise.
27328 * script/lua/lopcodes.h: Likewise.
27329 * script/lua/loslib.c: Likewise.
27330 * script/lua/lparser.c: Likewise.
27331 * script/lua/lparser.h: Likewise.
27332 * script/lua/lstate.c: Likewise.
27333 * script/lua/lstate.h: Likewise.
27334 * script/lua/lstring.c: Likewise.
27335 * script/lua/lstring.h: Likewise.
27336 * script/lua/lstrlib.c: Likewise.
27337 * script/lua/ltable.c: Likewise.
27338 * script/lua/ltable.h: Likewise.
27339 * script/lua/ltablib.c: Likewise.
27340 * script/lua/ltm.c: Likewise.
27341 * script/lua/ltm.h: Likewise.
27342 * script/lua/lua.h: Likewise.
27343 * script/lua/luaconf.h: Likewise.
27344 * script/lua/lualib.h: Likewise.
27345 * script/lua/lundump.c: Likewise.
27346 * script/lua/lundump.h: Likewise.
27347 * script/lua/lvm.c: Likewise.
27348 * script/lua/lvm.h: Likewise.
27349 * script/lua/lzio.c: Likewise.
27350 * script/lua/lzio.h: Likewise.
27351
5e898c9d 273522009-05-16 Bean <bean123ch@gmail.com>
27353
27354 * include/grub/kernel.h (grub_module_header_types): Add type
27355 OBJ_TYPE_CONFIG.
27356
27357 * kern/main.c (grub_load_config): New function.
27358 (grub_main): Call grub_load_config to read boot config.
27359
27360 * grub-mkimage (generate_image): New parameter config_path.
27361 (options): New option --config.
27362 (main): Parse --config option, and pass it to generate_image.
27363
cf353a47 273642009-05-14 Christian Franke <franke@computer.org>
27365
27366 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27367 This fixes build on Cygwin.
27368
3834887f 273692009-05-14 Pavel Roskin <proski@gnu.org>
27370
27371 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27372 jump. This saves two bytes, so the typical case of 2 swapped
27373 drives would fit 32 bytes.
27374
8090fc01 273752009-05-13 Pavel Roskin <proski@gnu.org>
27376
ac963883 27377 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27378 grub_uint32_t to avoid a warning.
27379
8090fc01 27380 * loader/i386/linux.c (allocate_pages): When assigning
27381 real_mode_mem, cast through grub_size_t to fix a warning. The
27382 code already makes sure that the value would fit a pointer.
27383 (grub_linux_setup_video): Cast render_target->data to
27384 grub_size_t to fix a warning.
27385
18f547ad 273862009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27387
27388 * commands/i386/pc/drivemap.c: New file - implement drivemap
27389 command.
27390 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27391 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27392
6f6a8b28 273932009-05-13 Pavel Roskin <proski@gnu.org>
27394
27395 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27396 embedding_area_exists.
27397
15fbf4c4 273982009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27399
27400 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27401 it easier to understand / work with.
59978c8a 27402 Improve warning messages for cases where there's no embedding area,
27403 or when it is too small (or core.img too large).
15fbf4c4 27404
238e871f 274052009-05-13 Pavel Roskin <proski@gnu.org>
27406
0ab3a9a4 27407 * loader/i386/pc/multiboot2.c: Add necessary includes for
27408 grub_multiboot2_real_boot().
27409
a2c8c5f8 27410 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27411 PX record is always little-endian. We only need the lower 2
27412 bytes of the mode.
27413
faec96af 27414 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27415 facilitate code reuse.
27416 (grub_cpio_mount): Use "struct head", not a char buffer. This
27417 fixes a warning reported by gcc 4.4.
27418
238e871f 27419 * kernel/disk.c (grub_disk_read): Use void pointer for the
27420 buffer.
27421 (grub_disk_write): Use const void pointer for the buffer.
27422 Adjust all callers. Remove unnecessary casts.
27423
901d2f0c 274242009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27425
27426 * util/i386/pc/grub-install.in: Update copyright year.
27427
18f547ad 274282009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27429
27430 gptsync
27431
27432 * commands/gptsync.c: new file
27433 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27434 (gptsync_mod_SOURCES): new variable
27435 (gptsync_mod_CFLAGS): likewise
27436 (gptsync_mod_LDFLAGS): likewise
18f547ad 27437 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27438 new definition
27439 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27440 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27441 * conf/i386-ieee1275.rmk: likewise
27442 * conf/i386-pc.rmk: likewise
27443 * conf/powerpc-ieee1275.rmk: likewise
27444
b4ba690a 274452009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 Fixed grub-emu
27448
27449 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27450 (grub_dl_ref): likewise
27451
317e1a44 274522009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27453
27454 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27455 split in two functions (one for msdos and one for gpt).
27456
041b8094 274572009-05-08 Pavel Roskin <proski@gnu.org>
27458
752473c2 27459 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27460 not modified.
27461
041b8094 27462 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27463 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27464 Initialize them with -1. Add sanity check for bad1. Eliminate
27465 nerr variable.
27466
172800ce 274672009-05-08 David S. Miller <davem@davemloft.net>
27468
27469 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27470
29aa5e81 274712009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27472
27473 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27474 existence.
29aa5e81 27475
96613b62 274762009-05-05 Felix Zielcke <fzielcke@z-51.de>
27477
27478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27479 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27480
eef73c8a 274812009-05-05 David S. Miller <davem@davemloft.net>
27482
27483 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27484
119494b5 274852009-05-05 Pavel Roskin <proski@gnu.org>
27486
27487 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27488 of grub_dl_ref() and grub_dl_unref().
27489 * commands/parttool.c: Remove preprocessor conditionals around
27490 grub_dl_ref() and grub_dl_unref().
27491 * fs/affs.c: Likewise.
27492 * fs/afs.c: Likewise.
27493 * fs/cpio.c: Likewise.
27494 * fs/ext2.c: Likewise.
27495 * fs/fat.c: Likewise.
27496 * fs/hfs.c: Likewise.
27497 * fs/hfsplus.c: Likewise.
27498 * fs/iso9660.c: Likewise.
27499 * fs/jfs.c: Likewise.
27500 * fs/minix.c: Likewise.
27501 * fs/ntfs.c: Likewise.
27502 * fs/reiserfs.c: Likewise.
27503 * fs/sfs.c: Likewise.
27504 * fs/udf.c: Likewise.
27505 * fs/ufs.c: Likewise.
27506 * fs/xfs.c: Likewise.
27507 * include/grub/dl.h: Likewise.
27508 * loader/xnu.c: Likewise.
27509
de5fd76e 275102009-05-04 Pavel Roskin <proski@gnu.org>
27511
27512 * commands/acpi.c: Remove unused variable my_mod.
27513 * partmap/amiga.c: Likewise.
27514 * partmap/apple.c: Likewise.
27515 * partmap/gpt.c: Likewise.
27516 * partmap/pc.c: Likewise.
27517 * partmap/sun.c: Likewise.
27518 * term/gfxterm.c: Likewise.
27519 * term/i386/pc/vesafb.c: Likewise.
27520 * term/i386/pc/vga.c: Likewise.
27521
983598ad 275222009-05-04 David S. Miller <davem@davemloft.net>
27523
27524 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27525 pointer args to grub_ieee1275_get_property().
27526
8aadec43 27527 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27528
9554b15e 27529 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27530 devices, and do not traverse down under controller nodes.
27531
67e23c90 27532 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27533 (grub_ofdisk_open): Use it to un-escape "," characters.
27534 * kern/disk.c (find_part_sep): New.
27535 (grub_disk_open): Use it to find the first non-escaped ','
27536 character in the disk name.
27537 * util/ieee1275/devicemap.c (escape_of_path): New.
27538 (grub_util_emit_devicemap_entry): Use it.
27539 * util/sparc64/ieee1275/grub-install.in: Update script to
27540 strip partition specifiers properly by not triggering on
27541 '\' escaped ',' characters.
27542
74bfdd2f 275432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27544
27545 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27546 to 0x300.
27547 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27548 resolutions.
27549 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27550 on documentation from Wikipedia).
27551
4241d2b1 275522009-05-04 Pavel Roskin <proski@gnu.org>
27553
27554 * disk/ata.c: Spelling fixes.
27555 * disk/raid.c: Likewise.
27556 * disk/usbms.c: Likewise.
27557 * disk/dmraid_nvidia.c: Likewise.
27558 * kern/ieee1275/openfw.c: Likewise.
27559 * kern/ieee1275/init.c: Likewise.
27560 * kern/ieee1275/cmain.c: Likewise.
27561 * boot/i386/pc/cdboot.S: Likewise.
27562 * video/readers/png.c: Likewise.
27563 * video/i386/pc/vbe.c: Likewise.
27564 * fs/udf.c: Likewise.
27565 * fs/hfs.c: Likewise.
27566 * fs/reiserfs.c: Likewise.
27567 * efiemu/runtime/efiemu.c: Likewise.
27568 * efiemu/main.c: Likewise.
27569 * efiemu/mm.c: Likewise.
27570 * include/grub/elf.h: Likewise.
27571 * include/grub/xnu.h: Likewise.
27572 * include/grub/usbdesc.h: Likewise.
27573 * include/grub/usb.h: Likewise.
27574 * include/grub/script_sh.h: Likewise.
27575 * include/grub/lib/LzmaEnc.h: Likewise.
27576 * include/grub/efiemu/efiemu.h: Likewise.
27577 * include/grub/command.h: Likewise.
27578 * normal/menu.c: Likewise.
27579 * normal/main.c: Likewise.
27580 * normal/datetime.c: Likewise.
27581 * bus/usb/uhci.c: Likewise.
27582 * mmap/i386/uppermem.c: Likewise.
27583 * mmap/mmap.c: Likewise.
27584 * commands/acpi.c: Likewise.
27585 * commands/test.c: Likewise.
27586 * partmap/apple.c: Likewise.
27587 * font/font.c: Likewise.
27588 * loader/sparc64/ieee1275/linux.c: Likewise.
27589 * loader/macho.c: Likewise.
27590 * loader/i386/bsd_trampoline.S: Likewise.
27591 * loader/i386/bsd.c: Likewise.
27592 * loader/xnu.c: Likewise.
27593 * term/i386/pc/vesafb.c: Likewise.
27594 * term/usb_keyboard.c: Likewise.
27595 * util/resolve.c: Likewise.
27596 * util/getroot.c: Likewise.
27597
0cfc0083 275982009-05-04 Felix Zielcke <fzielcke@z-51.de>
27599
27600 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27601
7c1d00cd 276022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27603
27604 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27605 build error.
27606
b01f0548 276072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27608
27609 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27610 parameter only available on BIOS.
27611
ecc3eb22 276122009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27613
27614 Removed wrong semicolon in declaration
27615
27616 * grub/misc.h (grub_dprintf): remove semicolon
27617
112972a9 276182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27619
27620 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27621 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27622 is done by grub_cmd_linux() now).
27623 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27624 restore video to text mode.
27625 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27626 indicates lack of "vga=" parameter. "vga=0" is mapped to
27627 `GRUB_LINUX_VID_MODE_NORMAL'.
27628
afd5c115 276292009-05-04 Felix Zielcke <fzielcke@z-51.de>
27630
27631 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27632 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27633 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27634 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27635 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27636 `grub_script.tab.c'.
27637
27638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27639 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27641 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27642 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27643
faa517ce 27644 * Makefile.in: Remove duplicated 2008 in Copyright line.
27645
ae0c0bdc 276462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27647
473d1e45 27648 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27649 unconditionally.
27650 * include/grub/util/misc.h (grub_util_warn): New declaration.
27651
27652 * util/i386/pc/grub-install.in: Understand --force and pass it down
27653 to grub-setup.
27654
27655 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27656 down to setup().
27657 (setup): Improve error messages and add warnings when requested to
27658 install in odd layouts. Refuse to install using blocklists unless
27659 --force was set.
27660
18f547ad 276612009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27662
27663 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27664
6d260daa 276652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27666
27667 Updated copyright year
27668
27669 * fs/hfsplus.c: updated copyright year
18f547ad 27670
69f853f8 276712009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27672
27673 HFS+ UUID
27674
18f547ad 27675 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27676 in the space previously used by unused3
27677 (grub_hfsplus_uuid): new function
27678 (grub_hfsplus_fs): added uuid field
27679
4c402e73 276802009-05-03 Pavel Roskin <proski@gnu.org>
27681
27682 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27683 suppress warnings. It's no longer needed.
27684 * disk/host.c: Likewise.
27685 * disk/ata_pthru.c: Likewise.
27686 * disk/loopback.c: Likewise.
27687 * hook/datehook.c: Likewise.
27688 * parttool/pcpart.c: Likewise.
27689 * fs/i386/pc/pxe.c: Likewise.
27690 * fs/ntfscomp.c: Likewise.
27691 * efiemu/main.c: Likewise.
27692 * mmap/mmap.c: Likewise.
27693 * commands/crc.c: Likewise.
27694 * commands/hexdump.c: Likewise.
27695 * commands/hdparm.c: Likewise.
27696 * commands/acpi.c: Likewise.
27697 * commands/echo.c: Likewise.
27698 * commands/minicmd.c: Likewise.
27699 * commands/blocklist.c: Likewise.
27700 * commands/memrw.c: Likewise.
27701 * commands/loadenv.c: Likewise.
27702 * commands/usbtest.c: Likewise.
27703 * commands/lsmmap.c: Likewise.
27704 * commands/boot.c: Likewise.
27705 * commands/parttool.c: Likewise.
27706 * commands/configfile.c: Likewise.
27707 * commands/search.c: Likewise.
27708 * commands/ieee1275/suspend.c: Likewise.
27709 * commands/cat.c: Likewise.
27710 * commands/i386/pc/pxecmd.c: Likewise.
27711 * commands/i386/pc/play.c: Likewise.
27712 * commands/i386/pc/halt.c: Likewise.
27713 * commands/i386/pc/vbeinfo.c: Likewise.
27714 * commands/i386/pc/vbetest.c: Likewise.
27715 * commands/lspci.c: Likewise.
27716 * commands/date.c: Likewise.
27717 * commands/handler.c: Likewise.
27718 * commands/ls.c: Likewise.
27719 * commands/test.c: Likewise.
27720 * commands/cmp.c: Likewise.
27721 * commands/efi/loadbios.c: Likewise.
27722 * commands/efi/fixvideo.c: Likewise.
27723 * commands/halt.c: Likewise.
27724 * commands/help.c: Likewise.
27725 * commands/reboot.c: Likewise.
27726 * hello/hello.c: Likewise.
27727 * script/sh/main.c: Likewise.
27728 * loader/xnu.c: Likewise.
27729 * term/terminfo.c: Likewise.
27730 * term/i386/pc/serial.c: Likewise.
27731 * term/usb_keyboard.c: Likewise.
27732
515b5079 277332009-05-03 David S. Miller <davem@davemloft.net>
27734
27735 * normal/menu.c: Include grub/parser.h
27736
dfc31a22 277372009-05-03 Pavel Roskin <proski@gnu.org>
27738
2fee74f1 27739 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27740 not char*.
27741 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27742 Suggested by Javier Martín <lordhabbit@gmail.com>
27743
dfc31a22 27744 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27745 efiemu??.o doesn't exist.
27746 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27747 copying.
27748
18f547ad 277492009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27750
27751 FreeBSD 64-bit support
27752
18f547ad 27753 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27754 and loader/i386/bsd_trampoline.S
27755 (bsd_mod_ASFLAGS): new variable
27756 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27757 (FREEBSD_MODTYPE_KERNEL64): likewise
27758 (grub_bsd64_trampoline_start): likewise
27759 (grub_bsd64_trampoline_end): likewise
27760 (grub_bsd64_trampoline_selfjump): likewise
27761 (grub_bsd64_trampoline_gdt): likewise
27762 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27763 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27764 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27765 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27766 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27767 of "attrib" member
27768 * loader/i386/bsd_pagetable.c: new file
27769 * loader/i386/bsd_trampoline.S: likewise
27770 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27771 (ALIGN_VAR): likewise
27772 (entry_hi): new variable
27773 (kern_end_mdofs): likewise
27774 (is_64bit): likewise
27775 (grub_freebsd_add_meta): use ALIGN_VAR
27776 (grub_e820_mmap): new declaration
27777 (grub_freebsd_add_mmap): new function
27778 (grub_freebsd_add_meta_module): support 64 bit kernels
27779 (grub_freebsd_list_modules): use ALIGN_VAR
27780 (gdt_descriptor): new declaration
27781 (grub_freebsd_boot): support 64 bit kernels
27782 (grub_bsd_elf64_hook): new function
27783 (grub_bsd_load_elf): support elf64
27784
038c5720 277852009-05-03 Bean <bean123ch@gmail.com>
27786
27787 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27788 after we get the result of if statement.
27789
fc45fb58 277902009-05-03 Bean <bean123ch@gmail.com>
27791
27792 * Makefile.in (enable_efiemu): New variable.
27793
27794 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27795 set.
27796 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27797 path.
27798 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27799 path, add -mno-red-zone option.
27800 (efiemu64_s.o): Likewise.
27801 (efiemu64.o): Use macro $^ for source file.
27802
27803 * configure.ac (--enable-efiemu): New option.
27804
bbee0f2b 278052009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27806
27807 xnu support
27808
27809 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27810 (pkglib_MODULES): add xnu.mod
27811 (xnu_mod_SOURCES): new variable
27812 (xnu_mod_CFLAGS): likewise
27813 (xnu_mod_LDFLAGS): likewise
27814 (xnu_mod_ASFLAGS): likewise
27815 * conf/i386-pc.rmk: likewise
27816 * conf/x86_64-efi.rmk: likewise
7dd4a573 27817 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27818 new declaration
27819 * include/grub/i386/macho.h: new file
27820 * include/grub/i386/xnu.h: likewise
27821 * include/grub/macho.h: likewise
27822 * include/grub/machoload.h: likewise
27823 * include/grub/x86_64/macho.h: likewise
27824 * include/grub/x86_64/xnu.h: likewise
27825 * include/grub/xnu.h: likewise
27826 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27827 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27828 * loader/i386/efi/xnu.c: new file
27829 * loader/i386/pc/xnu.c: likewise
27830 * loader/i386/xnu.c: likewise
27831 * loader/i386/xnu_helper.S: likewise
27832 * loader/macho.c: likewise
27833 * loader/xnu.c: likewise
27834 * loader/xnu_resume.c: likewise
27835 * util/grub-dumpdevtree: likewise
27836 * include/grub/i386/pit.h: include grub/err.h
27837 (grub_pit_wait): export
27838 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27839
5caf964d 278402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27841
27842 Efiemu
7dd4a573 27843
5caf964d 27844 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27845 _linux_efi, linux_efi.
27846 new files in grub-emu
5caf964d 27847 new targets efiemu32.o and efiemu64.o
27848 * loader/linux_normal_efiemu.c: likewise
27849 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27850 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27851 files to copy
27852 * include/grub/autoefi.h: new file
7dd4a573 27853 * include/grub/i386/efiemu.h: likewise
5caf964d 27854 * include/grub/i386/pc/efiemu.h: likewise
27855 * include/grub/efi/api.h: add LL suffix when necessary
27856 new definitions relating to tables
27857 * include/grub/efiemu/efiemu.h: new file
27858 * include/grub/efiemu/runtime.h: likewise
27859 * efiemu/prepare.c: likewise
27860 * efiemu/loadcore_common.c: likewise
27861 * efiemu/loadcore64.c: likewise
27862 * efiemu/runtime/efiemu.sh: likewise
27863 * efiemu/runtime/efiemu.S: likewise
27864 * efiemu/runtime/efiemu.c: likewise
27865 * efiemu/runtime/config.h: likewise
27866 * efiemu/prepare32.c: likewise
27867 * efiemu/main.c: likewise
27868 * efiemu/modules/pnvram.c: likewise
27869 * efiemu/modules/i386: likewise
27870 * efiemu/modules/i386/pc: likewise
27871 * efiemu/modules/acpi.c: likewise
27872 * efiemu/i386/pc/cfgtables.c: likewise
27873 * efiemu/i386/loadcore64.c: likewise
27874 * efiemu/i386/loadcore32.c: likewise
27875 * efiemu/prepare64.c: likewise
27876 * efiemu/loadcore.c: likewise
27877 * efiemu/symbols.c: likewise
27878 * efiemu/mm.c: likewise
27879 * efiemu/loadcore32.c: likewise
7dd4a573 27880
278812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27882
27883 ACPI spoofing
27884
27885 * commands/acpi.c: new file
27886 * commands/i386/pc/acpi.c: likewise
27887 * commands/efi/acpi.c: likewise
27888 * include/grub/acpi.h: likewise
27889 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27890 (acpi_mod_SOURCES): new variable
27891 (acpi_mod_CFLAGS): likewise
27892 (acpi_mod_LDFLAGS): likewise
27893 * conf/i386-efi.rmk: likewise
27894 * conf/x86_64-efi.rmk: likewise
27895
7dd4a573 278962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27897
27898 Missing part from mmap patch
27899
27900 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27901 (grub_mmap_unregister)
27902 (grub_mmap_free_and_unregister): use grub_mmap_register
27903
7dd4a573 279042009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27905
27906 Mmap services
27907
27908 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27909 * loader/i386/linux.c (find_mmap_size): likewise
27910 (allocate_pages): likewise
27911 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27912 (grub_fill_multiboot_mmap): likewise
27913 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27914 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27915 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27916 (OPENBSD_MMAP_RESERVED): likewise
27917 * include/grub/i386/pc/memory.h: include grub/memory.h
27918 (grub_lower_mem): removed
27919 (grub_upper_mem): likewise
27920 (GRUB_MACHINE_MEMORY_ACPI): new definition
27921 (GRUB_MACHINE_MEMORY_NVS): likewise
27922 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27923 (GRUB_MACHINE_MEMORY_HOLE): likewise
27924 (grub_machine_mmap_register): likewise
27925 (grub_machine_mmap_unregister): likewise
27926 (grub_machine_get_upper): likewise
27927 (grub_machine_get_lower): likewise
27928 (grub_machine_get_post64): likewise
27929 * include/grub/i386/efi/memory.h: new file
27930 * include/grub/x86_64/efi/memory.h: likewise
27931 * include/grub/efi/memory.h: likewise
27932 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27933 (mmap_mod_SOURCES): new variable
27934 (mmap_mod_LDFLAGS): likewise
27935 (mmap_mod_ASFLAGS): likewise
27936 * conf/i386-coreboot.rmk: likewise
27937 * conf/i386-ieee1275.rmk: likewise
27938 * conf/i386-efi.rmk: likewise
27939 * conf/x86_64-efi.rmk: likewise
27940 * include/grub/types.h (UINT_TO_PTR): new macro
27941 (PTR_TO_UINT32): likewise
27942 (PTR_TO_UINT64): likewise
27943 * include/grub/memory.h: new file
27944 * mmap/i386/pc/mmap.c: likewise
27945 * mmap/i386/pc/mmap_helper.S: likewise
27946 * mmap/i386/uppermem.c: likewise
27947 * mmap/mmap.c: likewise
27948 * mmap/efi/mmap.c: likewise
7dd4a573 27949 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27950 grub_upper_mem
27951 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27952 (grub_upper_mem): likewise
27953 (grub_machine_init): don't use grub_upper_mem,
27954 make grub_lower_mem local
27955 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27956 grub_mmap_iterate and grub_mmap_get_upper
27957 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27958
d558e6b5 279592009-05-02 Bean <bean123ch@gmail.com>
27960
27961 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27962 script/sh/parser.y.
27963 (pkglib_MODULES): Add normal.mod and sh.mod.
27964 (normal_SOURCES): New variable.
27965 (normal_mod_CFLAGS): Likewise.
27966 (normal_mod_LDFLAGS): Likewise.
27967 (sh_mod_SOURCES): Likewise.
27968 (sh_mod_CFLAGS): Likewise.
27969 (sh_mod_LDFLAGS): Likewise.
27970
27971 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27972 script/sh/lexer.c_DEPENDENCIES.
27973 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27974 kern/rescue_reader.c and kern/rescue_parser.c.
27975 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27976 (grub_emu_SOURCES): Change source files.
27977 (pkglib_MODULES): Remove normal.mod.
27978 (normal_SOURCES): Removed.
27979 (normal_mod_CFLAGS): Likewise.
27980 (normal_mod_LDFLAGS): Likewise.
27981 * conf/i386-coreboot.rmk: Likewise.
27982 * conf/i386-efi.rmk: Likewise.
27983 * conf/i386-ieee1276.rmk: Likewise.
27984 * conf/powerpc-ieee1275.rmk: Likewise.
27985 * conf/sparc64-ieee1275.rmk: Likewise.
27986 * conf/x86_64-efi.rmk: Likewise.
27987
27988 * include/grub/command.h (grub_command_execute): New inline function.
27989
27990 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27991
27992 * include/grub/normal.h: Remove <grub/setjmp.h>.
27993 (grub_fs_module_list): Moved to normal/autofs.c.
27994 (grub_exit_env): Removed.
27995 (grub_command_execute): Likewise.
27996 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27997 parameter script.
27998 (read_command_list): New function declaration.
27999 (read_fs_list): Likewise.
28000
28001 * include/parser.h: Include <grub/reader.h>.
28002 (grub_parser_split_cmdline): Change type of getline parameter.
28003 (grub_parser): New structure.
28004 (grub_parser_class): New variable.
28005 (grub_parser_execute): New function declaration.
28006 (grub_register_rescue_parser): Likewise.
28007 (grub_parser_register): New inline function.
28008 (grub_parser_unregister): Likewise.
28009 (grub_parser_get_current): Likewise.
28010 (grub_parser_set_current): Likewise.
28011
28012 * include/grub/reader.h: New file.
28013 * kern/reader.c: Likewise.
28014 * kern/rescue_parser.c: Likewise.
28015 * kern/rescue_reader.c: Likewise.
28016 * normal/autofs.c: Likewise.
28017 * normal/dyncmd.c: Likewise.
28018
28019 * include/grub/rescue.h: Removed.
28020 * normal/command.h: Likewise.
28021
28022 * include/grub/script.h: Moved to ...
28023 * include/grub/script_sh.h: ... Moved here.
28024 * normal/execute.c: Moved to ...
28025 * script/sh/execute.c: ... Moved here.
28026 * normal/function.c: Moved to ...
28027 * script/sh/function.c: ... Moved here.
28028 * normal/lexer.c: Moved to ...
28029 * script/sh/lexer.c: ... Moved here.
28030 * normal/parser.y: Moved to ...
28031 * script/sh/parser.y: ... Moved here.
28032 * normal/script.c: Moved to ...
28033 * script/sh/script.c: ... Moved here.
28034
28035 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28036 <grub/reader.h>.
28037 (grub_exit_env): Removed.
28038 (fs_module_list): Moved to normal/autofs.c.
28039 (grub_file_getline): Don't handle comment here.
28040 (free_menu): Skip removed field entry->commands.
28041 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28042 script parameter.
28043 (read_config_file): Removed nested parameter, change getline function.
28044 (grub_enter_normal_mode): Removed.
28045 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28046 (read_command_list): Likewise.
28047 (autoload_fs_module): Moved to normal/autofs.c.
28048 (read_fs_list): Likewise.
28049 (reader_nested): New variable.
28050 (grub_normal_execute): Run parser.sh to switch to sh parser.
28051 (grub_cmd_rescue): Removed.
28052 (cmd_normal): Removed.
28053 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28054 rescue command.
28055 (grub_cmdline_run): New function.
28056 (grub_normal_reader_init): Likewise.
28057 (grub_normal_read_line): Likewise.
28058 (grub_env_write_pager): Likewise.
28059 (cmdline): New variable.
28060 (grub_normal_reader): Likewise.
28061 (GRUB_MOD_INIT): Register normal reader and set as current, register
28062 pager hook, register normal command with grub_register_command_prio,
28063 so that it won't show up in command.lst.
28064 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28065 grub_fs_autoload_hook.
28066
28067 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28068 (grub_menu_execute_entry): Replace grub_script_execute with
28069 grub_parser_execute, change parameter to grub_command_execute.
28070
28071 * normal/menu_text.c: Remove <grub/script.h>.
28072
28073 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28074 and <grub/parser.h>.
28075 (run): Change editor_getline to use new parser interface. Change
28076 parameter to grub_command_execute.
28077
28078 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28079 <grub/reader.h> and <grub/parser.h>.
28080 (grub_load_normal_mode): Execute normal command.
28081 (grub_main): Call grub_register_core_commands,
28082 grub_register_rescue_parser and grub_register_rescue_reader, use
28083 grub_reader_loop to enter input loop.
28084
7dd4a573 28085 * kern/parser.c (grub_parser_split_cmdline): Change type of
28086 getline parameter.
d558e6b5 28087 (grub_parser_class): New variable.
28088 (grub_parser_execute): New function.
28089
28090 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28091 * loader/multiboot2.c: Likewise.
28092 * loader/sparc64/ieee1275/linux.c: Likewise.
28093
28094 * util/grub-emu.c (read_command_list): New dummy function.
28095
18db813d 280962009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28097
28098 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28099 count to 16 for CCISS and IDA.
28100
6c67de15 281012009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28102
28103 * normal/menu_text.c (grub_wait_after_message): Print a newline
28104 after waiting for user input.
28105
28106 * loader/i386/linux.c: Include `<grub/normal.h>'.
28107 (grub_cmd_linux): Improve the error message about `ask' mode, by
28108 waiting for user input so it's not missed (we can do this, since
28109 user requested interaction).
28110
d9dc87b0 281112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28112
28113 Added missing lst to grub-mkrescue
28114
28115 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28116 and ${input_dir}/parttool.lst
28117
ac8a2baa 281182009-04-30 David S. Miller <davem@davemloft.net>
28119
ad22a610 28120 * util/hostdisk.c (device_is_wholedisk): New function.
28121 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28122 zero only if device_is_wholedisk() returns true.
28123
6966215d 28124 * util/hostdisk.c (convert_system_partition_to_system_disk):
28125 Handle virtual disk devices named /dev/vdiskX as found on sparc
28126 and powerpc.
28127
ac8a2baa 28128 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28129 lettered partition specifier is found, convert to numbered.
28130
979b4fb4 281312009-04-29 David S. Miller <davem@davemloft.net>
28132
e2bf39b2 28133 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28134 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28135
3c64e104 28136 * normal/command.c: Add missing newline at end of file.
28137
979b4fb4 28138 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28139 warnings.
28140 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28141 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28142 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28143 ihandles have a 32-bit type but need to be stored in a "void *".
28144
136d9f82 281452009-04-28 Pavel Roskin <proski@gnu.org>
28146
9459c306 28147 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28148 not disk. Adjust all dependencies.
2e08a26a 28149 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28150 grub_disk_close().
28151
136d9f82 28152 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28153 parent's partition, don't copy it by reference, as it gets freed
28154 on close.
28155
7dd4a573 281562009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28157
28158 Preboot hooks support
28159
28160 * commands/boot.c (struct grub_preboot_t): new declaration
28161 (preboots_head): new variable
28162 (preboots_tail): likewise
28163 (grub_loader_register_preboot_hook): new function
28164 (grub_loader_unregister_preboot_hook): likewise
28165 (grub_loader_set): launch preboot hooks
28166 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28167 (grub_loader_register_preboot_hook): new declaration
28168 (grub_loader_unregister_preboot_hook): likewise
28169
5af922b5 281702009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28171
28172 Warning fix
28173
7dd4a573 28174 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28175 calling grub_dprintf
28176
a5562c30 281772009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28178
28179 Bug and warning fixes
28180
7dd4a573 28181 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28182 declaration
28183 * commands/test.c (test_parse): fixed bug with file tests and corrected
28184 declaration of find_file
28185
4006f85c 281862009-04-26 Pavel Roskin <proski@gnu.org>
28187
28188 * Makefile.in: Don't install empty manual pages if help2man is
28189 missing. Use help2man option for output, not shell redirection.
28190
5c77c3de 281912009-04-26 David S. Miller <davem@davemloft.net>
28192
28193 * util/grub-mkdevicemap.c (make_device_map): Add missing
28194 NESTED_FUNC_ATTR to process_device().
28195
033b10a8 281962009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28197
28198 Test command
28199
28200 * commands/test.c: rewritten to use bash-like test
28201
e4343593 282022009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28203
28204 Parttool autoloading and improvements
28205
7dd4a573 28206 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28207 (parttool.lst): new target
28208 * genmk.rb: generate parttool-*
28209 (CLEANFILES): add #{parttool}
28210 (PARTTOOLFILES): new variable
28211 * genparttoollist.sh: new file
7dd4a573 28212 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28213 (grub_pcpart_type): likewise
28214 * commands/parttool.c (helpmsg): new variable
28215 (grub_cmd_parttool): output help if not enough arguments are supplied
28216 autoload modules
28217 (GRUB_MOD_INIT(parttool)): use helpmsg
28218
0d312500 282192009-04-24 David S. Miller <davem@davemloft.net>
28220
7dd4a573 28221 Avoiding opening same device multiple times in device iterator.
0d312500 28222
28223 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28224 and use it to build a list of partitions in iterate_disk() and
0d312500 28225 iterate_partition().
28226
ac20caff 28227 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28228 on disk->data.
28229
0dcf7495 28230 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28231 grub_devalias_iterate() result instead of unconditional 0.
28232 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28233 Also, capture hook return value, either directly or via
28234 grub_children_iterate(), and propagate to caller.
28235 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28236 grub_children_iterate): Return value is now 'int' instead of
28237 'grub_err_t'.
28238 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28239 like a proper iterator, stopping when hooks return non-zero.
28240 (grub_devalias_iterate): Likewise.
28241
c8c08833 282422009-04-23 David S. Miller <davem@davemloft.net>
28243
28244 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28245
f01005a8 282462009-04-22 David S. Miller <davem@davemloft.net>
28247
28248 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28249 is larger than address_cells, use that value for address_cells too.
28250
4e8269da 28251 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28252 IEEE1275_MAX_PATH_LEN): Define.
28253 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28254 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28255 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28256 'devtype'. Explicitly NULL terminate devalias expansion.
28257
a1447506 28258 * util/sparc64/ieee1275/misc.c: New file.
28259 * util/sparc64/ieee1275/grub-setup.c: New file.
28260 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28261 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28262 * util/sparc64/ieee1275/grub-install.in: New file.
28263 * util/ieee1275/ofpath.c: New file.
28264 * util/ieee1275/devicemap.c: New file.
28265 * util/devicemap.c: New file.
28266 * util/deviceiter.c: New file.
28267 * kern/sparc64/ieee1275/init.c: New file.
28268 * include/grub/util/ofpath.h: New file.
28269 * include/grub/util/deviceiter.h: New file.
28270 * util/grub-mkdevicemap.c: Include deviceiter.h.
28271 Implement using grub_util_emit_devicemap_entry and
28272 grub_util_iterate_devices.
28273 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28274 util/devicemap.c into grub-mkdevicemap
28275 * conf/i386-efi.rmk: Likewise.
28276 * conf/i386-ieee1275.rmk: Likewise.
28277 * conf/i386-pc.rmk: Likewise.
28278 * conf/powerpc-ieee1275.rmk: Likewise.
28279 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28280 images and installation utilities. Build kernel as image
28281 instead of as elf binary. Use common rules as much as possible.
28282
7dd4a573 282832009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28284
28285 Correct GPT definition
28286
7dd4a573 28287 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28288 of "attrib" member
28289
c6c5219f 282902009-04-19 Felix Zielcke <fzielcke@z-51.de>
28291
28292 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28293
0552ff9f 282942009-04-19 David S. Miller <davem@davemloft.net>
28295
28296 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28297 (grub_rescue_cmd_linux): Rename to...
28298 (grub_cmd_linux): and fix prototype.
28299 (grub_rescue_cmd_initrd): Rename to...
28300 (grub_cmd_initrd): and fix prototype.
28301 (cmd_linux, cmd_initrd): New.
28302 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28303 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28304
d1a282fc 283052009-04-17 Pavel Roskin <proski@gnu.org>
28306
07c5039f 28307 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28308 format.
28309 (grub_ohci_transfer): Likewise.
28310
b012002d 28311 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28312
1bc09c35 28313 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28314 return without a value. Fix inconsistent indentation.
28315
e0ff9126 28316 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28317 match struct grub_fs.
28318
d1a282fc 28319 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28320 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28321 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28322 * commands/lspci.c (grub_lspci_iter): Likewise.
28323
a96df3f2 283242009-04-16 Bean <bean123ch@gmail.com>
28325
28326 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28327 value.
28328
41bb0fe9 283292009-04-15 Pavel Roskin <proski@gnu.org>
28330
28331 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28332 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28333 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28334 definitions.
28335
596c6970 283362009-04-15 Felix Zielcke <fzielcke@z-51.de>
28337
28338 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28339 that no multiple data or metadata areas are supported and `Unknown
596c6970 28340 metadata header'.
28341
7dd4a573 283422009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28343
28344 Move loader out of the kernel
28345
28346 * kern/loader.c: moved to ...
28347 * commands/boot.c: ... moved here
28348 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28349 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28350 * include/grub/kernel.h (grub_machine_fini): export
28351 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28352 (grub_loader_set): likewise
28353 (grub_loader_unset): likewise
28354 (grub_loader_boot): likewise
28355 * conf/common.rmk: new module boot.mod
28356 (pkglib_MODULES): add boot.mod
28357 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28358 (grub_emu_SOURCES): likewise
28359 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28360 (grub_emu_SOURCES): likewise
28361 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28362 (grub_emu_SOURCES): likewise
28363 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28364 (grub_emu_SOURCES): likewise
28365 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28366 (grub_emu_SOURCES): likewise
7dd4a573 28367 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28368 (grub_emu_SOURCES): likewise
0d5d5653 28369 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28370 (grub_emu_SOURCES): likewise
0d5d5653 28371
7dd4a573 283722009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28373
28374 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28375
5999d619 28376 * kern/misc.c (grub_itoa): Removed function
28377 (grub_ltoa): likewise
28378 (grub_vsprintf): use grub_lltoa
28379
7dd4a573 283802009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28381
28382 Restore grub-emu
28383
28384 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28385 * conf/i386-coreboot.rmk: likewise
28386 * conf/i386-ieee1275.rmk: likewise
28387 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28388
20318222 283892009-04-15 Felix Zielcke <fzielcke@z-51.de>
28390
28391 * INSTALL: Add that `./autogen.sh' needs to be run before
28392 `./configure.'.
28393
d05f0df3 283942009-04-14 Bean <bean123ch@gmail.com>
28395
28396 * Makefile.in (pkglib_DATA): Add handler.lst.
28397 (handler.lst): New rule.
28398
28399 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28400 * conf/i386-coreboot.rmk: Likewise.
28401 * conf/i386-ieee1275.rmk: Likewise.
28402 * conf/i386-efi.rmk: Likewise.
28403 * conf/x86_64-efi.rmk: Likewise.
28404 * conf/powerpc-ieee1275.rmk: Likewise.
28405 * conf/sparc64-ieee1275.rmk: Likewise.
28406
28407 * genhandlerlist.sh: New file.
28408
28409 * genmk.rb: Add rules to generate handler.lst.
28410
28411 * include/grub/normal.h (grub_file_getline): New function definition.
28412 (read_handler_list): Likewise.
28413 (free_handler_list): Likewise.
28414
28415 * include/grub/term.h (grub_term_register_input): Add name parameter
28416 for auto generation of handler.lst.
28417 (grub_term_register_output): Likewise.
28418
28419 * normal/handler.c: New file.
28420
28421 * normal/main.c (get_line): Renamed to grub_file_getline.
28422 (read_config_file): Use the newly renamed grub_file_getline.
28423 (read_command_list): Likewise.
28424 (read_fs_list): Likewise.
28425 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28426 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28427
28428 * term/efi/console.c (grub_console_init): Add name parameter for auto
28429 generation of handler.lst.
28430 * term/gfxterm.c: Likewise.
28431 * term/i386/pc/at_keyboard.c: Likewise.
28432 * term/i386/pc/console.c: Likewise.
28433 * term/i386/pc/serial.c: Likewise.
28434 * term/i386/pc/vesafb.c: Likewise.
28435 * term/i386/pc/vga.c: Likewise.
28436 * term/i386/pc/vga_text.c: Likewise.
28437 * term/ieee1275/ofconsole.c: Likewise.
28438 * term/usb_keyboard.c: Likewise.
28439
33c846be 284402009-04-14 Bean <bean123ch@gmail.com>
28441
28442 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28443 properly with null character.
28444
4484e01e 284452009-04-14 Felix Zielcke <fzielcke@z-51.de>
28446
28447 * configure: Remove.
28448 * config.h.in: Likewise.
f93d668e 28449 * stamp-h.in: Likewise.
4484e01e 28450 * DISTLIST: Likewise.
28451 * conf/common.mk: Likewise.
28452 * conf/i386-coreboot.mk: Likewise.
28453 * conf/i386-efi.mk: Likewise.
28454 * conf/i386-ieee1275.mk: Likewise.
28455 * conf/i386.mk: Likewise.
28456 * conf/i386-pc.mk: Likewise.
28457 * conf/powerpc-ieee1275.mk: Likewise.
28458 * conf/sparc64-ieee1275.mk: Likewise.
28459 * conf/x86_64-efi.mk: Likewise.
28460
28461 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28462 develop on GRUB.
28463
7dd4a573 284642009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28465 David S. Miller <davem@davemloft.net>
28466
28467 * util/hostdisk.c (make_device_name): Fix buffer length
28468 calculations.
28469
e25b5a8c 284702009-04-14 Felix Zielcke <fzielcke@z-51.de>
28471
28472 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28473 <sys/param.h> and <sys/sysctl.h>.
28474 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28475 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28476 opening the device and reset them afterwards.
28477
1f1f580c 284782009-04-13 Pavel Roskin <proski@gnu.org>
28479
28480 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28481 Reported by John Stanley <jpsinthemix@verizon.net>
28482
7ebc2d6b 284832009-04-13 Robert Millan <rmh@aybabtu.com>
28484
28485 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28486 that name for menuentries when appropriate.
7ebc2d6b 28487
d8ba3667 284882009-04-13 Felix Zielcke <fzielcke@z-51.de>
28489
28490 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28491
cba416eb 284922009-04-13 Robert Millan <rmh@aybabtu.com>
28493
28494 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28495 to Linux, simply abort telling the user it's no longer supported.
28496
a547a745 284972009-04-13 Felix Zielcke <fzielcke@z-51.de>
28498
28499 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28500 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28501 `freebsd_loadenv' only when devices.hints exist.
28502
232a769c 285032009-04-13 Pavel Roskin <proski@gnu.org>
28504
28505 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28506
c3012039 285072009-04-13 Felix Zielcke <fzielcke@z-51.de>
28508
28509 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28510 partition number.
28511 (grub_drive): Likewise.
28512
234022fe 285132009-04-13 David S. Miller <davem@davemloft.net>
28514
28515 * kern/sparc64/ieee1275/ieee1275.c: New file.
28516 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28517 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28518 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28519 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28520 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28521 grub_ieee1275_alloc_physmem): Declare new exported functions.
28522
d8e1836c 28523 * include/grub/sparc64/ieee1275/loader.h: New file.
28524 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28525 * include/grub/sparc64/kernel.h: Likewise.
28526 * loader/sparc64/ieee1275/linux.c: Likewise.
28527
96bd81ec 28528 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28529 (grub_fstest_SOURCES): Likewise.
28530
6a4737e5 28531 * util/hostdisk.c (make_device_name): Do not make any assumptions
28532 about the length of drive names.
28533
1d7a72fd 28534 * kern/dl.c (grub_dl_load_file): Close file immediately when
28535 we are done using it.
28536
56bc2471 285372009-04-12 David S. Miller <davem@davemloft.net>
28538
28539 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28540 values. Noticed by Pavel Roskin.
28541
df38d0bb 28542 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28543 target compiler.
7dd4a573 28544
e382e93a 28545 * genmk.rb: Add more flexible image type specification, also
28546 pass --strip-unneeded to objcopy.
28547 * conf/i386-pc.rmk: Use *_FORMAT.
28548 * conf/i386-pc.mk: Rebuilt.
28549
f5dbbca9 28550 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28551 (OFDISK_HASH_SZ): Define.
28552 (ofdisk_hash): New hash table.
28553 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28554 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28555 instead of device phandle which is not unique.
28556
91c88b12 28557 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28558 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28559 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28560 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28561 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28562 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28563 GRUB_KERNEL_MACHINE_DATA_END): Define.
28564 (grub_kernel_image_size, grub_total_module_size): Declare.
28565
5b5d4aa5 285662009-04-12 Pavel Roskin <proski@gnu.org>
28567
7dd4a573 28568 * configure.ac: Change the logic when we check for target tools.
28569 Do it when the target is specified and it's different from the
28570 specified value of the host.
5b5d4aa5 28571
c91e1793 285722009-04-11 Felix Zielcke <fzielcke@z-51.de>
28573
28574 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28575 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28576 GNU/kFreeBSD. Check if a device is a character device. Use
28577 DIOCGMEDIASIZE to get the size.
28578 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28579 support for GNU/kFreeBSD.
28580 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28581 is a character device instead of a block device. Add support for
28582 FreeBSD device names.
28583
28584 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28585 is a character device instead of a block device.
28586
28587 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28588 is a character device instead of a block device.
28589
b1ac8644 285902009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28591
28592 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28593 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28594 FreeBSD. Check if a device is a character device. Use
28595 DIOCGMEDIASIZE to get the size.
28596 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28597 support for FreeBSD.
28598 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28599 is a character device instead of a block device. Add support for
28600 FreeBSD device names.
28601
28602 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28603 a character device instead of a block device.
28604 (grub_util_check_char_device): New function.
28605
28606 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28607 a character device instead of a block device.
28608
28609 * include/grub/util/getroot.h (grub_util_check_char_device): New
28610 prototype.
28611
a3f7515a 286122009-04-11 David S. Miller <davem@davemloft.net>
28613
28614 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28615 static libgcc.
28616 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28617 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28618 function, if present.
28619 (__bswapdi2): Likewise.
28620
0d44993d 28621 * include/grub/sparc64/ieee1275/boot.h: New file.
28622 * boot/sparc64/ieee1275/boot.S: Likewise.
28623 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28624
ed3d2bc2 28625 * kern/misc.c (grub_ltoa): New function.
28626 (grub_vsprintf): Use it to format 'long' integers.
28627
d3bfb59c 286282009-04-10 David S. Miller <davem@davemloft.net>
28629
28630 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28631 slots are of type grub_ieee1275_cell_t.
28632 (grub_nand_read): Likewise.
28633 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28634 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28635 macros are used to compare values in arg/ret block of the call.
28636 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28637 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28638 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28639 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28640 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28641 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28642 grub_ieee1275_close, grub_ieee1275_set_property,
28643 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28644 grub_ieee1275_cell_t.
28645 * kern/ieee1275/openfw.c (grub_map): Likewise.
28646 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28647 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28648
450e2238 28649 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28650 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28651 (grub_devalias_iterate): Likewise.
28652
7dd4a573 286532009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28654
28655 UFS improvements
28656
28657 * fs/ufs.c (INODE_NBLOCKS): new definition
28658 (struct grub_ufs_dirent): added fields for non-BSD dirents
28659 (grub_ufs_get_file_block): fixed double indirect handling
28660 (grub_ufs_lookup_symlink): use more robust way to determine whether
28661 symlink is inline
28662 (grub_ufs_find_file): support for non-BSD dirents
28663 (grub_ufs_dir): support for non-BSD dirents
28664
e7e6862a 286652009-04-10 Bean <bean123ch@gnail.com>
28666
28667 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28668 attribute, otherwise the size would be wrong for i386 platform.
28669
28670 * include/grub/pci.h (grub_pci_read_word): New inline function.
28671 (grub_pci_read_byte): Likewise.
28672 (grub_pci_write): Likewise.
28673 (grub_pci_write_word): Likewise.
28674 (grub_pci_write_byte): Likewise.
28675
28676 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28677
28678 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28679 (find_framebuf): Scan pci to locate the frame buffer address.
28680
28681 * commands/efi/fixvideo.c: New file.
28682
28683 * commands/efi/loadbios.c: Likewise.
28684
28685 * commands/memrw.c: Likewise.
28686
28687 * util/grub-dumpbios.in: Likewise.
28688
28689 * conf/common.rmk (grub-dumpbios): New utility.
28690 (pkglib_MODULES): New module memrw.mod.
28691 (memrw_mod_SOURCE): New macro.
28692 (memrw_mod_CFLAGS): Likewise.
28693 (memrw_mod_LDFLAGS): Likewise.
28694
7dd4a573 28695 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28696 fixvideo.mod.
28697 (loadbios_mod_SOURCE): New macro.
28698 (loadbios_mod_CFLAGS): Likewise.
28699 (loadbios_mod_LDFLAGS): Likewise.
28700 (fixvideo_mod_SOURCE): Likewise.
28701 (fixvideo_mod_CFLAGS): Likewise.
28702 (fixvideo_mod_LDFLAGS): Likewise.
28703
7dd4a573 28704 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28705 fixvideo.mod.
28706 (loadbios_mod_SOURCE): New macro.
28707 (loadbios_mod_CFLAGS): Likewise.
28708 (loadbios_mod_LDFLAGS): Likewise.
28709 (fixvideo_mod_SOURCE): Likewise.
28710 (fixvideo_mod_CFLAGS): Likewise.
28711 (fixvideo_mod_LDFLAGS): Likewise.
28712
af63ada2 287132009-04-08 Felix Zielcke <fzielcke@z-51.de>
28714
28715 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28716
c2cdde70 287172009-04-07 David S. Miller <davem@davemloft.net>
28718
28719 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28720 support for R_SPARC_OLO10 relocations. Fix compile warning for
28721 R_SPARC_WDISP30 case.
ea3f72cf 28722 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28723
761319cf 287242009-04-06 Pavel Roskin <proski@gnu.org>
28725
1007d1f5 28726 * include/grub/misc.h (ARRAY_SIZE): New macro.
28727 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28728 New macro.
28729 * loader/i386/linux.c (allocate_pages): Use free_pages().
28730 (grub_linux_unload): Don't use free_pages().
28731 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28732 wrong index. Treat all other modes as text modes.
28733 (grub_cmd_linux): Initialize vid_mode unconditionally to
28734 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28735
761319cf 28736 * commands/help.c (print_command_help): Use cmd->prio, not
28737 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28738
ea761d40 287392009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28740
ea761d40 28741 Parttool
28742
28743 * parttool/pcpart.c: new file
28744 * commands/parttool.c: likewise
28745 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28746 (parttool_mod_SOURCES): new variable
28747 (parttool_mod_CFLAGS): likewise
28748 (parttool_mod_LDFLAGS): likewise
28749 (pcpart_mod_SOURCES): likewise
28750 (pcpart_mod_CFLAGS): likewise
28751 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28752 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28753 and parttool/pcpart.c
28754 * conf/i386-efi.rmk: likewise
28755 * conf/i386-ieee1275.rmk: likewise
28756 * conf/i386-pc.rmk: likewise
28757 * conf/powerpc-ieee1275.rmk: likewise
28758 * conf/sparc64-ieee1275.rmk: likewise
28759 * conf/x86_64-ieee1275.rmk: likewise
28760
05aaebfb 287612009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28762
28763 Support for mtime and further expandability of dir command
28764
28765 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28766 * include/grub/datetime.h: ... moved here and added
05aaebfb 28767 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28768 * include/grub/fs.h: new syntax for dir and mtime functions in
28769 struct grub_fs
05aaebfb 28770 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28771 and GRUB_FSHELP_FLAGS_MASK
28772 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28773 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28774 (grub_ext2_mtime): new function
28775 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28776 (grub_hfsplus_mtime): new function
28777 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28778 (GRUB_UFS_ATTR_FILE): likewise
28779 (GRUB_UFS_ATTR_LNK): likewise
28780 (struct grub_ufs_sblock): new fields mtime
28781 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28782 all users updated
28783 (grub_ufs_dir): mtime support
28784 (grub_ufs_mtime): new function
28785 * fs/affs.c (grub_affs_dir): use new dir syntax
28786 * fs/afs.c (grub_afs_dir): likewise
28787 * fs/cpio.c (grub_cpio_dir): likewise
28788 * fs/fat.c (grub_fat_find_dir): likewise
28789 * fs/hfs.c (grub_hfs_dir): likewise
28790 * fs/iso9660.c (grub_iso9660_dir): likewise
28791 * fs/jfs.c (grub_jfs_dir): likewise
28792 * fs/minix.c (grub_minix_dir): likewise
28793 * fs/ntfs.c (grub_ntfs_dir): likewise
28794 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28795 * fs/sfs.c (grub_sfs_dir): likewise
28796 * fs/xfs.c (grub_xfs_dir): likewise
28797 * util/hostfs.c (grub_hostfs_dir): likewise
28798 * lib/datetime.c: moved to ...
28799 * normal/datetime.c: ... moved here
28800 (grub_unixtime2datetime): new function
28801 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28802 * normal/completion.c (iterate_dir): use new dir syntax
28803 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28804 last modification time of a volume
7dd4a573 28805 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28806 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28807 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28808 (normal_mod_SOURCES): likewise
28809 (datetime_mod_SOURCES): Removed lib/datetime.c
28810 * conf/i386-efi.rmk: likewise
7dd4a573 28811 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28812 * conf/i386-pc.rmk: likewise
28813 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28814 * conf/sparc64-ieee1275.rmk: likewise
28815 * conf/x86_64-efi.rmk: likewise
05aaebfb 28816
8a7e1a14 288172009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28820
28821 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28822 on grub_fat_find_dir
28823 (grub_fat_find_dir): use grub_fat_iterate_dir
28824 (grub_fat_label): likewise
28825
04186a9c 288262009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28827
7dd4a573 28828 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28829 and command.h
28830 remove extraneous kernel_elf_HEADERS
28831
da4c0bb6 288322009-04-04 Bean <bean123ch@gnail.com>
28833
28834 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28835
28836 * util/misc.c: Likewise.
28837
54ad9555 288382009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28839
28840 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28841 instead of grub_printf.
28842
7a6bf9f2 288432009-04-03 Robert Millan <rmh@aybabtu.com>
28844
28845 * loader/i386/linux.c (grub_linux_setup_video): Fill
28846 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28847 values from `mode info' structure instead of hardcoded
28848 values.
28849
3fcc2083 288502009-04-01 Pavel Roskin <proski@gnu.org>
28851
28852 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28853 unused now.
28854 * genmk.rb: Likewise.
28855 * configure.ac: Likewise.
28856
5ec9740b 288572009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28858
28859 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28860 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28861
5270cec8 288622009-04-01 David S. Miller <davem@davemloft.net>
28863
28864 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28865 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28866 (grub_setjmp): Mark with 'returns_twice' attribute.
28867 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28868 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28869 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28870
9c3dd854 288712009-04-01 Robert Millan <rmh@aybabtu.com>
28872
28873 Reapply fix from 2008-07-28 which was accidentally reverted; also
28874 perform the same fix to a similar check in same function.
28875
28876 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28877 with the same number are found, just use issue a warning with
28878 grub_dprintf(), as this error has been reported to be non-fatal.
28879
0d818b7e 288802009-03-31 Pavel Roskin <proski@gnu.org>
28881
28882 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28883 for cross-compilation.
28884
95646d92 288852009-03-30 Robert Millan <rmh@aybabtu.com>
28886
28887 Fix i386-ieee1275 build.
28888
28889 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28890 Remove declaration.
28891
6a003ed1 288922009-03-30 Pavel Roskin <proski@gnu.org>
28893
28894 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28895 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28896 zero-terminated, rely only on the strlen value. Fix comparison
28897 of strings differing in length.
28898
92f33540 288992009-03-30 Robert Millan <rmh@aybabtu.com>
28900
28901 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28902 checking for abi version. Improve error messages on BIOS to notify
28903 user about `linux16' command.
28904
a8c48fd5 289052009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28906
f968172e 28907 Leak fixes
a8c48fd5 28908
f968172e 28909 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28910 in case of collision
28911 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28912
9c323f09 289132009-03-29 Robert Millan <rmh@aybabtu.com>
28914
28915 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28916 set `vid_mode' accordingly.
28917 (grub_linux_boot): Process `vid_mode' and set video mode.
28918
ae68f423 289192009-03-29 Robert Millan <rmh@aybabtu.com>
28920
28921 * util/grub.d/10_linux.in (linux_entry): New function.
28922 Factorize generation of Linux boot entries.
28923
5709cfc4 289242009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28925
28926 Make the format of Environment Block plain text. The boot loader
28927 part is not tested well yet.
7dd4a573 28928
5709cfc4 28929 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28930 (buffer): Removed.
28931 (envblk): Likewise.
28932 (usage): Remove "info" and "clear". Add "unset". Update the
28933 description of "set", as this does not delete variables any
28934 longer.
28935 (create_envblk_file): Complete rewrite.
28936 (open_envblk_file): Likewise.
28937 (cmd_info): Removed.
28938 (cmd_list): Likewise.
28939 (cmd_set): Likewise.
28940 (cmd_clear): Likewise.
28941 (list_variables): New function.
28942 (write_envblk): Likewise.
28943 (set_variables): Likewise.
28944 (unset_variables): Likewise.
28945 (main): Complete rewrite.
28946
28947 * commands/loadenv.c (buffer): Removed.
28948 (envblk): Likewise.
28949 (open_envblk_file): New function.
28950 (read_envblk_file): Complete rewrite.
28951 (grub_cmd_load_env): Likewise.
28952 (grub_cmd_list_env): Likewise.
28953 (struct blocklist): New struct.
28954 (free_blocklists): New function.
28955 (check_blocklists): Likewise.
28956 (write_blocklists): Likewise.
28957 (grub_cmd_save_env): Complete rewrite.
28958
28959 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28960 a plain text signature.
28961 (GRUB_ENVBLK_MAXLEN): Removed.
28962 (struct grub_envblk): Complete rewrite.
28963 (grub_envblk_find): Removed.
28964 (grub_envblk_insert): Likewise.
28965 (grub_envblk_open): New prototype.
28966 (grub_envblk_set): Likewise.
28967 (grub_envblk_delete): Put const to VALUE.
28968 (grub_envblk_iterate): Put const to NAME and VALUE.
28969 (grub_envblk_close): New prototype.
28970 (grub_envblk_buffer): New inline function.
28971 (grub_envblk_size): Likewise.
28972
28973 * lib/envblk.c: Include grub/mm.h.
28974 (grub_env_find): Removed.
28975 (grub_envblk_open): New function.
28976 (grub_envblk_close): Likewise.
28977 (escaped_value_len): Likewise.
28978 (find_next_line): Likewise.
28979 (grub_envblk_insert): Removed.
28980 (grub_envblk_set): New function.
28981 (grub_envblk_delete): Complete rewrite.
28982 (grub_envblk_iterate): Likewise.
28983
a9368fd3 289842009-03-28 Robert Millan <rmh@aybabtu.com>
28985
28986 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28987 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28988 variables. Use 16-bit loader.
28989 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28990 loader.
28991 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28992 (grub_linux16_boot): ... this. Update all users.
28993 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28994 (grub_linux_boot): ... this. Update all users.
28995
28996 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28997 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28998 commands to `linux16' and `initrd16'.
28999 (GRUB_MOD_FINI(linux)): Rename to ...
29000 (GRUB_MOD_FINI(linux16)): ... this.
29001
e4dd5a7e 290022009-03-24 Pavel Roskin <proski@gnu.org>
29003
29004 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29005 not just for compilation.
29006
c04d6e05 290072009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29008
29009 Move multiboot helper out of kernel
29010
29011 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29012 `loader/i386/multiboot_helper.S'.
29013 * conf/i386-coreboot.rmk: Likewise
29014 * conf/i386-ieee1275.rmk: Likewise
29015
29016 * kern/i386/loader.S: Move multiboot helpers from here...
29017 * loader/i386/multiboot_helper.S: ...moved here
29018 * include/grub/i386/loader.h: Move declarations of multiboot
29019 helpers from here...
29020 * include/grub/i386/multiboot.h: ...moved here
29021 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29022
42a5b3fc 290232009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29024
29025 * kern/env.c (grub_env_context_open): Added an argument to specify
29026 whether a new context inherits exported variables from current
29027 one. This is useful when making a sandbox to interpret a config
29028 file.
29029 All callers updated.
29030
29031 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29032
b28bbc4e 290332009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29034
29035 * kern/env.c (grub_env_context_close): Fix memory leaks.
29036
f04f02e4 290372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29038
29039 * normal/main.c (grub_normal_execute): Added an argument
29040 BATCH to specify if an interactive interface should be provided
29041 after reading a config file.
29042 All callers updated.
29043 (read_command_list): Prevent being executed twice.
29044 (read_fs_list): Likewise.
29045
42a5b3fc 29046 * include/grub/normal.h (grub_normal_execute): Updated the
29047 prototype.
f04f02e4 29048
41473ac2 290492009-03-22 Pavel Roskin <proski@gno.org>
29050
fbc00b0c 29051 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29052 _start.
29053 * kern/i386/pc/startup.S: Likewise.
29054 * kern/i386/efi/startup.S: Likewise.
29055 * kern/i386/ieee1275/startup.S: Likewise.
29056 * kern/i386/coreboot/startup.S: Likewise.
29057 * kern/x86_64/efi/startup.S: Likewise.
29058
41473ac2 29059 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29060 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29061 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29062
2274cc8f 290632009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29064
29065 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29066
29067 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29068 limit detection.
29069 Use vaddr of correct segment for entry_point.
29070
b1b797cb 290712009-03-21 Bean <bean123ch@gmail.com>
29072
29073 * commands/blocklist.c: Add include file <grub/command.h>, remove
29074 <grub/normal.h> and <grub/arg.h>.
29075 (grub_cmd_blocklist): Use the new command interface.
29076 (GRUB_MOD_INIT): Likewise.
29077 (GRUB_MOD_FINI): Likewise.
29078 * commands/boot.c: Likewise.
29079 * commands/cat.c: Likewise.
29080 * commands/cmp.c: Likewise.
29081 * commands/configfile.c: Likewise.
29082 * commands/crc.c: Likewise.
29083 * commands/echo.c: Likewise.
29084 * commands/halt.c: Likewise.
29085 * commands/handler.c: Likewise.
29086 * commands/hdparm.c: Likewise.
29087 * commands/help.c: Likewise.
29088 * commands/hexdump.c: Likewise.
29089 * commands/loadenv.c: Likewise.
29090 * commands/ls.c: Likewise.
29091 * commands/lsmmap.c: Likewise.
29092 * commands/lspci.c: Likewise.
29093 * commands/loadenv.c: Likewise.
29094 * commands/read.c: Likewise.
29095 * commands/reboot.c: Likewise.
29096 * commands/search.c: Likewise.
29097 * commands/sleep.c: Likewise.
29098 * commands/test.c: Likewise.
29099 * commands/usbtest.c: Likewise.
29100 * commands/videotest.c: Likewise.
29101 * commands/i386/cpuid.c: Likewise.
29102 * commands/i386/pc/halt.c: Likewise.
29103 * commands/i386/pc/play.c: Likewise.
29104 * commands/i386/pc/pxecmd.c: Likewise.
29105 * commands/i386/pc/vbeinfo.c: Likewise.
29106 * commands/i386/pc/vbetest.c: Likewise.
29107 * commands/ieee1275/suspend.c: Likewise.
29108 * disk/loopback.c: Likewise.
29109 * font/font_cmd.c: Likewise.
29110 * hello/hello.c: Likewise.
29111 * loader/efi/appleloader.c: Likewise.
29112 * loader/efi/chainloader.c: Likewise.
29113 * loader/i386/bsd.c: Likewise.
29114 * loader/i386/efi/linux.c: Likewise.
29115 * loader/i386/ieee1275/linux.c: Likewise.
29116 * loader/i386/linux.c: Likewise.
29117 * loader/i386/pc/chainloader.c: Likewise.
29118 * loader/i386/pc/linux.c: Likewise.
29119 * loader/powerpc/ieee1275/linux.c: Likewise.
29120 * loader/multiboot_loader.c: Likewise.
29121 * term/gfxterm.c: Likewise.
29122 * term/i386/pc/serial.c: Likewise.
29123 * term/terminfo.c: Likewise.
29124
29125 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29126 * term/i386/pc/vga.c: Likewise.
29127 * video/readers/jpeg.c: Likewise.
29128 * video/readers/png.c: Likewise.
29129 * video/readers/tga.c: Likewise.
29130
29131 * util/grub-fstest (cmd_loopback): Removed.
29132 (cmd_blocklist): Likewise.
29133 (cmd_ls): Likewise.
29134 (grub_register_command): Likewise.
29135 (grub_unregister_command): Likewise.
29136 (execute_command): Use grub_command_find to locate command and execute
29137 it.
29138
29139 * include/grub/efi/chainloader.h: Removed.
29140 * loader/efi/chainloader_normal.c: Likewise.
29141 * loader/i386/bsd_normal.c: Likewise.
29142 * loader/i386/pc/chainloader_normal.c: Likewise.
29143 * loader/i386/pc/multiboot_normal.c: Likewise.
29144 * loader/linux_normal.c: Likewise.
29145 * loader/multiboot_loader_normal.c: Likewise.
29146 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29147
29148 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29149 and grub_register_command_p1.
29150
29151 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29152 kern/command.c, lib/arg.c and commands/extcmd.c.
29153 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29154 (minicmd_mod_SOURCES): New variable.
29155 (minicmd_mod_CFLAGS): Likewise.
29156 (minicmd_mod_LDFLAGS): Likewise.
29157 (extcmd_mod_SOURCES): Likewise.
29158 (extcmd_mod_CFLAGS): Likewise.
29159 (extcmd_mod_LDFLAGS): Likewise.
29160 (boot_mod_SOURCES): Removed.
29161 (boot_mod_CFLAGS): Likewise.
29162 (boot_mod_LDFLAGS): Likewise.
29163
29164 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29165 kern/corecmd.c.
29166 (kernel_img_HEADERS): Add command.h.
29167 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29168 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29169 and lib/arg.c.
29170 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29171 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29172 remove the corresponding normal mode command.
29173 (normal_mod_SOURCES): Remove normal/arg.c.
29174 * conf/i386-coreboot.rmk: Likewise.
29175 * conf/i386-efi.rmk: Likewise.
29176 * conf/i386-ieee1275.rmk: Likewise.
29177 * conf/powerpc-ieee1275.rmk: Likewise.
29178 * conf/x86_64-efi.rmk: Likewise.
29179
29180 * include/grub/arg.h: Move from here ...
29181 * include/grub/lib/arg.h: ... to here.
29182
29183 * normal/arg.c: Move from here ...
29184 * lib/arg.c: ... to here.
29185
29186 * commands/extcmd.c: New file.
29187 * commands/minicmd.c: Likewise.
29188 * include/grub/command.h: Likewise.
29189 * include/grub/extcmd.h: Likewise.
29190 * kern/command.c: Likewise.
29191 * kern/corecmd.c: Likewise.
29192
29193 * kern/list.c (grub_list_iterate): Return int instead of void.
29194 (grub_list_insert): New function.
29195 (grub_prio_list_insert): Likewise.
29196
29197 * kern/rescue.c (grub_rescue_command): Removed.
29198 (grub_rescue_command_list): Likewise.
29199 (grub_rescue_register_command): Likewise.
29200 (grub_rescue_unregister_command): Likewise.
29201 (grub_rescue_cmd_boot): Move to minicmd.c
29202 (grub_rescue_cmd_help): Likewise.
29203 (grub_rescue_cmd_info): Likewise.
29204 (grub_rescue_cmd_boot): Likewise.
29205 (grub_rescue_cmd_testload): Likewise.
29206 (grub_rescue_cmd_dump): Likewise.
29207 (grub_rescue_cmd_rmmod): Likewise.
29208 (grub_rescue_cmd_lsmod): Likewise.
29209 (grub_rescue_cmd_exit): Likewise.
29210 (grub_rescue_print_devices): Moved to corecmd.c.
29211 (grub_rescue_print_files): Likewise.
29212 (grub_rescue_cmd_ls): Likewise.
29213 (grub_rescue_cmd_insmod): Likewise.
29214 (grub_rescue_cmd_set): Likewise.
29215 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29216 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29217 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29218 commands, remove grub_rescue_register_command calls.
b1b797cb 29219
7d074e3c 29220 * normal/command.c (grub_register_command): Removed.
b1b797cb 29221 (grub_unregister_command): Likewise.
29222 (grub_command_find): Likewise.
29223 (grub_iterate_commands): Likewise.
29224 (rescue_command): Likewise.
29225 (export_command): Moved to corecmd.c.
29226 (set_command): Removed.
29227 (unset_command): Likewise.
29228 (insmod_command): Likewise.
29229 (rmmod_command): Likewise.
29230 (lsmod_command): Likewise.
29231 (grub_command_init): Likewise.
29232
29233 * normal/completion.c (iterate_command): Use cmd->prio to check for
29234 active command.
29235 (complete_arguments): Use grub_extcmd_t structure to find options.
29236 (grub_normal_do_completion): Change function grub_iterate_commands to
29237 grub_command_iterate.
29238
29239 * normal/execute.c (grub_script_execute_cmd): No need to parse
29240 argument here.
29241
29242 * normal/main.c (grub_dyncmd_dispatcher): New function.
29243 (read_command_list): Register unload commands as dyncmd.
29244 (grub_cmd_normal): Use new command interface, register rescue,
29245 unregister normal at entry, register normal, unregister rescue at exit.
29246
29247 * include/grub/list.h (grub_list_test_t): New type.
29248 (grub_list_iterate): Return int instead of void.
29249 (grub_list_insert): New function.
29250 (GRUB_AS_NAMED_LIST_P): New macro.
29251 (GRUB_AS_PRIO_LIST): Likewise.
29252 (GRUB_AS_PRIO_LIST_P): Likewise.
29253 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29254 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29255 (grub_prio_list): New structure.
29256 (grub_prio_list_insert): New function.
29257 (grub_prio_list_remove): New inline function.
29258
29259 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29260 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29261 (GRUB_COMMAND_FLAG_MENU): Likewise.
29262 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29263 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29264 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29265 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29266 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29267 (grub_command): Likewise.
29268 (grub_register_command): Likewise.
29269 (grub_command_find): Likewise.
29270 (grub_iterate_commands): Likewise.
29271 (grub_command_init): Likewise.
29272 (grub_arg_parse): Likewise.
29273 (grub_arg_show_help): Likewise.
29274
29275 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29276 (grub_rescue_unregister_command): Likewise.
29277
29278 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29279 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29280 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29281
29282 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29283 grub_rescue_cmd_initrd.
29284 * include/grub/i386/loader.h: Likewise.
29285 * include/grub/x86_64/loader.h: Likewise.
29286
29287 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29288
1f4147aa 292892009-03-21 Bean <bean123ch@gmail.com>
29290
29291 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29292 instead of stat in mingw environment.
29293
29294 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29295
29296 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29297
29298 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29299 AC_CONFIG_LINKS.
29300
2156d5ba 293012009-03-21 Bean <bean123ch@gmail.com>
29302
29303 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29304 out of range error.
29305
177b82ca 293062009-03-18 Michel Dänzer <michel@daenzer.net>
29307
29308 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29309 checking inode flags for EXT4_EXTENTS_FLAG.
29310
14aad807 293112009-03-18 Robert Millan <rmh@aybabtu.com>
29312
29313 * loader/i386/linux.c: Include `<grub/video.h>' and
29314 `<grub/i386/pc/vbe.h>'..
29315 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29316 (grub_linux32_boot): Attempt to configure video settings with
29317 grub_linux_setup_video().
29318 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29319 to avoid grub_console_fini() which would step out of graphical mode
29320 unconditionally.
29321
8cf83a27 293222009-03-14 Robert Millan <rmh@aybabtu.com>
29323
29324 Fix build on powerpc.
29325 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29326
40164e75 293272009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29328
29329 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29330 background image command.
29331
c58bc32a 293322009-03-12 Colin D Bennett <colin@gibibit.com>
29333
29334 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29335 (grub_gfxterm_putchar): Extract pairs of identical calls to
29336 draw_cursor out of conditional blocks.
29337
5415144a 293382009-03-11 Pavel Roskin <proski@gnu.org>
29339
29340 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29341 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29342
6394042e 293432009-03-11 Robert Millan <rmh@aybabtu.com>
29344
29345 * loader/i386/multiboot_elfxx.c
29346 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29347
b7b50e5f 293482009-03-11 Felix Zielcke <fzielcke@z-51.de>
29349
29350 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29351 `kern/handler.c'.
29352
1ca7fc96 293532009-03-11 Robert Millan <rmh@aybabtu.com>
29354
29355 * loader/i386/multiboot.c (code_size): New variable.
29356 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29357 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29358 4-byte alignment to MBI and others by increasing
7d074e3c 29359 `boot_loader_name_length' appropriately.
1ca7fc96 29360
29361 * loader/i386/multiboot_elfxx.c
29362 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29363
a83ea1d2 293642009-03-09 Felix Zielcke <fzielcke@z-51.de>
29365
29366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29367 `fs/ext2.c'.
29368
aa9f3bff 293692009-03-08 Robert Millan <rmh@aybabtu.com>
29370
29371 Make loader/i386/linux.c usable on i386-pc again.
29372
29373 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29374 memory to heap.
29375 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29376 `#error' stanza.
29377
d8b3b60e 293782009-03-07 Bean <bean123ch@gmail.com>
29379
29380 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29381 allocation.
29382
b362c9e9 293832009-03-06 Robert Millan <rmh@aybabtu.com>
29384
29385 Fix display issue on terminals with screen size other than 80x25
29386 (e.g. gfxterm with resolution higher than 640x480).
29387
29388 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29389 position relative to the center of the terminal instead of relying
b362c9e9 29390 on a hardcoded offset.
29391
9304eef1 293922009-03-04 Robert Millan <rmh@aybabtu.com>
29393
29394 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29395 installed.
29396
29397 * Makefile.in (host_kernel): New variable.
29398 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29399 scripts instead of just the windows one.
29400 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29401
eabc95fb 294022009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29403
29404 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29405 `kern/handler.c'.
29406 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29407 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29410 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29411 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29412
ceb1223c 294132009-03-04 Felix Zielcke <fzielcke@z-51.de>
29414
29415 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29416 or if there's no space for the disk label and print the partition number on a
29417 invalid magic.
29418
4910684a 294192009-03-04 Felix Zielcke <fzielcke@z-51.de>
29420
29421 * util/misc.c: Include <time.h>.
29422 (grub_millisleep): New function.
29423
7e9ca17a 294242009-03-04 Bean <bean123ch@gmail.com>
29425
29426 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29427 another option -mno-red-zone.
29428
29429 * commands/handler.c: Change module description.
29430
29431 * kern/handler.c: Add missing space at the end of description line.
29432
29433 * kern/list.c: Likewise.
29434
f501677c 294352009-03-03 Robert Millan <rmh@aybabtu.com>
29436
29437 Move more components to the relocation area, and fix mbi pointer
29438 handling to use the destination rather than the origin (thanks to
29439 Vladimir Serbinenko for spotting).
29440
29441 * loader/i386/multiboot.c (mbi_dest): New variable.
29442 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29443 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29444 relocation area.
29445
9902d047 294462009-03-01 Bean <bean123ch@gmail.com>
29447
50fb7002 29448 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29449 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29450 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29451 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29452
29453 * loader/i386/efi/linux.c (acpi_guid): New variable.
29454 (acpi_guid): Likewise.
29455 (EBDA_SEG_ADDR): New constant.
29456 (LOW_MEM_ADDR): Likewise.
29457 (FAKE_EBDA_SEG): Likewise.
29458 (fake_bios_data): New function.
29459 (grub_linux_boot): Call fake_bios_data.
29460
71b9f361 294612009-03-01 Bean <bean123ch@gmail.com>
29462
29463 * commands/terminal.c: Removed.
29464
29465 * commands/handler.c: New file.
29466
29467 * include/grub/list.h: Likewise.
29468
29469 * include/grub/handler.h: Likewise.
29470
29471 * kern/list.c: Likewise.
29472
29473 * kern/handler.c: Likewise.
29474
29475 * kern/term.h: Include header file <grub/handler.h>.
29476 (grub_term_input): Move next field to the beginning.
29477 (grub_term_output): Likewise.
29478 (grub_term_input_class): New variable.
29479 (grub_term_output_class): Likewise.
29480 (grub_term_register_input): Changed to inline function.
29481 (grub_term_register_output): Likewise.
29482 (grub_term_unregister_input): Likewise.
29483 (grub_term_unregister_output): Likewise.
29484 (grub_term_set_current_input): Likewise.
29485 (grub_term_set_current_output): Likewise.
29486 (grub_term_get_current_input): Likewise.
29487 (grub_term_get_current_output): Likewise.
29488 (grub_term_iterate_input): Removed.
29489 (grub_term_iterate_output): Likewise.
29490
29491 * kern/term.c (grub_term_list_input): Removed.
29492 (grub_term_list_output): Likewise.
29493 (grub_term_input_class): New variable.
29494 (grub_term_output_class): Likewise.
50fb7002 29495 (grub_cur_term_input): Change variable as macro.
71b9f361 29496 (grub_cur_term_output): Likewise.
29497 (grub_term_register_input): Removed.
29498 (grub_term_register_output): Likewise.
29499 (grub_term_unregister_input): Likewise.
29500 (grub_term_unregister_output): Likewise.
29501 (grub_term_set_current_input): Likewise.
29502 (grub_term_set_current_output): Likewise.
29503 (grub_term_iterate_input): Likewise.
29504 (grub_term_iterate_output): Likewise.
29505 (grub_term_get_current_input): Likewise.
29506 (grub_term_get_current_output): Likewise.
29507
29508 * util/grub-editenv.c: Include header file <grub/handler.h>.
29509 (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-fstest.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/grub-probe.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 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29525 (grub_term_get_current_output): Likewise.
29526 (grub_term_input_class): New variable.
50fb7002 29527 (grub_term_output_class): Likewise.
71b9f361 29528
29529 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29530 (terminal_mod_SOURCES): Likewise.
29531 (terminal_mod_CFLAGS): Likewise.
29532 (terminal_mod_LDFLAGS): Likewise.
29533
29534 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29535 handler.c.
29536 (kernel_img_SOURCES): Add list.c and handler.c.
29537 (kernel_img_HEADERS): Add list.h and handler.h.
29538
29539 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29540 handler.c.
29541 (kernel_mod_SOURCES): Add list.c and handler.c.
29542 (kernel_mod_HEADERS): Add list.h and handler.h.
29543
29544 * conf/i386-coreboot.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/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29550 handler.c.
29551 (kernel_elf_SOURCES): Add list.c and handler.c.
29552 (kernel_elf_HEADERS): Add list.h and handler.h.
29553
29554 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29555 handler.c.
29556 (kernel_mod_SOURCES): Add list.c and handler.c.
29557 (kernel_mod_HEADERS): Add list.h and handler.h.
29558
29559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29560 handler.c.
29561 (kernel_elf_SOURCES): Add list.c and handler.c.
29562 (kernel_elf_HEADERS): Add list.h and handler.h.
29563
8a31787f 295642009-02-27 Robert Millan <rmh@aybabtu.com>
29565
29566 Factorize elf32 / elf64 code in Multiboot loader. This will
29567 prevent it from getting out of sync again.
29568
29569 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29570 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29571 grub_multiboot_load_elf64): Move from here ...
29572 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29573 grub_multiboot_load_elf): ... to here (new file).
29574
51cd3dfc 295752009-02-27 Robert Millan <rmh@aybabtu.com>
29576
29577 * util/grub.d/10_linux.in: Rename "single-user mode" to
29578 "recovery mode".
29579
6e8c9c3a 295802009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29581
29582 Don't leak in SCSI code.
29583 * disk/scsi.c (grub_scsi_close): free `scsi'.
29584
4b6bf4f9 295852009-02-27 Robert Millan <rmh@aybabtu.com>
29586
29587 * loader/i386/pc/multiboot.c: Move from here ...
29588 * loader/i386/multiboot.c: ... to here. Update all users.
29589
b9413424 295902009-02-27 Robert Millan <rmh@aybabtu.com>
29591
29592 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29593 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29594
50fb7002 295952009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29596
29597 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29598 b-tree.
29599
8cc50345 296002009-02-27 Robert Millan <rmh@aybabtu.com>
29601
29602 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29603 `0x' qualifier as 0 when base is specified as parameter).
29604
6e09b8b7 296052009-02-24 Bean <bean123ch@gmail.com>
29606
29607 * configure.ac: Check for -mcmodel=large in x86_64 target.
29608
29609 * include/grub/efi/api.h (efi_call_10): New macro.
29610 (efi_wrap_10): New function.
29611
29612 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29613 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29614 (GRUB_PE32_REL_BASED_LOW): Likewise.
29615 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29616 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29617 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29618 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29619 (GRUB_PE32_REL_BASED_REL): Likewise.
29620 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29621 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29622 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29623
29624 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29625 issue.
29626
29627 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29628 (efi_wrap_10): New function.
29629
29630 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29631
29632 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29633 MB/MBP model (NV chipset).
29634 (devdata_devs): Add devpath_5 to the list.
29635
29636 * load/i386/efi/linux.c (video_base): Remove variable.
29637 (RGB_MASK): New macro.
29638 (RGB_MAGIC): Likewise.
29639 (LINE_MIN): Likewise.
29640 (LINE_MAX): Likewise.
29641 (FBTEST_STEP): Likewise.
29642 (FBTEST_COUNT): Likewise.
29643 (fb_list): New variable.
29644 (grub_find_video_card): Remove function.
29645 (find_framebuf): New function.
29646 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29647 line length.
29648
29649 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29650 problem for x86_64.
29651
74b21bee 296522009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29653
29654 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29655
29656 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29657 coding tool name.
29658
a455f472 296592009-02-22 Robert Millan <rmh@aybabtu.com>
29660
29661 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29662 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29663 in our relocation, instead of using it directly from heap. Also
29664 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29665
6374daf3 296662009-02-21 Robert Millan <rmh@aybabtu.com>
29667
29668 Implement USB keyboard support (based on patch by Marco Gerards)
29669
29670 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29671 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29672 (usb_keyboard_mod_LDFLAGS): New variables.
29673
29674 * term/usb_keyboard.c: New file.
29675
8fa4ea70 296762009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29677
29678 Corrected wrong declaration
29679
29680 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29681
353976ac 296822009-02-14 Christian Franke <franke@computer.org>
29683
29684 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29685 (grub_lspci_iter): Print class code and programming interface byte.
29686
6aa1169b 296872009-02-14 Christian Franke <franke@computer.org>
29688
29689 * gendistlist.sh: Ignore `.svn' directories.
29690
265372ca 296912009-02-14 Felix Zielcke <fzielcke@z-51.de>
29692
29693 * fs/fat.c: Add 2009 to Copyright line.
29694
9ff516f3 296952009-02-14 Christian Franke <franke@computer.org>
29696
29697 * commands/hdparm.c: New file. Provides `hdparm' command
29698 which sends ATA commands via grub_disk_ata_pass_through ().
29699
29700 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29701
29702 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29703 and <grub/cpu/io.h> to include/grub/ata.h.
29704 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29705 (GRUB_CDROM_SECTOR_SIZE): Remove.
29706 (GRUB_ATA_*): Move to include/grub/ata.h.
29707 (GRUB_ATAPI_*): Likewise.
29708 (enum grub_ata_commands): Likewise.
29709 (enum grub_ata_timeout_milliseconds): Likewise.
29710 (struct grub_ata_device): Likewise.
29711 (grub_ata_regset): Likewise.
29712 (grub_ata_regget): Likewise.
29713 (grub_ata_regset2): Likewise.
29714 (grub_ata_regget2): Likewise.
29715 (grub_ata_check_ready): Likewise.
29716 (grub_ata_wait_not_busy): Remove static, exported in
29717 include/grub/ata.h.
29718 (grub_ata_wait_drq): Likewise.
29719 (grub_ata_pio_read): Likewise.
29720
29721 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29722 function for hdparm.mod.
29723
29724 * include/grub/ata.h: New file, contains declarations from
29725 disk/ata.c.
29726 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29727
29728 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29729 (grub_disk_ata_pass_through): New exported variable.
29730
29731 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29732
772e23da 297332009-02-13 Colin D Bennett <colin@gibibit.com>
29734
29735 Support multiple fallback entries, and provide an API to support
29736 executing default+fallback menu entries. Renamed the `terminal' menu
29737 viewer to `text'.
29738
29739 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29740 variable declaration.
29741 (grub_menu_execute_callback): New structure declaration.
29742 (grub_menu_execute_callback_t): New typedef.
29743 (grub_menu_execute_with_fallback): New function declaration.
29744 (grub_menu_get_entry): Likewise.
29745 (grub_menu_get_timeout): Likewise.
29746 (grub_menu_set_timeout): Likewise.
29747
29748 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29749
29750 * normal/menu.c (grub_wait_after_message): Moved to
29751 `normal/menu_text.c'.
29752 (draw_border): Likewise.
29753 (print_message): Likewise.
29754 (print_entry): Likewise.
29755 (print_entries): Likewise.
29756 (grub_menu_init_page): Likewise.
29757 (get_entry_number): Likewise.
29758 (print_timeout): Likewise.
29759 (run_menu): Likewise.
29760 (grub_menu_execute_entry): Likewise.
29761 (show_text_menu): Likewise.
29762 (get_and_remove_first_entry_number): New function.
29763 (grub_menu_execute_with_fallback): Likewise.
29764 (get_entry): Renamed to ...
29765 (grub_menu_get_entry): .. this and made it global.
29766 (get_timeout): Renamed to ...
29767 (grub_menu_get_timeout): ... this and made it global.
29768 (set_timeout): Renamed to ...
29769 (grub_menu_set_timeout): ... this and made it global.
29770 (grub_normal_terminal_menu_viewer): Renamed to ...
29771 (grub_normal_text_menu_viewer): ... this.
29772
29773 * normal/menu_text.c: New file. Extracted text-menu-specific code
29774 from normal/menu.c.
29775
29776 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29777 (normal_mod_SOURCES): Likewise.
29778
29779 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29780 (normal_mod_SOURCES): Likewise.
29781
29782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29783 (normal_mod_SOURCES): Likewise.
29784
29785 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29786 (normal_mod_SOURCES): Likewise.
29787
29788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29789 (normal_mod_SOURCES): Likewise.
29790
29791 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29792 (normal_mod_SOURCES): Likewise.
29793
29794 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29795 (normal_mod_SOURCES): Likewise.
29796
16ac430e 297972009-02-11 Robert Millan <rmh@aybabtu.com>
29798
29799 * util/grub.d/00_header.in: Update old reference to `font' command.
29800
06ff20fc 298012009-02-10 Felix Zielcke <fzielcke@z-51.de>
29802
29803 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29804
29805 Based on patch from Javier Martín.
29806
96da9407 298072009-02-09 Felix Zielcke <fzielcke@z-51.de>
29808
29809 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29810 to avoid false positives with FAT.
96da9407 29811 (grub_fstest_SOURCES): Likewise.
29812 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29813 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29815 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29816 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29818
6dca6fe4 298192009-02-09 Felix Zielcke <fzielcke@z-51.de>
29820
06ff20fc 29821 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29822 bpb.version_specific.fat12_or_fat16.fstype and
29823 bpb.version_specific.fat32.fstype.
29824
2550c62f 298252009-02-08 Robert Millan <rmh@aybabtu.com>
29826
be110b30 29827 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29828
56978920 298292009-02-08 Robert Millan <rmh@aybabtu.com>
29830
29831 * Makefile.in (host_os, host_cpu): New variables.
29832 (target_os): Remove. Update all users.
29833
d64399b5 298342009-02-08 Marco Gerards <marco@gnu.org>
29835
29836 * Makefile.in (enable_grub_emu_usb): New variable.
29837 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29838 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29839 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29840 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29841 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29842 `usbtest.mod' and `usbms.mod'.
29843 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29844 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29845 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29846 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29847 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29848 variables.
29849
29850 * disk/usbms.c: New file.
29851
29852 * include/grub/usb.h: Likewise.
29853
29854 * include/grub/usbtrans.h: Likewise.
29855
29856 * include/grub/usbdesc.h: Likewise.
29857
29858 * bus/usb/usbtrans.c: Likewise.
29859
29860 * bus/usb/ohci.c: Likewise.
29861
29862 * bus/usb/uhci.c: Likewise.
29863
29864 * bus/usb/usbhub.c: Likewise.
29865
29866 * bus/usb/usb.c: Likewise.
29867
29868 * commands/usbtest.c: Likewise.
29869
29870 * util/usb.c: Likewise.
50fb7002 29871
d64399b5 29872 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29873
29874 * configure.ac: Test for libusb presence.
50fb7002 29875
d64399b5 29876 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29877
2b40d6bb 298782009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29879
29880 * kern/mm.c: Add more comments.
29881
73a4ce81 298822009-02-08 Robert Millan <rmh@aybabtu.com>
29883
29884 Patch from Javier Martín.
29885 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29886 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29887
f821ce59 298882009-02-08 Robert Millan <rmh@aybabtu.com>
29889
29890 * fs/cpio.c: Split tar functionality to ...
29891 * fs/tar.c: ... here (new file). Update all users.
29892
aebfc4b0 298932009-02-07 Robert Millan <rmh@aybabtu.com>
29894
29895 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29896 backward-incompatible features.
29897
29898 Based on patch from Javier Martín, with some adjustments.
29899
50fb7002 299002009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29901
29902 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29903
0bb5115e 299042009-02-07 Robert Millan <rmh@aybabtu.com>
29905
29906 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29907 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29908 after the RAID stuff.
29909
38a0f8e7 299102009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29911
50fb7002 29912 Fixes problem when running vbetest command as reported by
38a0f8e7 29913 Vladimir Serbinenko <phcoder@gmail.com>.
29914
29915 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29916
3143cc1c 299172009-02-04 Felix Zielcke <fzielcke@z-51.de>
29918
29919 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29920 /dev/md/NpN style mdraid devices.
29921
9cba6fce 299222009-02-03 Felix Zielcke <fzielcke@z-51.de>
29923
29924 * util/unifont2pff.rb: Remove.
29925
e507a2c1 299262009-02-03 Felix Zielcke <fzielcke@z-51.de>
29927
29928 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29929 `#'.
29930
d2c2b4cd 299312009-02-03 Felix Zielcke <fzielcke@z-51.de>
29932
29933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29935 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29936 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29938 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29939 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29940
b4315fb0 299412009-02-02 Christian Franke <franke@computer.org>
29942
29943 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29944
de3aa260 299452009-02-01 Felix Zielcke <fzielcke@z-51.de>
29946
7c3ff286 29947 * INSTALL: Note that we now require at least autoconf 2.59 and
29948 that LZO is optional.
de3aa260 29949
825a182b 299502009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29951
29952 Base on patch on bug #24154 created by Tomas Tintera
29953 <trosos@seznam.cz>.
29954
29955 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29956
a69ef770 299572009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29958
7c3ff286 29959 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29960 <bero@arklinux.org>.
29961
29962 * normal/parser.y (script_init): Add missing semicolon.
29963
6fa42fa6 299642009-01-31 Colin D Bennett <colin@gibibit.com>
29965
7c3ff286 29966 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29967 (free_menu_entry_classes): Added.
29968 (grub_normal_menu_addentry): Added class property handling.
29969 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29970 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29971
29972 * normal/menu_viewer.c: New file.
29973
29974 * normal/menu.c (run_menu_entry): Renamed to ...
29975 (grub_menu_execute_entry): ... this and made it as global.
29976 (grub_menu_run): Renamed to ...
29977 (show_text_menu): ... this and made it local.
29978 (show_text_menu): Adapt to new function names.
29979 (grub_normal_terminal_menu_viewer): New global variable.
29980
29981 * include/grub/menu.h: New file.
29982
29983 * include/grub/menu_viewer.h: New file.
29984
29985 * include/grub/normal.h: Added include to grub/menu.h.
29986 (grub_menu_entry): Moved to include/grub/menu.h.
29987 (grub_menu_entry_t): Likewise.
29988 (grub_menu): Likewise.
29989 (grub_menu_t): Likewise.
29990 (grub_normal_terminal_menu_viewer): Added.
29991 (grub_menu_execute_entry): Likewise.
29992 (grub_menu_run): Removed.
29993
29994 * DISTLIST: Added include/grub/menu.h.
29995 Added include/grub/menu_viewer.h.
29996 Added normal/menu_viewer.c.
29997
299982009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29999
30000 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30001 arglist for menutitle arguments.
30002
30003 * normal/main.c (grub_normal_menu_addentry): Likewise.
30004
30005 * normal/parser.y (menuentry): Likewise.
30006
30007 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30008
30009 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30010 (grub_script_create_cmdmenu): Likewise.
30011
30012 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30013
30014 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30015 changes.
30016
30017 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30018
30019 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30020
30021 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30022
30023 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30024
30025 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30026
30027 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30028
56192c23 300292009-01-30 Christian Franke <franke@computer.org>
30030
30031 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30032 in option help text.
30033
d72521b3 300342009-01-27 Pavel Roskin <proski@gnu.org>
30035
30036 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30037
994b5e84 300382009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30039
30040 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30041
30042 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30043
30044 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30045 unregister function.
30046
6a7eab2c 300472009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30048
30049 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30050
30051 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30052
30053 * util/grub-mkfont.c (usage): Fix typo.
30054
30055 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30056
1806b56e 300572009-01-26 Daniel Mierswa <impulze@impulze.org>
30058
3fb18f09 30059 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30060
336e1fb9 30061 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30062
1806b56e 30063 * kern/misc.c (grub_strcasecmp): New function.
30064 (grub_strcasecmp): Use grub_size_t instead of int for length.
30065 Fix return value.
30066 * include/grub/misc.h: Update function prototypes.
30067
580b2a0f 300682009-01-26 Robert Millan <rmh@aybabtu.com>
30069
30070 * configure.ac: Fix cross-compilation check.
ef257b36 30071
d31c24f1 300722009-01-22 Christian Franke <franke@computer.org>
30073
30074 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30075 (precision) digit string. Allow `.format2' without `format1' (width).
30076 Limit input chars for `%s' output to `format2' if specified. This is
30077 compatible with standard printf ().
30078
3138b44c 300792009-01-22 Christian Franke <franke@computer.org>
30080
30081 * disk/ata.c (grub_ata_wait_status): Replace by ...
30082 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30083 other status bits may be invalid while BSY is asserted.
30084 (grub_ata_check_ready): New function.
30085 (grub_ata_cmd): Removed.
30086 (grub_ata_wait_drq): New function.
30087 (grub_ata_strncpy): Remove inline.
30088 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30089 and error check now done by grub_ata_wait_drq ().
30090 (grub_ata_pio_write): Likewise.
30091 (grub_atapi_identify): Set DEV before check for !BSY. Use
30092 grub_ata_wait_drq () to wait for data.
30093 (grub_ata_device_initialize): Add status register check to
30094 detect missing SATA slave devices. Add debug messages.
30095 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30096 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30097 transfer loop by grub_ata_pio_write ().
30098 (grub_ata_identify): Set DEV before check for !BSY. Use
30099 grub_ata_wait_drq () to wait for data.
ef257b36 30100 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30101 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30102 read/write in one loop. Fix invalid command on write. Fix incomplete
30103 command on (size % batch) == 0. Add missing error check after write of
30104 last block. Add debug messages.
30105 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30106
59a64ef6 301072009-01-19 Christian Franke <franke@computer.org>
30108
30109 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30110 (GRUB_ATAPI_IREASON_*): Likewise.
30111 (grub_ata_pio_write): Fix timeout error return.
30112 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30113 (grub_atapi_wait_drq): New function.
30114 (grub_atapi_packet): New parameter `size'.
30115 Use grub_atapi_wait_drq () and direct write instead of
30116 grub_ata_pio_write ().
30117 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30118 reads the number of bytes requested by the device for each DRQ
30119 assertion.
30120 (grub_atapi_write): Remove old implementation, return not
30121 implemented instead.
30122
1cfe20b3 301232009-01-19 Christian Franke <franke@computer.org>
30124
30125 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30126 of 512 to calculate data size.
30127 (grub_scsi_read12): Likewise.
30128 (grub_scsi_write10): Likewise.
30129 (grub_scsi_write12): Likewise.
30130 (grub_scsi_read): Adjust size according to blocksize.
30131 Add checks for invalid blocksize and unaligned transfer.
30132
bee5fe5d 301332009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30134
30135 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30136
ef257b36 30137 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30138 width glyphs.
30139
3e643f8c 301402009-01-19 Robert Millan <rmh@aybabtu.com>
30141
30142 * config.guess: Update to latest version from config git.
30143 * config.sub: Likewise.
30144
4fa80998 301452009-01-17 Felix Zielcke <fzielcke@z-51.de>
30146
30147 * Makefile.in: Change font compilation to use new grub-mkfont instead
30148 of java version.
30149
30150 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30151 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30152 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30153 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30154 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30155 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30156 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30157 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30158 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30159
7086085b 301602009-01-16 Christian Franke <franke@computer.org>
30161
30162 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30163 (enum grub_ata_timeout_milliseconds): New enum.
30164 (grub_ata_wait_status): Add parameter milliseconds.
30165 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30166 recovery from timed-out commands.
30167 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30168 return grub_errno instead of REG_ERROR.
30169 (grub_ata_pio_write): Add parameter milliseconds.
30170 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30171 Pass milliseconds to grub_ata_wait_status () and
30172 grub_ata_pio_read ().
30173 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30174 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30175 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30176 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30177 It is not suitable for device detection, because DEV bit is ignored,
30178 the command may run too long, and not all devices set the signature
30179 properly.
30180 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30181 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30182 Fix device selection, DEV bit must be set first to address the registers
30183 of the correct device.
30184 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30185 grub_ata_pio_read/write ().
30186 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30187 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30188
4a412913 301892009-01-13 Carles Pina i Estany <carles@pina.cat>
30190
30191 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30192
7795c55e 301932009-01-13 Bean <bean123ch@gmail.com>
d913988c 30194
30195 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30196
7795c55e 301972009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30198
30199 * Makefile.in: (enable_grub_mkfont): New variable.
30200 (freetype_cflags): Likewise.
30201 (freetype_libs): Likewise.
30202
30203 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30204 (grub_mkfont_SOURCES): New variable.
30205 (grub_mkfont_CFLAGS): Likewise.
30206 (grub_mkfont_LDFLAGS): Likewise.
30207
30208 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30209 library if `--enable-grub-mkfont' is requested.
30210 (enable_grub_mkfont): New variable.
30211 (freetype_cflags): Likewise.
30212 (freetype_libs): Likewise.
30213
30214 * util/grub-mkfont.c: New file.
30215
093af1fe 302162009-01-12 Christian Franke <franke@computer.org>
30217
30218 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30219 mode check. Fix setting of compat_use[].
30220
f36cc108 302212009-01-10 Robert Millan <rmh@aybabtu.com>
30222
30223 Update a few copyright years which we forgot to do in 2008 (only for
30224 files whose changes made in 2008 were copyright-significant)
30225
30226 * Makefile.in: Add 2008 to Copyright line.
30227 * disk/ieee1275/ofdisk.c: Likewise.
30228 * disk/efi/efidisk.c: Likewise.
30229 * kern/dl.c: Likewise.
30230 * kern/sparc64/ieee1275/init.c: Likewise.
30231 * kern/mm.c: Likewise.
30232 * kern/efi/mm.c: Likewise.
30233 * boot/i386/pc/boot.S: Likewise.
30234 * genfslist.sh: Likewise.
30235 * fs/iso9660.c: Likewise.
30236 * fs/hfs.c: Likewise.
30237 * fs/jfs.c: Likewise.
30238 * fs/minix.c: Likewise.
30239 * fs/ufs.c: Likewise.
30240 * gensymlist.sh.in: Likewise.
30241 * genkernsyms.sh.in: Likewise.
30242 * include/grub/misc.h: Likewise.
30243 * include/grub/types.h: Likewise.
30244 * include/grub/symbol.h: Likewise.
30245 * include/grub/elf.h: Likewise.
30246 * include/grub/kernel.h: Likewise.
30247 * include/grub/disk.h: Likewise.
30248 * include/grub/dl.h: Likewise.
30249 * include/grub/i386/linux.h: Likewise.
30250 * include/grub/i386/pc/biosdisk.h: Likewise.
30251 * include/grub/efi/api.h: Likewise.
30252 * include/grub/efi/pe32.h: Likewise.
30253 * include/grub/util/misc.h: Likewise.
30254 * normal/execute.c: Likewise.
30255 * normal/arg.c: Likewise.
30256 * normal/completion.c: Likewise.
30257 * normal/lexer.c: Likewise.
30258 * normal/parser.y: Likewise.
30259 * normal/misc.c: Likewise.
30260 * commands/i386/pc/vbeinfo.c: Likewise.
30261 * commands/hexdump.c: Likewise.
30262 * commands/terminal.c: Likewise.
30263 * commands/ls.c: Likewise.
30264 * commands/help.c: Likewise.
30265 * partmap/pc.c: Likewise.
30266 * loader/efi/chainloader.c: Likewise.
30267 * loader/multiboot_loader.c: Likewise.
30268 * loader/i386/pc/multiboot2.c: Likewise.
30269 * term/efi/console.c: Likewise.
30270 * term/i386/pc/serial.c: Likewise.
30271 * util/lvm.c: Likewise.
30272 * util/console.c: Likewise.
30273 * util/i386/efi/grub-mkimage.c: Likewise.
30274 * util/raid.c: Likewise.
30275
7f02114b 302762009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30277
30278 * commands/videotest.c: Removed include to grub/machine/memory.h.
30279
30280 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30281 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30282 (video_mod_SOURCES): Removed.
30283 (video_mod_CFLAGS): Likewise.
30284 (video_mod_LDFLAGS): Likewise.
30285 (gfxterm_mod_SOURCES): Likewise.
30286 (gfxterm_mod_CFLAGS): Likewise.
30287 (gfxterm_mod_LDFLAGS): Likewise.
30288 (videotest_mod_SOURCES): Likewise.
30289 (videotest_mod_CFLAGS): Likewise.
30290 (videotest_mod_LDFLAGS): Likewise.
30291 (bitmap_mod_SOURCES): Likewise.
30292 (bitmap_mod_CFLAGS): Likewise.
30293 (bitmap_mod_LDFLAGS): Likewise.
30294 (tga_mod_SOURCES): Likewise.
30295 (tga_mod_CFLAGS): Likewise.
30296 (tga_mod_LDFLAGS): Likewise.
30297 (jpeg_mod_SOURCES): Likewise.
30298 (jpeg_mod_CFLAGS): Likewise.
30299 (jpeg_mod_LDFLAGS): Likewise.
30300 (png_mod_SOURCES): Likewise.
30301 (png_mod_CFLAGS): Likewise.
30302 (png_mod_LDFLAGS): Likewise.
30303
30304 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30305 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30306 (video_mod_SOURCES): Added.
30307 (video_mod_CFLAGS): Likewise.
30308 (video_mod_LDFLAGS): Likewise.
30309 (videotest_mod_SOURCES): Likewise.
30310 (videotest_mod_CFLAGS): Likewise.
30311 (videotest_mod_LDFLAGS): Likewise.
30312 (bitmap_mod_SOURCES): Likewise.
30313 (bitmap_mod_CFLAGS): Likewise.
30314 (bitmap_mod_LDFLAGS): Likewise.
30315 (tga_mod_SOURCES): Likewise.
30316 (tga_mod_CFLAGS): Likewise.
30317 (tga_mod_LDFLAGS): Likewise.
30318 (jpeg_mod_SOURCES): Likewise.
30319 (jpeg_mod_CFLAGS): Likewise.
30320 (jpeg_mod_LDFLAGS): Likewise.
30321 (png_mod_SOURCES): Likewise.
30322 (png_mod_CFLAGS): Likewise.
30323 (png_mod_LDFLAGS): Likewise.
30324 (gfxterm_mod_SOURCES): Likewise.
30325 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30326 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30327
30328 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30329 grub/machine/console.h.
30330
644fff97 303312009-01-04 Jerone Young <jerone@gmail.com>
30332
30333 Make on screen instructions clearer
30334
30335 Based on patch created by Jidanni <jidanni@jidanni.org>
30336
30337 * normal/menu.c: print clearer instructions on the screen
30338
1e901a75 303392009-01-02 Colin D Bennett <colin@gibibit.com>
30340
30341 New font engine.
34c44600 30342
1e901a75 30343 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30344 build system and fixed gfxterm.c to work with different sized fonts.
30345
30346 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30347
1e901a75 30348 * configure: Re-generated.
34c44600 30349
1e901a75 30350 * DISTLIST: Removed font/manager.c.
30351 Added font/font.c.
30352 Added font/font_cmd.c.
34c44600 30353
1e901a75 30354 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30355 compilation.
34c44600 30356
1e901a75 30357 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30358
30359 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30360
30361 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30362
1e901a75 30363 * normal/menu.c: Likewise.
34c44600 30364
1e901a75 30365 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30366 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30367
1e901a75 30368 * include/grub/font.h: Replaced with new file.
34c44600 30369
1e901a75 30370 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30371 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30372 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30373 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30374 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30375 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30376 fg_red, fg_green, fg_blue, fg_alpha.
30377 (grub_video_adapter): Removed blit_glyph.
34c44600 30378 (grub_video_blit_glyph): Removed.
30379
1e901a75 30380 * font/manager.c: Removed file.
34c44600 30381
30382 * font/font.c: New file.
30383
1e901a75 30384 * font/font_cmd.c: Likewise.
34c44600 30385
1e901a75 30386 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30387
1e901a75 30388 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30389 (grub_video_vbe_map_rgba): Likewise.
30390 (grub_video_vbe_unmap_color_int): Likewise.
30391 (grub_video_vbe_blit_glyph): Removed.
30392 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30393
1e901a75 30394 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30395 (get_pixel): Likewise.
34c44600 30396 (set_pixel): Likewise.
30397
1e901a75 30398 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30399
1e901a75 30400 * term/gfxterm.c: Adapted to new font engine.
34c44600 30401
1e901a75 30402 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30403
1e901a75 30404 * term/i386/pc/vga.c: Likewise.
34c44600 30405
1e901a75 30406 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30407
1e901a75 30408 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30409
1e901a75 30410 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30411
1e901a75 30412 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30413
1e901a75 30414 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30415
1e901a75 30416 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30417
1e901a75 30418 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30419
1e901a75 30420 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30421
1e901a75 30422 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30423
30424 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30425
1e901a75 30426 * util/grub-mkconfig_lib.in: Changed font extension.
30427
278922e8 304282008-12-28 Felix Zielcke <fzielcke@z-51.de>
30429
30430 * util/getroot.c (grub_util_get_grub_dev): Add support for
30431 /dev/md/dNNpNN style partitionable mdraid devices.
30432
3ced05cf 304332008-12-12 Alex Smith <alex@alex-smith.me.uk>
30434
30435 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30436 at a time limit of the PXE TFTP API correctly.
30437 (grub_pxefs_close): Likewise.
30438
7fd0ee30 304392008-11-29 Robert Millan <rmh@aybabtu.com>
30440
34c44600 30441 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30442 grub_ata_device_initialize() calls.
30443
34c44600 304442008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30445
30446 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30447 iteration failed.
30448 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30449
89313780 304502008-11-28 Robert Millan <rmh@aybabtu.com>
30451
30452 Fix build on powerpc-ieee1275. Based on patch created by
30453 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30454 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30455 `kern/ieee1275/mmap.c'.
30456 * include/grub/powerpc/ieee1275/memory.h: New file.
30457
15257703 30458 Provide grub-install on coreboot.
30459 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30460 (grub_install_SOURCES): New variable.
30461 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30462 usable on coreboot.
30463
9fc5388a 304642008-11-25 Felix Zielcke <fzielcke@z-51.de>
30465
30466 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30467 to `grub_term_input_t'.
30468 (grub_term_get_current_output): Change return type to
30469 `grub_term_output_t'.
30470
bc3a2f31 304712008-11-22 Robert Millan <rmh@aybabtu.com>
30472
34c44600 30473 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30474 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30475 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30476 grub_vga_text_cls().
30477
80fc88f2 30478 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30479 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30480
cbf36fd3 30481 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30482 to 0x200000 (avoids trouble with some OFW implementations, and matches
30483 with the one in Yaboot).
30484 Reported by Manoel Abranches
30485
73e8e268 304862008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30487
30488 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30489 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30490
73e8e268 30491 * util/grub-mkconfig_lib.in (grub_warn): New function.
30492 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30493 warnings, to obtain consistent formatting.
30494 * util/grub.d/00_header.in: Likewise.
30495 * util/update-grub_lib.in: Likewise.
30496
e94045a1 30497 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30498 Move comment text to `#error' stanza.
e94045a1 30499
79d29fd7 30500 Harmonize ieee1275's grub_available_iterate() with the generic
30501 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30502 build problem on i386-ieee1275):
30503 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30504 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30505 parameter `type'. Update all users of this function.
30506 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30507 `kern/ieee1275/mmap.c'.
30508 * kern/ieee1275/init.c
30509 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30510 with ...
30511 (grub_machine_mmap_iterate): ... this.
30512 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30513 return type to `grub_err_t'. Update all implementations of this
30514 function prototype.
30515 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30516 Likewise.
30517
60d6b16e 30518 Add `lsmmap' command (lists firmware-provided memory map):
30519 * commands/lsmmap.c: New file.
30520 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30521 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30522 variables.
30523 * conf/powerpc-ieee1275.rmk: Likewise.
30524 * conf/i386-coreboot.rmk: Likewise.
30525 * conf/i386-ieee1275.rmk: Likewise.
30526
ebaaf49b 305272008-11-19 Robert Millan <rmh@aybabtu.com>
30528
30529 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30530 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30531 constraints to initrd allocation (based on code from
30532 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30533 for Linux to find it.
ebaaf49b 30534
dfab719f 305352008-11-14 Robert Millan <rmh@aybabtu.com>
30536
30537 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30538 order to cope with duplicate slashes.
30539
10fc3eb9 305402008-11-14 Robert Millan <rmh@aybabtu.com>
30541
30542 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30543 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30544 don't want to mess with lower memory, because it is used in the Linux
30545 loader.
30546
30547 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30548 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30549 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30550 is in our heap (probably as a result of it being corrupted during
2f2a3442 30551 decompression). Add #error instance with comment to explain why this
30552 loader isn't currently usable on PC/BIOS.
10fc3eb9 30553
e2e07847 305542008-11-14 Robert Millan <rmh@aybabtu.com>
30555
30556 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30557 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30558
fe8e8d69 305592008-11-12 Robert Millan <rmh@aybabtu.com>
30560
30561 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30562
30563 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30564 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30565 from here ...
30566 * include/grub/i386/pc/memory.h: ... to here.
30567
976b07d0 305682008-11-12 Robert Millan <rmh@aybabtu.com>
30569
30570 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30571 split).
30572
30573 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30574 (grub_console_cur_color, grub_console_real_putchar)
30575 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30576 (grub_console_setcolorstate, grub_console_setcolor)
30577 (grub_console_getcolor): Move from here ...
30578 * include/grub/i386/vga_common.h: ... to here (new file).
30579
30580 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30581 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30582 `<grub/i386/io.h>'.
30583 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30584 `<grub/i386/vga_common.h>'.
30585
76679cd3 305862008-11-12 Robert Millan <rmh@aybabtu.com>
30587
30588 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30589 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30590 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30591 variables.
30592 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30593 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30594
30595 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30596 grub_console_init() with call to grub_vga_text_init().
30597 (grub_machine_fini): Replace call to
30598 grub_console_fini() with call to grub_vga_text_fini() and
30599 grub_at_keyboard_fini().
30600
30601 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30602 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30603 (grub_console_setcolorstate, grub_console_setcolor)
30604 (grub_console_getcolor): New function prototypes.
30605
30606 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30607 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30608 (grub_vga_text_setcursor): Static-ize.
30609 (grub_vga_text_term): New structure.
30610 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30611
30612 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30613 (grub_console_cur_color, grub_console_standard_color)
30614 (grub_console_normal_color, grub_console_highlight_color)
30615 (map_char, grub_console_putchar, grub_console_getcharwidth)
30616 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30617 (grub_console_getcolor): Move from here ...
30618 * term/i386/vga_common.c: ... to here (same function names).
30619
95b841d3 306202008-11-12 Robert Millan <rmh@aybabtu.com>
30621
30622 Use newly-added Multiboot support in coreboot.
30623
30624 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30625 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30626
30627 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30628 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30629 (codestart): Store the MBI in `startup_multiboot_info' when we're
30630 being loaded using Multiboot.
30631
30632 * kern/i386/coreboot/init.c (grub_machine_init): Move
30633 grub_at_keyboard_init() call to beginning of function (useful for
30634 debugging). Call grub_machine_mmap_init() before attempting to use
30635 grub_machine_mmap_iterate().
30636 (grub_lower_mem, grub_upper_mem): Move from here ...
30637 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30638 here (new file).
30639
30640 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30641 function prototype.
30642
761ca975 306432008-11-12 Robert Millan <rmh@aybabtu.com>
30644
30645 Fix a regression introduced by the at_keyboard.mod split. Because
30646 some terminals are default on some platforms and non-default on
30647 others, the first terminal being registered determines which is
30648 going to be default.
30649
30650 * kern/term.c (grub_term_register_input): If this is the first
30651 terminal being registered, set it as the current one.
30652 (grub_term_register_output): Likewise.
30653
30654 * term/efi/console.c (grub_console_init): Do not call
30655 grub_term_set_current_output() or grub_term_set_current_input().
30656 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30657 * term/i386/pc/console.c (grub_console_init): Likewise.
30658 (grub_console_fini): Do not call grub_term_set_current_input()
30659 (but leave grub_term_set_current_output() to restore text mode).
30660
6c529df7 306612008-11-10 Robert Millan <rmh@aybabtu.com>
30662
30663 * util/grub.d/00_header.in: Add backward compatibility check for
30664 versions of terminal.mod that don't understand `terminal_input' or
30665 `terminal_output'.
30666
132e4113 306672008-11-09 Robert Millan <rmh@aybabtu.com>
30668
30669 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30670 `terminal_input' / `terminal_output', not `terminal'.
30671
ac293d50 306722008-11-08 Robert Millan <rmh@aybabtu.com>
30673
30674 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30675 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30676
0025933a 306772008-11-08 Robert Millan <rmh@aybabtu.com>
30678
30679 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30680 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30681 members. Update all users.
30682 * util/console.c (grub_ncurses_term): Split in ...
30683 (grub_ncurses_term_input): ... this, and ...
30684 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30685 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30686
37c86336 306872008-11-08 Robert Millan <rmh@aybabtu.com>
30688
30689 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30690 (PKGDATA): Add $(pkgdata_SRCDIR).
30691 (pkglib_BUILDDIR): New variable.
30692 (pkgdata_SRCDIR): New variable.
30693 (build_env.mk): New target.
30694 (include_DATA): New variable.
30695 (install-local): Install $(include_DATA) files in $(includedir).
30696
b6c15a2d 306972008-11-07 Pavel Roskin <proski@gnu.org>
30698
d99d46f1 30699 * gendistlist.sh: Use C locale for sorting to ensure consistent
30700 output on all systems.
30701
b6c15a2d 30702 * util/grub.d/00_header.in: Remove incorrect space before
30703 "serial".
30704
c32ee8c9 307052008-11-07 Robert Millan <rmh@aybabtu.com>
30706
30707 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30708 per specification.
30709 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30710 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30711 (based on find_multi_boot1_header).
30712 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30713 using find_multi_boot2_header(), and abort if neither Multiboot or
30714 Multiboot headers were found.
30715
651c29b7 307162008-11-07 Robert Millan <rmh@aybabtu.com>
30717
30718 Modularize at_keyboard.mod:
30719
30720 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30721 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30722 (at_keyboard_mod_LDFLAGS): New variables.
30723
30724 Actual terminal split:
30725
30726 * include/grub/term.h (struct grub_term): Split in ...
30727 (struct grub_term_input): ... this, and ...
30728 (struct grub_term_output): ... this. Update all users.
30729 (grub_term_set_current): Split in ...
30730 (grub_term_set_current_input): ... this, and ...
30731 (grub_term_set_current_output): ... this.
30732 (grub_term_get_current): Split in ...
30733 (grub_term_get_current_input): ... this, and ...
30734 (grub_term_get_current_output): ... this.
30735 (grub_term_register): Split in ...
30736 (grub_term_register_input): ... this, and ...
30737 (grub_term_register_output): ... this.
30738 (grub_term_unregister): Split in ...
30739 (grub_term_unregister_input): ... this, and ...
30740 (grub_term_unregister_output): ... this.
30741 (grub_term_iterate): Split in ...
30742 (grub_term_iterate_input): ... this, and ...
30743 (grub_term_iterate_output): ... this.
30744
30745 * kern/term.c (grub_term_list): Split in ...
30746 (grub_term_list_input): ... this, and ...
30747 (grub_term_list_output): ... this. Update all users.
30748 (grub_cur_term): Split in ...
30749 (grub_cur_term_input): ... this, and ...
30750 (grub_cur_term_output): ... this. Update all users.
30751 (grub_term_set_current): Split in ...
30752 (grub_term_set_current_input): ... this, and ...
30753 (grub_term_set_current_output): ... this.
30754 (grub_term_get_current): Split in ...
30755 (grub_term_get_current_input): ... this, and ...
30756 (grub_term_get_current_output): ... this.
30757 (grub_term_register): Split in ...
30758 (grub_term_register_input): ... this, and ...
30759 (grub_term_register_output): ... this.
30760 (grub_term_unregister): Split in ...
30761 (grub_term_unregister_input): ... this, and ...
30762 (grub_term_unregister_output): ... this.
30763 (grub_term_iterate): Split in ...
30764 (grub_term_iterate_input): ... this, and ...
30765 (grub_term_iterate_output): ... this.
30766
30767 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30768 a check for input and one for output (and only attempt to get keys
30769 from user when input works).
30770
30771 * util/grub-probe.c (grub_term_get_current): Split in ...
30772 (grub_term_get_current_input): ... this, and ...
30773 (grub_term_get_current_output): ... this.
30774 * util/grub-fstest.c: Likewise.
30775 * util/i386/pc/grub-setup.c: Likewise.
30776 * util/grub-editenv.c: Likewise.
30777
30778 Portability adjustments:
30779
30780 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30781 `term/i386/pc/at_keyboard.c'.
30782 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30783 grub_keyboard_controller_init() (now handled by terminal .init).
30784 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30785 grub_at_keyboard_init().
30786 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30787 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30788 at_keyboard.mod via input terminal interface).
30789 * include/grub/i386/coreboot/console.h: Convert into a stub for
30790 `<grub/i386/pc/console.h>'.
30791
30792 Migrate full terminals to new API:
30793
30794 * term/efi/console.c (grub_console_term): Split into ...
30795 (grub_console_term_input): ... this, and ...
30796 (grub_console_term_output): ... this. Update all users.
30797 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30798 (grub_ofconsole_init): Split into ...
30799 (grub_ofconsole_init_input): ... this, and ...
30800 (grub_ofconsole_init_output): ... this.
30801 (grub_ofconsole_term): Split into ...
30802 (grub_ofconsole_term_input): ... this, and ...
30803 (grub_ofconsole_term_output): ... this. Update all users.
30804 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30805 (grub_serial_term_input): ... this, and ...
30806 (grub_serial_term_output): ... this. Update all users.
30807 * term/i386/pc/console.c (grub_console_term): Split into ...
30808 (grub_console_term_input): ... this, and ...
30809 (grub_console_term_output): ... this. Update all users.
30810 (grub_console_term_input): Only enable it on PC/BIOS platform.
30811 (grub_console_init): Remove grub_keyboard_controller_init() call.
30812
30813 Migrate input terminals to new API:
30814
30815 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30816 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30817 i386-specific anyway).
30818 (grub_console_checkkey): Rename to ...
30819 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30820 users.
30821 (grub_keyboard_controller_orig): New variable.
30822 (grub_console_getkey): Rename to ...
30823 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30824 users.
30825 (grub_keyboard_controller_init): Static-ize. Save original
30826 controller value so that it can be restored ...
30827 (grub_keyboard_controller_fini): ... here (new function).
30828 (grub_at_keyboard_term): New structure.
30829 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30830 functions.
30831
30832 Migrate output terminals to new API:
30833
30834 * term/i386/pc/vga.c (grub_vga_term): Change type to
30835 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30836 members. Update all users.
30837 * term/gfxterm.c (grub_video_term): Change type to
30838 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30839 members. Update all users.
30840 * include/grub/i386/pc/console.h (grub_console_checkkey)
30841 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30842 etc).
30843
30844 Migrate `terminal' command and userland tools to new API:
30845
30846 * commands/terminal.c (grub_cmd_terminal): Split into ...
30847 (grub_cmd_terminal_input): ... this, and ...
30848 (grub_cmd_terminal_output): ... this.
30849 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30850 `terminal_input' and `terminal_output'.
30851 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30852 `terminal_input' / `terminal_output' API.
30853 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30854 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30855 provided ${GRUB_TERMINAL}, convert it).
30856
96e5d876 308572008-11-04 Robert Millan <rmh@aybabtu.com>
30858
30859 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30860 for FreeBSD.
30861 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30862
556f3775 308632008-11-03 Bean <bean123ch@gmail.com>
30864
30865 * kern/elf.c (grub_elf32_load): Revert to previous code.
30866 (grub_elf64_load): Likewise.
30867
30868 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30869
926b9823 308702008-11-01 Robert Millan <rmh@aybabtu.com>
30871
30872 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30873 (TARGET_CPPFLAGS): Likewise.
30874 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30875
1432e958 308762008-11-01 Carles Pina i Estany <carles@pina.cat>
30877
30878 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30879
dba3f844 308802008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30881
30882 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30883 addition of objects until the code is not going to be able to fail.
30884
dba3f844 308852008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30886
30887 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30888 (add a missing NULL check, and correct them by moving the pointer
30889 operations after the actual check).
30890
7ab28c21 308912008-10-29 Robert Millan <rmh@aybabtu.com>
30892
30893 * util/i386/pc/grub-install.in: Handle empty string as output from
30894 make_system_path_relative_to_its_root().
30895
1b7748eb 308962008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30897
30898 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30899 circular metadata worst case scenario. If the metadata is circular
30900 then copy the wrap in place.
30901 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30902 project lib/format_text/layout.h
30903 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30904
c9618ab2 309052008-10-03 Felix Zielcke <fzielcke@z-51.de>
30906
7a36edca 30907 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30908
bf981c62 309092008-10-03 Felix Zielcke <fzielcke@z-51.de>
30910
30911 * util/update-grub_lib.in: Mention filename in warning message.
30912
6d994591 309132008-09-29 Felix Zielcke <fzielcke@z-51.de>
30914
30915 * NEWS: Update for rename of update-grub to grub-mkconfig.
30916
18ade780 309172008-09-29 Felix Zielcke <fzielcke@z-51.de>
30918
30919 * util/update-grub_lib.in: Copy to ...
30920 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30921 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30922 * util/update-grub.in: Rename to ...
30923 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30924 option. Add `--output' option to allow users to specify the generated
30925 configuration file. Default to stdout.
30926 (update_grub_dir): Rename to ...
30927 (grub_mkconfig_dir): ... this.
30928 (grub_cfg): Default to an empty string.
30929 * conf/common.rmk (update-grub): Rename to ...
30930 (grub-mkconfig): ... this.
30931 (update-grub_lib): Copy to ...
30932 (grub-mkconfig_lib): ... this.
30933 (update-grub_SCRIPTS): Copy to ...
30934 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30935 (update-grub_DATA): Rename to ...
30936 (grub-mkconfig_DATA): ... this.
30937
556ce6ac 309382008-09-28 Robert Millan <rmh@aybabtu.com>
30939
30940 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30941 to `modified'. Add the real `created' field.
30942 (grub_iso9660_uuid): Use `modified' rather than `created' for
30943 constructing the UUID.
30944
309452008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30946
30947 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30948 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30949
92274e85 309502008-09-28 Bean <bean123ch@gmail.com>
30951
30952 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30953 Thanks to Christian Franke for finding this bug.
30954
add6f17a 309552008-09-25 Robert Millan <rmh@aybabtu.com>
30956
30957 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30958 instances of grub_util_get_disk_name() (see previous commit).
30959
d2a367b8 309602008-09-25 Robert Millan <rmh@aybabtu.com>
30961
30962 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30963 `util/i386/get_disk_name.c'.
30964 * conf/i386-efi.rmk: Likewise.
30965 * conf/x86_64-efi.rmk: Likewise.
30966 * conf/i386-coreboot.rmk: Likewise.
30967 * conf/i386-ieee1275.rmk: Likewise.
30968 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30969 `util/ieee1275/get_disk_name.c'.
30970 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30971 * util/ieee1275/get_disk_name.c: Remove file.
30972 * util/i386/get_disk_name.c: Remove file.
30973 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30974 "hd%d" for device.map entries, rather than using
30975 grub_util_get_disk_name().
30976
81a06771 309772008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30978
30979 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30980 warning.
30981 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30982
5a004279 309832008-09-24 Carles Pina i Estany <carles@pina.cat>
30984
30985 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30986 Changed to 0x5100.
30987 (GRUB_TERM_PPAGE): Changed to 0x4900.
30988
397093d3 309892008-09-24 Robert Millan <rmh@aybabtu.com>
30990
30991 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30992 macros (they were i386-pc specific).
30993 * include/grub/sparc64/ieee1275/console.h: Likewise.
30994 * include/grub/efi/console.h: Likewise.
30995
a91b6c7c 309962008-09-22 Bean <bean123ch@gmail.com>
30997
30998 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30999 resident and in attribute list.
31000
31001 * include/grub/ntfs.h (BMP_LEN): Removed.
31002
c40fd116 310032008-09-22 Bean <bean123ch@gmail.com>
31004
81a06771 31005 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31006 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31007
31008 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31009 error occurs, as grub_disk_open will call grub_disk_close, which will
31010 call p->close (scsi).
31011
81a06771 310122008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31013
31014 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31015 (AC_PREREQ): Bumped to 2.59.
31016 (AC_TRY_COMPILE): Replace obsolete macro with ...
31017 (AC_COMPILE_IFELSE): ... this.
31018 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31019 (AC_LINK_IFELSE): ... this.
31020
5dc43410 310212008-09-21 Felix Zielcke <fzielcke@z-51.de>
31022
31023 * autogen.sh: Add a call to `gendistlist.sh'.
31024
9035dce4 310252008-09-19 Christian Franke <franke@computer.org>
31026
31027 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31028 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31029 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31030 Export __enable_execute_stack() to modules.
31031 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31032 New function.
31033
7fd75377 310342008-09-09 Felix Zielcke <fzielcke@z-51.de>
31035
040030b3 31036 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31037 Sort the list.
31038
310392008-09-09 Felix Zielcke <fzielcke@z-51.de>
31040
31041 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31042 #include <grub/util/hostdisk.h>.
31043
89d5ffcf 310442008-09-08 Robert Millan <rmh@aybabtu.com>
31045
31046 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31047 segments when their filesz is zero (grub_file_read() interprets
81a06771 31048 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31049 Use `lowest_segment' rather than 0 for calculating the current
31050 segment load address.
31051
40da438f 310522008-09-08 Robert Millan <rmh@aybabtu.com>
31053
31054 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31055 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31056 clobbered useful information.
31057
ddbf5556 310582008-09-08 Robert Millan <rmh@aybabtu.com>
31059
31060 * include/grub/util/biosdisk.h: Move to ...
31061 * include/grub/util/hostdisk.h: ... here. Update all users.
31062 * util/biosdisk.c: Move to ...
31063 * util/hostdisk.c: ... here. Update all users.
31064
783d0f48 310652008-09-07 Robert Millan <rmh@aybabtu.com>
31066
31067 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31068 variables.
31069 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31070 and length can be stored directly in the `mbi->mmap_addr' and
31071 `mbi->mmap_length' struct fields.
31072
548e2ea5 310732008-09-07 Robert Millan <rmh@aybabtu.com>
31074
31075 * conf/i386.rmk: New file. Provides declaration for building
31076 `cpuid.mod'.
31077 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31078 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31079 variables.
31080 Include `conf/i386.mk'.
31081 * conf/i386-efi.rmk: Likewise.
31082 * conf/x86_64-efi.rmk: Likewise.
31083 * conf/i386-coreboot.rmk: Likewise.
31084 * conf/i386-ieee1275.rmk: Likewise.
31085
0ea85a37 310862008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31087
31088 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31089 Adds optimization support for BGR based modes.
31090
31091 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31092 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31093 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31094 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31095 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31096 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31097 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31098 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31099 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31100 (grub_video_i386_vbeblit_index_index): Likewise.
31101 (grub_video_i386_vbeblit_replace_directN): Added.
31102 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31103 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31104 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31105 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31106 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31107 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31108 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31109 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31110 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31111 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31112 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31113 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31114 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31115
31116 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31117 (grub_video_i386_vbefill_R8G8B8): Likewise.
31118 (grub_video_i386_vbefill_index): Likewise.
31119 (grub_video_i386_vbefill_direct32): Added.
31120 (grub_video_i386_vbefill_direct24): Likewise.
31121 (grub_video_i386_vbefill_direct16): Likewise.
31122 (grub_video_i386_vbefill_direct8): Likewise.
31123
81a06771 31124 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31125 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31126 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31127 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31128 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31129 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31130
0ea85a37 31131 * video/video.c (grub_video_get_blit_format): Updated to use new
31132 blit formats. Added handling for 16 bit color modes.
81a06771 31133
31134 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31135 fillers.
31136 (common_blitter): Updated to use new blitters.
31137
31138 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31139 Removed.
31140 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31141 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31142 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31143 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31144 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31145 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31146 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31147 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31148 (grub_video_i386_vbeblit_index_index): Likewise.
31149 (grub_video_i386_vbeblit_replace_directN): Added.
31150 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31151 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31152 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31153 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31154 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31155 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31156 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31157 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31158 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31159 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31160 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31161 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31162 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31163
0ea85a37 31164 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31165 (grub_video_i386_vbefill_R8G8B8): Likewise.
31166 (grub_video_i386_vbefill_index): Likewise.
31167 (grub_video_i386_vbefill_direct32): Added.
31168 (grub_video_i386_vbefill_direct24): Likewise.
31169 (grub_video_i386_vbefill_direct16): Likewise.
31170 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31171
0ea85a37 31172 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31173 types.
81a06771 31174
0ea85a37 31175 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31176 types.
81a06771 31177
0ea85a37 31178 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31179 blitter types.
81a06771 31180
0ea85a37 31181 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31182 types.
31183
e8a83df6 311842008-09-06 Felix Zielcke <fzielcke@z-51.de>
31185
31186 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31187 RAID level 1.
31188
6bcd8ee5 311892008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31190
6bcd8ee5 31191 * fs/iso9660.c (grub_iso9660_date): New structure.
31192 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31193 (grub_iso9660_uuid): New function.
c375ae58 31194
59261157 311952008-09-05 Bean <bean123ch@gmail.com>
31196
31197 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31198
31199 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31200 insensitive bit for names in Win32 and Win32 & DOS namespace.
31201
31202 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31203
31204 * include/grub/types.h (LONG_MAX): Likewise.
31205
58b6645a 312062008-09-04 Felix Zielcke <fzielcke@z-51.de>
31207
4ee55921 31208 * util/getroot.c: Include <config.h>.
31209 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31210 add support for /dev/md/N devices and handle LVM double dash escaping.
31211
312122008-09-04 Felix Zielcke <fzielcke@z-51.de>
31213
31214 * config.guess: Update to latest version from config git.
31215 * config.sub: Likewise.
58b6645a 31216
9124f65d 312172008-09-03 Robert Millan <rmh@aybabtu.com>
31218
31219 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31220 `disk->total_sectors'.
31221
81a06771 312222008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31223
31224 * include/grub/normal.h: Fixed incorrect comment for
31225 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31226
81a06771 312272008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31228
31229 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31230 values with defines.
31231
31232 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31233 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31234 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31235 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31236 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31237 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31238 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31239 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31240 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31241 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31242 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31243 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31244 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31245 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31246 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31247 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31248 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31249 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31250 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31251
93d5cbf8 312522008-08-31 Robert Millan <rmh@aybabtu.com>
31253
31254 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31255 declaration.
31256 (grub_multiboot): Fix a few warnings.
31257
21751d50 312582008-08-31 Robert Millan <rmh@aybabtu.com>
31259
31260 * loader/i386/pc/multiboot.c: Update comment not to say that
31261 boot_device support is unimplemented.
31262
e27a75c5 312632008-08-31 Robert Millan <rmh@aybabtu.com>
31264
31265 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31266 or memory map support are unimplemented.
31267
81a06771 312682008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31269
31270 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31271
81a06771 312722008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31273
31274 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31275 total video memory in 'vbeinfo' output; show color format details for
31276 each video mode.
31277
7c5d8d95 312782008-08-30 Pavel Roskin <proski@gnu.org>
31279
31280 * util/genmoddep.c: Remove for real this time.
31281 * DISTLIST: Remove util/genmoddep.c.
31282
4cebd25a 312832008-08-30 Robert Millan <rmh@aybabtu.com>
31284
31285 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31286 as required by Multiboot spec (it was already 4-byte aligned, but
31287 only by chance).
31288
b497a269 312892008-08-29 Pavel Roskin <proski@gnu.org>
31290
e3925185 31291 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31292 * kern/powerpc/ieee1275/startup.S: ... this.
31293 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31294 * DISTLIST: Likewise.
31295
b497a269 31296 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31297 grub/cpu/kernel.h. Add start label for consistency with other
31298 platforms. Add grub_prefix immediately after start. Add jump
31299 to the code after grub_prefix.
31300 * include/grub/powerpc/kernel.h: Provide valid values for
31301 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31302
6e5a42fe 313032008-08-29 Bean <bean123ch@gmail.com>
31304
31305 * configure.ac: Change host_os to cygwin for mingw.
31306 (asprintf): New check for function.
31307
31308 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31309 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31310
31311 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31312 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31313 sync, sleep and grub_util_get_disk_size for mingw.
31314
31315 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31316 to get size in mingw.
31317 (open_device): Use flag O_BINARY if it's defined.
31318 (find_root_device): Add dummy code for mingw.
31319
31320 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31321 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31322 (get_scsi_disk_name): Return 0 for mingw.
31323
31324 * util/hostfs.c: #include <grub/util/misc.h>.
31325 (grub_hostfs_open): Use "rb" flag to open file, use
31326 grub_util_get_disk_size to get disk size for mingw.
31327
31328 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31329 (asprintf): New function if HAVE_ASPRINTF is not set.
31330 (sync): New function for mingw.
31331 (sleep): Likewise.
31332 (grub_util_get_disk_size): Likewise.
31333
ab3f2673 313342008-08-28 Pavel Roskin <proski@gnu.org>
31335
31336 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31337 kern/time.c.
31338
1c282483 313392008-08-28 Robert Millan <rmh@aybabtu.com>
31340
31341 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31342
678e849c 313432008-08-28 Robert Millan <rmh@aybabtu.com>
31344
31345 Change find_grub_drive() syntax so it doesn't prevent it from
31346 detecting NULL names as errors.
31347
31348 * util/biosdisk.c (find_grub_drive): Move free slot search code
31349 from here ...
31350 (find_free_slot): ... to here.
31351 (read_device_map): Use find_free_slot() to search for free slots.
31352
965c75ca 313532008-08-27 Marco Gerards <marco@gnu.org>
31354
31355 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31356 (scsi_mod_SOURCES): New variable.
31357 (scsi_mod_CFLAGS): Likewise
31358 (scsi_mod_LDFLAGS): Likewise.
31359
31360 * disk/scsi.c: New file.
31361
31362 * include/grub/scsi.h: Likewise.
31363
31364 * include/grub/scsicmd.h: Likewise.
31365
31366 * disk/ata.c: Include <grub/scsi.h>.
31367 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31368 instead.
31369 (grub_ata_iterate): Skip ATAPI devices.
31370 (grub_ata_open): Only handle ATAPI devices.
31371 (struct grub_atapi_read): Removed.
31372 (grub_atapi_readsector): Likewise.
31373 (grub_ata_read): No longer handle ATAPI devices.
31374 (grub_ata_write): Likewise.
31375 (grub_atapi_iterate): New function.
31376 (grub_atapi_read): Likewise.
31377 (grub_atapi_write): Likewise.
31378 (grub_atapi_open): Likewise.
31379 (grub_atapi_close): Likewise.
31380 (grub_atapi_dev): New variable.
31381 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31382 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31383
31384 * include/grub/disk.h (enum grub_disk_dev_id): Add
31385 `GRUB_DISK_DEVICE_SCSI_ID'.
31386
c07ae501 313872008-08-26 Robert Millan <rmh@aybabtu.com>
31388
31389 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31390 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31391 descriptive.
31392
5ed20adc 313932008-08-23 Bean <bean123ch@gmail.com>
31394
31395 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31396 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31397 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31398 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31399 dm_nv.mod.
31400 (raid5rec_mod_SOURCES): New macro.
31401 (raid5rec_mod_CFLAGS): Likewise.
31402 (raid5rec_mod_LDFLAGS): Likewise.
31403 (raid6rec_mod_SOURCES): Likewise.
31404 (raid6rec_mod_CFLAGS): Likewise.
31405 (raid6rec_mod_LDFLAGS): Likewise.
31406 (mdraid_mod_SOURCES): Likewise.
31407 (mdraid_mod_CFLAGS): Likewise.
31408 (mdraid_mod_LDFLAGS): Likewise.
31409 (dm_nv_mod_SOURCES): Likewise.
31410 (dm_nv_mod_CFLAGS): Likewise.
31411 (dm_nv_mod_LDFLAGS): Likewise.
31412
31413 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31414 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31415 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31416
31417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31418 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31419
31420 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31421
31422 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31423
31424 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31425
31426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31427
31428 * disk/raid5_recover.c: New file.
31429
31430 * disk/raid6_recover.c: Likewise.
31431
31432 * disk/mdraid_linux.c: Likewise.
31433
31434 * disk/dmraid_nvidia.c: Likewise.
31435
31436 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31437 ULONG_MAX.
31438
31439 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31440 calculate the size of raid device.
31441 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31442 different layout of raid5.
31443 (grub_raid_scan_device): Remove code specific to mdraid.
31444 (grub_raid_list): New variable.
31445 (free_array): New function.
31446 (grub_raid_register): Likewise.
31447 (grub_raid_unregister): Likewise.
31448 (grub_raid_rescan): Likewise.
31449 (GRUB_MOD_INIT): Don't iterate device here.
31450 (GRUB_MOD_FINI): Use free_array to release resource.
31451
31452 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31453 (grub_raid5_recover_func_t): New function variable type.
31454 (grub_raid6_recover_func_t): Likewise.
31455 (grub_raid5_recover_func): New variable.
31456 (grub_raid6_recover_func): Likewise.
31457 (grub_raid_register): New function.
31458 (grub_raid_unregister): Likewise.
31459 (grub_raid_rescan): Likewise.
31460 (grub_raid_block_xor): Likewise.
31461
31462 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31463 (CMD_CRC): New macro.
31464 (part): Removed.
31465 (read_file): Handle device as well as file.
31466 (cmd_crc): New function.
31467 (fstest): Handle multiple disks.
31468 (options): Remove part, raw and long, add root and diskcount.
31469 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31470 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31471 add handling for the new options, support multiple disks.
31472
31473 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31474
29c18915 314752008-08-23 Bean <bean123ch@gmail.com>
31476
31477 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31478
31479 * genfslist.sh: Ignore kernel.mod.
31480
31481 * genpartmaplist.sh: Likewise.
31482
8415f261 314832008-08-23 Robert Millan <rmh@aybabtu.com>
31484
31485 * util/getroot.c (find_root_device): Skip anything that starts with
31486 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31487
d5a7dc5b 314882008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31489
d5a7dc5b 31490 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31491 * util/grub.d/00_header.in: Allow the administrator to change default
31492 gfxmode via ${GRUB_GFXMODE}.
31493
380cfbb4 314942008-08-21 Felix Zielcke <fzielcke@z-51.de>
31495
31496 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31497
c9baafe7 314982008-08-21 Robert Millan <rmh@aybabtu.com>
31499
31500 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31501 loader.
31502 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31503 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31504
e290bef2 315052008-08-20 Carles Pina i Estany <carles@pina.cat>
31506
31507 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31508 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31509
f9dbfc96 315102008-08-19 Robert Millan <rmh@aybabtu.com>
31511
31512 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31513 (struct grub_virtual_screen): Remove `cursor_color'.
31514 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31515 initialization.
31516 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31517
dd6bd6ab 315182008-08-18 Robert Millan <rmh@aybabtu.com>
31519
31520 Unify (identical) linux_normal.c files.
31521 * loader/i386/efi/linux_normal.c: Move from here ...
31522 * loader/linux_normal.c: ... to here. Update all users.
31523 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31524 * loader/i386/ieee1275/linux_normal.c: Likewise.
31525
7f42f83e 315262008-08-18 Robert Millan <rmh@aybabtu.com>
31527
31528 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31529 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31530 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31531 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31532 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31533 New macros.
31534 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31535 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31536 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31537 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31538 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31539 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31540 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31541 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31542 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31543 portably using grub_getxy().
31544 Replace `-EFI' with `-bzImage' in boot message.
31545
38487ddb 315462008-08-17 Robert Millan <rmh@aybabtu.com>
31547
31548 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31549
deceb3ec 315502008-08-17 Robert Millan <rmh@aybabtu.com>
31551
31552 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31553
31554 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31555 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31556 (grub_machine_mmap_iterate): New function declaration.
31557 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31558 structure.
31559 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31560 macros.
31561
31562 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31563 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31564 Move e820 parsing from here ...
31565 * kern/i386/pc/mmap.c: New file.
31566 (grub_machine_mmap_iterate): ... to here.
31567
31568 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31569 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31570 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31571 (grub_available_iterate): Redeclare to return `void', and redeclare
31572 its hook to use grub_uint64_t as addr and size parameters, and rename
31573 to ...
31574 (grub_machine_mmap_iterate): ... this. Update all users.
31575
31576 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31577 to make it more readable. Rename to ...
31578 (grub_machine_mmap_iterate): ... this.
31579
31580 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31581 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31582 (grub_multiboot): Allocate an extra region after the payload, and fill
31583 it with a Multiboot memory map. Adjust a.out loader to calculate size
31584 with the extra space.
31585 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31586 with the extra space.
31587
f8aa0f43 315882008-08-17 Carles Pina i Estany <carles@pina.cat>
31589
9807deb9 31590 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31591
605f5bb6 315922008-08-17 Felix Zielcke <fzielcke@z-51.de>
31593
31594 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31595 mdate-sh to the list `find' searches for.
31596 * DISTLIST: Regenerated.
31597
210db6c6 315982008-08-16 Felix Zielcke <fzielcke@z-51.de>
31599
31600 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31601 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31602 genmoddep.awk, gensymlist.sh.in.
31603 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31604 * DISTLIST: Regenerated.
48cdbfd4 31605 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31606
1082b929 316072008-08-16 Robert Millan <rmh@aybabtu.com>
31608
31609 * disk/raid.c (grub_raid_init): Handle/report errors set by
31610 grub_device_iterate().
31611 * disk/lvm.c (grub_lvm_init): Likewise.
31612
42ce5170 316132008-08-15 Bean <bean123ch@gmail.com>
31614
31615 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31616 and datehook.mod.
31617 (datetime_mod_SOURCES): New macro.
31618 (datetime_mod_CFLAGS): Likewise.
31619 (datetime_mod_LDFLAGS): Likewise.
31620 (date_mod_SOURCES): Likewise.
31621 (date_mod_CFLAGS): Likewise.
31622 (date_mod_LDFLAGS): Likewise.
31623 (datehook_mod_SOURCES): Likewise.
31624 (datehook_mod_CFLAGS): Likewise.
31625 (datehook_mod_LDFLAGS): Likewise.
31626
31627 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31628 and datehook.mod.
31629 (datetime_mod_SOURCES): New macro.
31630 (datetime_mod_CFLAGS): Likewise.
31631 (datetime_mod_LDFLAGS): Likewise.
31632 (date_mod_SOURCES): Likewise.
31633 (date_mod_CFLAGS): Likewise.
31634 (date_mod_LDFLAGS): Likewise.
31635 (datehook_mod_SOURCES): Likewise.
31636 (datehook_mod_CFLAGS): Likewise.
31637 (datehook_mod_LDFLAGS): Likewise.
31638
31639 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31640 and datehook.mod.
31641 (datetime_mod_SOURCES): New macro.
31642 (datetime_mod_CFLAGS): Likewise.
31643 (datetime_mod_LDFLAGS): Likewise.
31644 (date_mod_SOURCES): Likewise.
31645 (date_mod_CFLAGS): Likewise.
31646 (date_mod_LDFLAGS): Likewise.
31647 (datehook_mod_SOURCES): Likewise.
31648 (datehook_mod_CFLAGS): Likewise.
31649 (datehook_mod_LDFLAGS): Likewise.
31650
31651 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31652 and datehook.mod.
31653 (datetime_mod_SOURCES): New macro.
31654 (datetime_mod_CFLAGS): Likewise.
31655 (datetime_mod_LDFLAGS): Likewise.
31656 (date_mod_SOURCES): Likewise.
31657 (date_mod_CFLAGS): Likewise.
31658 (date_mod_LDFLAGS): Likewise.
31659 (datehook_mod_SOURCES): Likewise.
31660 (datehook_mod_CFLAGS): Likewise.
31661 (datehook_mod_LDFLAGS): Likewise.
31662
31663 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31664 and datehook.mod.
31665 (datetime_mod_SOURCES): New macro.
31666 (datetime_mod_CFLAGS): Likewise.
31667 (datetime_mod_LDFLAGS): Likewise.
31668 (date_mod_SOURCES): Likewise.
31669 (date_mod_CFLAGS): Likewise.
31670 (date_mod_LDFLAGS): Likewise.
31671 (datehook_mod_SOURCES): Likewise.
31672 (datehook_mod_CFLAGS): Likewise.
31673 (datehook_mod_LDFLAGS): Likewise.
31674
31675 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31676
31677 * commands/date.c: New file.
31678
31679 * hook/datehook.c: Likewise.
31680
31681 * include/grub/lib/datetime.h: Likewise.
31682
31683 * include/grub/i386/cmos.h: Likewise.
31684
31685 * lib/datetime.c: Likewise.
31686
31687 * lib/i386/datetime.c: Likewise.
31688
31689 * lib/efi/datetime.c: Likewise.
31690
0e9242da 316912008-08-14 Robert Millan <rmh@aybabtu.com>
31692
31693 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31694 (grub_mkelfimage_SOURCES): New variable.
31695 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31696
31697 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31698 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31699 * conf/powerpc-ieee1275.rmk: Likewise.
31700 * conf/i386-ieee1275.rmk: Likewise.
31701
31702 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31703 * kern/i386/coreboot/init.c: Likewise.
31704
31705 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31706 with `<grub/cpu/kernel.h>'.
31707 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31708 to ...
31709 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31710 * kern/i386/coreboot/startup.S: Likewise.
31711
31712 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31713 (GRUB_MOD_GAP): Remove.
31714 * include/grub/powerpc/kernel.h: New file.
31715 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31716 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31717 * include/grub/i386/kernel.h: New file.
31718 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31719 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31720 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31721
31722 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31723 `grub-mkelfimage'.
31724 Use --directory when invoking grub_mkimage.
31725
31726 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31727 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31728 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31729 and GRUB_KERNEL_CPU_PREFIX.
31730
b86408f8 317312008-08-14 Felix Zielcke <fzielcke@z-51.de>
31732
d5e619ca 31733 * include/grub/err.h (grub_err_printf): New function prototype.
31734 * util/misc.c (grub_err_printf): New function.
31735 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31736 grub_printf.
31737 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31738
7161f0e0 317392008-08-13 Robert Millan <rmh@aybabtu.com>
31740
31741 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31742
a1967522 317432008-08-13 Robert Millan <rmh@aybabtu.com>
31744
31745 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31746 boot entry.
31747
371458b5 317482008-08-12 Robert Millan <rmh@aybabtu.com>
31749
31750 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31751 of the relocation code from here ...
31752 (grub_multiboot): ... to here.
31753 (forward_relocator, backward_relocator): Move from here ...
31754 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31755 (grub_multiboot_backward_relocator): ... to here.
31756 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31757 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31758 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31759 (grub_multiboot_forward_relocator_end)
31760 (grub_multiboot_backward_relocator)
31761 (grub_multiboot_backward_relocator_end): New variables.
31762
05f9452b 317632008-08-12 Bean <bean123ch@gmail.com>
31764
31765 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31766
20024ab0 317672008-08-11 Robert Millan <rmh@aybabtu.com>
31768
31769 * kern/i386/linuxbios/startup.S: Move from here ...
31770 * kern/i386/coreboot/startup.S: ... to here.
31771
31772 * kern/i386/linuxbios/init.c: Move from here ...
31773 * kern/i386/coreboot/init.c: ... to here.
31774
31775 * kern/i386/linuxbios/table.c: Move from here ...
31776 * kern/i386/coreboot/mmap.c: ... to here.
31777
31778 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31779
e352e9cd 317802008-08-11 Robert Millan <rmh@aybabtu.com>
31781
31782 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31783 errors. Leave it to the upper layer to handle them.
31784
2d05bc6a 317852008-08-09 Christian Franke <franke@computer.org>
31786
31787 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31788 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31789 Install `grub.d/10_windows' only on Cygwin.
31790 * configure.ac: Add subst of `target_os'.
31791 Check `target_os' also before setting TARGET_OBJ2ELF.
31792 Add `--enable-grub-pe2elf'.
31793
042bd419 317942008-08-08 Robert Millan <rmh@aybabtu.com>
31795
31796 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31797 (grub_last_time): Change type to grub_uint64_t.
31798 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31799 (grub_disk_close): Likewise.
31800
31801 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31802 (run_menu): Migrate code from to using grub_get_time_ms().
31803
31804 * util/misc.c (grub_get_time_ms): New function.
31805
7f280db5 318062008-08-08 Marco Gerards <marco@gnu.org>
31807
31808 * disk/ata.c (grub_ata_regget): Change return type to
31809 `grub_uint8_t'.
31810 (grub_ata_regget2): Likewise.
31811 (grub_ata_wait_status): New function.
31812 (grub_ata_wait_busy): Removed function, updated all users to use
31813 `grub_ata_wait_status'.
31814 (grub_ata_wait_drq): Likewise.
31815 (grub_ata_cmd): New function.
31816 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31817 error handling.
31818 (grub_ata_pio_write): Add error handling.
31819 (grub_atapi_identify): Likewise.
31820 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31821 handling.
31822 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31823 handling. Actually use the detected registers. Reorder the
31824 detection logic such that it is easier to read.
31825 (grub_ata_pciinit): Do not assign the same ID to each controller.
31826 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31827 handling.
31828 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31829
31830 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31831
1fbc5e66 318322008-08-08 Marco Gerards <marco@gnu.org>
31833
31834 * NEWS: Update.
31835
819ce6c0 318362008-08-07 Bean <bean123ch@gmail.com>
31837
31838 * include/grub/x86_64/pci.h: New file.
31839
5c41d44d 318402008-08-07 Christian Franke <franke@computer.org>
31841
31842 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31843 (TIMER2_GATE): Likewise.
31844 (grub_pit_wait): Add enable/disable of the timer2 gate
31845 bit of port 0x61. This fixes a possible infinite loop.
31846
5ebc275d 318472008-08-07 Bean <bean123ch@gmail.com>
31848
31849 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31850 kern/i386/tsc.c and kern/i386/pit.c.
31851
31852 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31853 x86_64 platform.
31854
31855 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31856 <grub/i386/tsc.h>.
31857
31858 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31859
e383b3d0 318602008-08-07 Bean <bean123ch@gmail.com>
31861
31862 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31863
31864 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31865
31866 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31867 multiple inclusion. Add #include <grub/types.h>.
31868
1cbb58ac 318692008-08-06 Christian Franke <franke@computer.org>
31870
31871 * conf/common.rmk: Build and install `10_windows'.
31872 * util/grub.d/10_windows.in: New script.
31873
337f5a1e 318742008-08-06 Pavel Roskin <proski@gnu.org>
31875
31876 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31877
057bc4ac 318782008-08-06 Robert Millan <rmh@aybabtu.com>
31879
31880 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31881 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31882
2b99f123 318832008-08-06 Bean <bean123ch@gmail.com>
31884
31885 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31886 (grub_pxefs_fs_int): Remove dummy definition.
31887 (grub_pxefs_open): Use data->block_size to store the current block
31888 size setting.
31889 (grub_pxefs_read): Use block size stored in data->block_size. As the
31890 value of grub_pxe_blksize can be changed after the file is opened.
31891
9f0234cb 318922008-08-06 Bean <bean123ch@gmail.com>
31893
31894 * fs/i386/pc/pxe.c (curr_file): new variable.
31895 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31896 require the dummy internal file system anymore.
31897 (grub_pxefs_read): Removed.
31898 (grub_pxefs_close): Likewise.
31899 (grub_pxefs_fs_int): Likewise.
31900 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31901 connection when we switch file.
31902 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31903
a55d42e0 319042008-08-06 Robert Millan <rmh@aybabtu.com>
31905
31906 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31907 `halt.mod'.
31908 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31909 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31910
31911 * kern/i386/halt.c: New file.
31912 * kern/i386/reboot.c: Likewise.
31913 * include/grub/i386/reboot.h: Likewise.
31914 * include/grub/i386/halt.h: Likewise.
31915
31916 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31917 Include `<grub/cpu/halt.h>'.
31918 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31919 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31920
31921 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31922 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31923 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31924 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31925 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31926 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31927 from here ...
31928 * include/grub/i386/at_keyboard.h: ... to here.
31929
24371d26 319302008-08-05 Robert Millan <rmh@aybabtu.com>
31931
31932 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31933 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31934 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31935 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31936 `kern/generic/millisleep.c'.
31937
31938 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31939 instead of grub_get_rtc().
31940 (grub_tsc_init): Initialize `tsc_boot_time'.
31941
31942 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31943 (grub_machine_init): Use grub_tsc_init() rather than
31944 installing an RTC-based handler via grub_install_get_time_ms().
31945
31946 * kern/i386/pit.c: New file.
31947 * include/grub/i386/pit.h: Likewise.
31948
9e7007b3 319492008-08-05 Bean <bean123ch@gmail.com>
31950
31951 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31952
31953 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31954 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31955 (pxe_mod_SOURCES): New macro.
31956 (pxe_mod_CFLAGS): Likewise.
31957 (pxe_mod_LDFLAGS): Likewise.
31958 (pxecmd_mod_SOURCES): Likewise.
31959 (pxecmd_mod_CFLAGS): Likewise.
31960 (pxecmd_mod_LDFLAGS): Likewise.
31961
31962 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31963 (grub_pxe_call): Likewise.
31964
31965 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31966
31967 * commands/i386/pc/pxecmd.c: New file.
31968
9f0234cb 31969 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31970
31971 * include/grub/i386/pc/pxe.h: Likewise.
31972
6977d49f 319732008-08-05 Bean <bean123ch@gmail.com>
31974
31975 * util/console.c (grub_console_cur_color): New variable.
31976 (grub_console_standard_color): Likewise.
31977 (grub_console_normal_color): Likewise.
31978 (grub_console_highlight_color): Likewise.
31979 (color_map): Likewise.
31980 (use_color): Likewise.
31981 (NUM_COLORS): New macro.
31982 (grub_ncurses_setcolorstate): Handle color properly.
31983 (grub_ncurses_setcolor): Don't change color here, just remember the
31984 settings, color will be set in grub_ncurses_setcolorstate.
31985 (grub_ncurses_getcolor): New function.
31986 (grub_ncurses_init): Initialize color pairs.
31987 (grub_ncurses_term): New member grub_ncurses_getcolor.
31988
9c2ff3ee 319892008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31990
9c2ff3ee 31991 High resolution timer support. Implemented for x86 CPUs using TSC.
31992 Extracted generic grub_millisleep() so it's linked in only as needed.
31993 This requires a Pentium compatible CPU; if the RDTSC instruction is
31994 not supported, then it falls back on the generic grub_get_time_ms()
31995 implementation that uses the machine's RTC.
31996
31997 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31998 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31999 `kern/generic/millisleep.c'.
32000
32001 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32002 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32003
32004 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32005 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32006
32007 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32008
32009 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32010 `kern/generic/millisleep.c'.
32011
32012 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32013
32014 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32015
32016 * kern/generic/rtc_get_time_ms.c: New file.
32017
32018 * kern/generic/millisleep.c: New file.
337f5a1e 32019
9c2ff3ee 32020 * kern/misc.c: Don't include
32021 <kern/time.h> anymore.
32022 (grub_millisleep_generic): Removed.
32023
32024 * commands/sleep.c (grub_interruptible_millisleep): Uses
32025 grub_get_time_ms() instead of grub_get_rtc().
32026
32027 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32028 function.
32029 (grub_cpu_is_cpuid_supported): New inline function.
32030 (grub_cpu_is_tsc_supported): New inline function.
32031 (grub_tsc_init): New function prototype.
32032 (grub_tsc_get_time_ms): New function prototype.
32033
32034 * kern/i386/tsc.c (grub_get_time_ms): New file.
32035
32036 * include/grub/time.h: Include <grub/types.h.
32037 (grub_millisleep_generic): Removed.
32038 (grub_get_time_ms): New prototype.
32039 (grub_install_get_time_ms): New prototype.
32040 (grub_rtc_get_time_ms): New prototype.
32041
32042 * kern/time.c (grub_get_time_ms): New function.
32043 (grub_install_get_time_ms): New function.
32044
32045 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32046 <grub/time.h> anymore.
32047 (grub_millisleep): Removed.
32048 (grub_machine_init): Call grub_tsc_init.
32049
32050 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32051 get_time_ms() implementation.
32052
32053 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32054 (ieee1275_get_time_ms): New function.
32055 (grub_machine_init): Install get_time_ms() implementation.
32056
32057 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32058 (grub_machine_init): Call grub_tsc_init().
32059 (grub_millisleep): Removed.
bf06a93f 32060
9c2ff3ee 32061 * kern/ieee1275/init.c (grub_millisleep): Removed.
32062 (grub_machine_init): Install ieee1275_get_time_ms()
32063 implementation.
32064 (ieee1275_get_time_ms): New function.
32065 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32066 real work.
32067
9ec92aaf 320682008-08-05 Marco Gerards <marco@gnu.org>
32069
32070 * disk/ata.c: Include <grub/pci.h>.
32071 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32072 (grub_ata_initialize): Rewritten.
32073 (grub_ata_device_initialize): New function.
32074
8d23f507 320752008-08-04 Pavel Roskin <proski@gnu.org>
32076
32077 * kern/main.c: Include grub/mm.h.
32078
5e15ee3d 320792008-08-04 Robert Millan <rmh@aybabtu.com>
32080
32081 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32082 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32083 corruption problem).
32084
a9053f8f 320852008-08-04 Robert Millan <rmh@aybabtu.com>
32086
32087 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32088 warnings introduced in my last commit.
32089
dd19c7d7 320902008-08-03 Robert Millan <rmh@aybabtu.com>
32091
32092 Make PCI available on all i386 architectures.
32093
32094 * include/grub/i386/pc/pci.h: Move from here ...
32095 * include/grub/i386/pci.h: ... to here.
32096
32097 * include/grub/i386/pc/pci.h: Remove.
32098 * include/grub/i386/efi/pci.h: Remove.
32099 * include/grub/x86_64/efi/pci.h: Remove.
32100
32101 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32102 `<grub/cpu/pci.h>'.
32103
32104 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32105 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32106 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32107
32108 * conf/i386-ieee1275.rmk: Likewise.
32109
e14a6184 321102008-08-03 Robert Millan <rmh@aybabtu.com>
32111
32112 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32113 (grub_console_setcursor): Make it possible to set cursor off.
32114
52768e37 321152008-08-03 Robert Millan <rmh@aybabtu.com>
32116
32117 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32118 of modules instead of assuming which platform provides what.
32119 * util/update-grub.in: Likewise.
32120
2d52f57f 321212008-08-03 Robert Millan <rmh@aybabtu.com>
32122
32123 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32124 instead of `grub_install_dos_part' to determine whether a drive needs
32125 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32126 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32127
2a5cd121 321282008-08-02 Robert Millan <rmh@aybabtu.com>
32129
32130 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32131
93808428 321322008-08-02 Robert Millan <rmh@aybabtu.com>
32133
32134 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32135 of informational grub_dprintf() calls.
32136
3bd0a12a 321372008-08-02 Robert Millan <rmh@aybabtu.com>
32138
32139 * disk/memdisk.c (memdisk_size): Don't initialize.
32140 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32141
32142 * include/grub/i386/pc/kernel.h
32143 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32144 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32145 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32146 (grub_arch_memdisk_size): Remove.
32147
32148 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32149 field (was only used to transfer a constant). Add `type' field to
32150 support multiple module types.
32151 (grub_module_iterate): New function.
32152
32153 * kern/device.c (grub_device_open): Do not hide error messages
32154 when grub_disk_open() fails. Use grub_print_error() instead.
32155
32156 * kern/i386/pc/init.c (grub_arch_modules_addr)
32157 (grub_arch_memdisk_size): Remove functions.
32158 (grub_arch_modules_addr): Return the module address in high memory
32159 (now that it isn't copied anymore).
32160
32161 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32162 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32163 decompression routine (grub_total_module_size already includes that
32164 now). Don't copy modules back to low memory.
32165
32166 * kern/main.c: Include `<grub/mm.h>'.
32167 (grub_load_modules): Split out (and use) ...
32168 (grub_module_iterate): ... this function, which iterates through
32169 module objects and runs a hook.
32170 Comment out grub_mm_init_region() call, as it would cause non-ELF
32171 modules to be overwritten.
32172
32173 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32174 the memdisk image in its own region, make it part of the module list.
32175 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32176 (main): Parse --memdisk|-m option, and pass user-provided path as
32177 parameter to generate_image().
32178 (add_segments): Pass `memdisk_path' down to load_modules().
32179 (load_modules): Embed memdisk image in module section when requested.
32180 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32181 `header.type' instead of `header.offset'.
32182
32183 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32184 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32185 (memdisk_mod_LDFLAGS): New variables.
32186 * conf/i386-coreboot.rmk: Likewise.
32187 * conf/i386-ieee1275.rmk: Likewise.
32188
a927cc73 321892008-08-02 Robert Millan <rmh@aybabtu.com>
32190
32191 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32192 (backward_relocator): New variables. Used to allocate and relocate
32193 the payload, respectively.
32194 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32195 address, install the appropriate relocator code in each bound of
a927cc73 32196 the payload, and set the entry point such that
32197 grub_multiboot_real_boot() will jump to one of them.
32198
32199 * kern/i386/loader.S (grub_multiboot_payload_size)
32200 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32201 (grub_multiboot_payload_entry_offset): New variables.
32202 (grub_multiboot_real_boot): Set cpu context to what the relocator
32203 expects, and jump to the relocator instead of the payload.
32204
32205 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32206 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32207 (grub_multiboot_payload_entry_offset): Export.
32208
b15d8a0c 322092008-08-01 Bean <bean123ch@gmail.com>
32210
32211 * normal/menu_entry.c (editor_getline): Don't return the original
32212 string as result, as it will be released by lexer once it has done
32213 using it.
32214
cdfb3d22 322152008-08-01 Robert Millan <rmh@aybabtu.com>
32216
32217 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32218 within menuentries, not before them.
32219 util/grub.d/10_hurd.in: Likewise.
32220
9175e93d 322212008-08-01 Bean <bean123ch@gmail.com>
32222
32223 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32224 (bufio_mod_SOURCES): New macro.
32225 (bufio_mod_CFLAGS): Likewise.
32226 (bufio_mod_LDFLAGS): Likewise.
32227
32228 * include/grub/bufio.h: New file.
32229
32230 * io/bufio.c: Likewise.
32231
32232 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32233 (grub_video_reader_png): Use grub_buffile_open to open file.
32234
32235 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32236 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32237
32238 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32239 (grub_video_reader_tga): Use grub_buffile_open to open file.
32240
32241 * font/manager.c: Include <grub/bufio.h>.
32242 (add_font): Use grub_buffile_open to open file.
32243
3d8383e7 322442008-07-31 Robert Millan <rmh@aybabtu.com>
32245
32246 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32247 ELF segments, use a macro for arbitrarily accessing any of them instead
32248 of preparing a pointer that allows access to one at a time.
32249 (grub_multiboot_load_elf64): Likewise.
32250
16e641b6 322512008-07-31 Bean <bean123ch@gmail.com>
32252
32253 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32254 GRUB_KERNEL_MACHINE_DATA_END.
32255
59198b72 322562008-07-30 Robert Millan <rmh@aybabtu.com>
32257
32258 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32259 Increase from 0x50 to 0x60.
32260 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32261 use UUIDs to identify the root drive for them. If that's not
32262 possible, abort.
32263 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32264 check, for cross-disk installs.
32265
ae88bca3 322662008-07-30 Robert Millan <rmh@aybabtu.com>
32267
32268 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32269 is non-empty, use it to set the `prefix' environment variable instead
32270 of the usual approach.
32271 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32272 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32273 environment variable instead of dummy make_install_device().
32274
32275 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32276 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32277 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32278
32279 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32280 New variable reference.
32281 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32282 New macro. Defines offset of `grub_prefix' within startup.S (relative
32283 to `start').
32284 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32285 section within startup.S (relative to `start').
32286 * include/grub/i386/coreboot/kernel.h: Likewise.
32287
32288 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32289 Overwrite grub_prefix with its contents, at the beginning of the
32290 first segment.
32291 (main): Understand -p|--prefix.
32292
14f41dd1 322932008-07-30 Robert Millan <rmh@aybabtu.com>
32294
32295 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32296
4ca049a3 322972008-07-30 Robert Millan <rmh@aybabtu.com>
32298
32299 * term/i386/pc/vga_text.c (grub_console_cls): Use
32300 grub_console_gotoxy() to go back to beginning of the screen.
32301 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32302
2921d337 323032008-07-29 Christian Franke <franke@computer.org>
32304
32305 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32306 Add conversion of emulated mount points on Cygwin.
32307
b609876d 323082008-07-29 Christian Franke <franke@computer.org>
32309
32310 * util/update-grub.in: Add a check for admin
32311 group on Cygwin.
32312 Remove old `grub.cfg.new' before creation.
32313 Add `-f' to `mv' to handle the different filesystem
32314 semantics of Windows.
32315
e93e4679 323162008-07-29 Bean <bean123ch@gmail.com>
32317
32318 * normal/main.c (get_line): Fix buffer overflow bug.
32319
41694fd0 323202008-07-28 Robert Millan <rmh@aybabtu.com>
32321
32322 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32323 (struct grub_apple_header): New struct. Describes the layout of
32324 the partmap header.
32325 (apple_partition_map_iterate): Check the header magic as well as the
32326 partition magic (which was already being checked).
32327
cfd0b4e6 323282008-07-28 Pavel Roskin <proski@gnu.org>
32329
32330 * genmk.rb: Add a warning to the beginning of the output that
32331 it's a generated file and should not be edited.
32332
93cce016 323332008-07-28 Robert Millan <rmh@aybabtu.com>
32334
32335 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32336 with the same number are found, just use issue a warning with
32337 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32338
cd1df915 323392008-07-27 Robert Millan <rmh@aybabtu.com>
32340
32341 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32342 information.
32343
b70a8427 323442008-07-27 Bean <bean123ch@gmail.com>
32345
32346 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32347 (grub_fat_find_dir): Ignore case when comparing filename.
32348
8f5e379f 323492008-07-27 Bean <bean123ch@gmail.com>
32350
32351 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32352 smallino, as it's more descriptive, and i8count can be confused with
32353 the other field count.
32354 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32355 inode type.
32356
a85cd5a0 323572008-07-27 Bean <bean123ch@gmail.com>
32358
32359 * commands/crc.c: New file.
32360
32361 * lib/crc.c: Likewise.
32362
32363 * include/grub/lib/crc.h: Likewise.
32364
32365 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32366
32367 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32368 (hexdump): Move this function to ...
32369
32370 * lib/hexdump.c: ... here.
32371
32372 * include/grub/hexdump.h: Renamed to ...
32373
32374 * include/grub/lib/hexdump.h: ... this.
32375
32376 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32377
32378 * util/grub-editenv.c: Likewise.
32379
32380 * include/envblk.h: Renamed to ...
32381
32382 * include/lib/envblk.h: ... this.
32383
32384 * util/envblk.c: Renamed to ...
32385
32386 * lib/envblk.c: ... this.
32387
32388 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32389 lib/hexdump.c.
32390 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32391 (pkglib_MODULES): Add crc.mod.
32392 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32393 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32394 (crc_mod_SOURCES): New macro.
32395 (crc_mod_CFLAGS): Likewise.
32396 (crc_mod_LDFLAGS): Likewise.
32397
32398 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32399
32400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32401
32402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32403
32404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32405
32406 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32407
c298def0 324082008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32409
32410 * commands/help.c: Include <grub/term.h>.
32411 (TERM_WIDTH): Removed. Updated all users.
32412
cc349fb3 324132008-07-27 Pavel Roskin <proski@gnu.org>
32414
32415 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32416 spurious warnings about a comment within a comment.
32417
9051607e 324182008-07-25 Robert Millan <rmh@aybabtu.com>
32419
32420 * util/getroot.c (find_root_device): Skip devices that match
32421 /dev/dm-[0-9]. This lets the real device be found for any type of
32422 abstraction (LVM, EVMS, RAID..).
32423 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32424 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32425 device is found first, find_root_device() will now skip it.
32426
01453bfc 324272008-07-24 Pavel Roskin <proski@gnu.org>
32428
32429 * include/grub/types.h: Use __builtin_bswap32() and
32430 __builtin_bswap64() with gcc 4.3 and newer.
32431
6af9849f 324322008-07-24 Christian Franke <franke@computer.org>
32433
3a0fa256 32434 * util/i386/pc/grub-install.in: If `--debug' is specified,
32435 pass `--verbose' to grub-setup.
32436 Abort script if make_system_path_relative_to_its_root() fails.
32437
7810e747 324382008-07-24 Bean <bean123ch@gmail.com>
32439
32440 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32441 variable `target_platform' should be `platform'.
32442
42290e17 324432008-07-24 Bean <bean123ch@gmail.com>
32444
51cc5193 32445 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32446 (grub_png_init_fixed_block): New function.
32447 (grub_png_decode_image_data): Handle fixed huffman code compression.
32448
2a8a80e4 324492008-07-24 Bean <bean123ch@gmail.com>
32450
32451 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32452 (grub_pe2elf_SOURCES): New macro.
32453 (CLEANFILES): Add grub-pe2elf.
32454
32455 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32456 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32457 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32458 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32459 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32460 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32461 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32462 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32463 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32464 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32465 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32466 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32467 (GRUB_PE32_DT_FUNCTION): Likewise.
32468 (GRUB_PE32_REL_I386_DIR32): Likewise.
32469 (GRUB_PE32_REL_I386_REL32): Likewise.
32470 (grub_pe32_symbol): New structure.
32471 (grub_pe32_reloc): Likewise.
32472
32473 * util/grub-pe2elf.c: New file.
32474
32475 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32476 start symbol in non pc platform.
32477
32478 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32479
32480 The following patches are from Christian Franke.
32481
32482 * include/grub/dl.h: Remove .previous, gas supports this only
32483 for ELF format.
32484
32485 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32486 Remove .type, gas supports this only for ELF format.
32487
32488 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32489 nullbytes in symbol table. This fixes an infinite loop if table is
32490 zero filled.
32491
32492 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32493 TARGET_IMG_LDFLAGS and EXEEXT.
32494
32495 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32496 TARGET_IMG_LDFLAGS_AC.
32497 (grub_CHECK_STACK_ARG_PROBE): New function.
32498
32499 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32500
32501 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32502
32503 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32504 to set TARGET_IMG_LD* accordingly.
32505 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32506 Add call to grub_CHECK_STACK_ARG_PROBE.
32507 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32508
32509 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32510
32511 * genmk.rb: Add EXEEXT to CLEANFILES.
32512
12ccdb75 325132008-07-23 Robert Millan <rmh@aybabtu.com>
32514
32515 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32516 define the codes for arrows and lines used for the menu).
32517 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32518 as well.
32519
32520 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32521 fonts, because the latter are too slow.
32522
18eeaf04 325232008-07-21 Bean <bean123ch@gmail.com>
32524
32525 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32526 a20. Run keyboard test last, as it will cause macbook to halt.
32527
b095e2ad 325282008-07-18 Pavel Roskin <proski@gnu.org>
32529
32530 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32531 load foreign architecture modules correctly anyway. Keep
32532 support for loading host architecture modules, whether we
32533 compile them or not.
32534
737feb35 325352008-07-17 Pavel Roskin <proski@gnu.org>
32536
3f4ce737 32537 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32538 change target_cpu. The compiler default can mismatch target_cpu
32539 in any case.
32540
4ad2d049 32541 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32542 * kern/efi/efi.c: Likewise.
32543
f6130a12 32544 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32545 target compiler is functional.
32546 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32547 are set up.
32548
58393a2d 32549 * configure.ac: Default to efi platform for x86_64-apple. Allow
32550 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32551 adjustments from the rest, only do them if target is not
32552 explicitly given. Merge other adjustments with the final sanity
32553 check. Remove an extraneous check for supported CPU. Be
32554 specific which CPU and which platform is not supported.
32555
737feb35 32556 * configure.ac: Default to pc platform for x86_64.
32557
546f966a 325582008-07-17 Robert Millan <rmh@aybabtu.com>
32559
32560 Partial LinuxBIOS -> Coreboot rename.
32561
32562 * conf/i386-linuxbios.rmk: Renamed to ...
32563 * conf/i386-coreboot.rmk: ... this.
32564 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32565 * configure.ac: Accept "coreboot" as input platform (but maintain
32566 compatibility with "linuxbios").
32567 * include/grub/i386/linuxbios: Renamed to ...
32568 * include/grub/i386/coreboot: ... this.
32569
20011694 325702008-07-17 Bean <bean123ch@gmail.com>
32571
32572 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32573 (appleldr_mod_SOURCE): New variable.
20011694 32574 (appleldr_mod_CFLAGS): Likewise.
32575 (appleldr_mod_LDFLAGS): Likewise.
32576 (pci_mod_SOURCES): Likewise.
32577 (pci_mod_CFLAGS): Likewise.
32578 (pci_mod_LDFLAGS): Likewise.
32579 (lspci_mod_SOURCES): Likewise.
32580 (lspci_mod_CFLAGS): Likewise.
32581 (lspci_mod_LDFLAGS): Likewise.
32582
32583 * conf/x86_64-efi.rmk: New file.
32584
32585 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32586 macro.
32587 (grub_efidisk_write): Likewise.
32588
32589 * include/efi/api.h (efi_call_0): New macro.
32590 (efi_call_1): Likewise.
32591 (efi_call_2): Likewise.
32592 (efi_call_3): Likewise.
32593 (efi_call_4): Likewise.
32594 (efi_call_5): Likewise.
32595 (efi_call_6): Likewise.
32596
32597 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32598 grub_rescue_cmd_chainloader.
32599
32600 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32601 (grub_pe32_optional_header): Change some fields based on i386 or
32602 x86_64 platform.
32603 (GRUB_PE32_PE32_MAGIC): Likewise.
32604
32605 * include/grub/efi/uga_draw.h: New file.
32606
32607 * include/grub/elf.h (STN_ABS): New constant.
32608 (R_X86_64_NONE): Relocation constant for x86_64.
32609 (R_X86_64_64): Likewise.
32610 (R_X86_64_PC32): Likewise.
32611 (R_X86_64_GOT32): Likewise.
32612 (R_X86_64_PLT32): Likewise.
32613 (R_X86_64_COPY): Likewise.
32614 (R_X86_64_GLOB_DAT): Likewise.
32615 (R_X86_64_JUMP_SLOT): Likewise.
32616 (R_X86_64_RELATIVE): Likewise.
32617 (R_X86_64_GOTPCREL): Likewise.
32618 (R_X86_64_32): Likewise.
32619 (R_X86_64_32S): Likewise.
32620 (R_X86_64_16): Likewise.
32621 (R_X86_64_PC16): Likewise.
32622 (R_X86_64_8): Likewise.
32623 (R_X86_64_PC8): Likewise.
32624
32625 * include/grub/i386/efi/pci.h: New file.
32626
32627 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32628 Change it value based on platform.
32629 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32630 (GRUB_E820_RAM): Likewise.
32631 (GRUB_E820_RESERVED): Likewise.
32632 (GRUB_E820_ACPI): Likewise.
32633 (GRUB_E820_NVS): Likewise.
32634 (GRUB_E820_EXEC_CODE): Likewise.
32635 (GRUB_E820_MAX_ENTRY): Likewise.
32636 (grub_e820_mmap): New structure.
32637 (linux_kernel_header): Change the efi field according to different
32638 kernel version, also field from linux_kernel_header.
32639
32640 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32641
32642 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32643 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32644 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32645 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32646 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32647 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32648 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32649 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32650 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32651 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32652
32653 * include/grub/x86_64/efi/kernel.h: New file.
32654
32655 * include/grub/x86_64/efi/loader.h: Likewise.
32656
32657 * include/grub/x86_64/efi/machine.h: Likewise.
32658
32659 * include/grub/x86_64/efi/pci.h: Likewise.
32660
32661 * include/grub/x86_64/efi/time.h: Likewise.
32662
32663 * include/grub/x86_64/linux.h: Likewise.
32664
32665 * include/grub/x86_64/setjmp.h: Likewise.
32666
32667 * include/grub/x86_64/time.h: Likewise.
32668
32669 * include/grub/x86_64/types.h: Likewise.
32670
32671 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32672 GRUB_TARGET_SIZEOF_VOID_P.
32673
32674 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32675 (grub_efi_locate_handle): Likewise.
32676 (grub_efi_open_protocol): Likewise.
32677 (grub_efi_set_text_mode): Likewise.
32678 (grub_efi_stall): Likewise.
32679 (grub_exit): Likewise.
32680 (grub_reboot): Likewise.
32681 (grub_halt): Likewise.
32682 (grub_efi_exit_boot_services): Likewise.
32683 (grub_get_rtc): Likewise.
32684
32685 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32686 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32687 (grub_efi_allocate_pages): Wrap efi calls.
32688 (grub_efi_free_pages): Wrap efi calls.
32689 (grub_efi_get_memory_map): Wrap efi calls.
32690
32691 * kern/x86_64/dl.c: New file.
32692
32693 * kern/x86_64/efi/callwrap.S: Likewise.
32694
32695 * kern/x86_64/efi/startup.S: Likewise.
32696
32697 * loader/efi/appleloader.c: Likewise.
32698
32699 * loader/efi/chainloader.c (cmdline): New variable.
32700 (grub_chainloader_unload): Wrap efi calls.
32701 (grub_chainloader_boot): Likewise.
32702 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32703 command line.
32704
32705 * loader/efi/chainloader_normal.c (chainloader_command):
32706 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32707 command line.
32708
32709 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32710 method.
32711 (grub_e820_add_region): New function.
32712 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32713 booting.
32714 (grub_find_video_card): New function.
32715 (grub_linux_setup_video): New function.
32716 (grub_rescue_cmd_linux): Probe for video information.
32717
32718 * normal/x86_64/setjmp.S: New file.
32719
32720 * term/efi/console.c (map_char): New function.
32721 (grub_console_putchar): Map unicode char.
32722 (grub_console_checkkey): Wrap efi calls.
32723 (grub_console_getkey): Likewise.
32724 (grub_console_getwh): Likewise.
32725 (grub_console_gotoxy): Likewise.
32726 (grub_console_cls): Likewise.
32727 (grub_console_setcolorstate): Likewise.
32728 (grub_console_setcursor): Likewise.
32729
32730 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32731
59652a20 327322008-07-16 Pavel Roskin <proski@gnu.org>
32733
ef294055 32734 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32735 format strings.
32736
59652a20 32737 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32738 pointer, not an integer. This fixes a warning and prevents
32739 precision loss on 64-bit systems.
32740 (relocate_addresses): Remove unneeded cast.
32741
afc3b5d7 327422008-07-15 Pavel Roskin <proski@gnu.org>
32743
506b2b3e 32744 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32745
62ead89c 32746 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32747
c4cd51d7 32748 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32749 Fix comparison between signed and unsigned.
32750
0d3d8f28 32751 * include/grub/i386/ieee1275/console.h: Declare
32752 grub_console_init() and grub_console_fini().
32753
8804b286 32754 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32755 It's empty and unused.
32756
ee01cf35 32757 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32758 beginning to avoid warnings with some compilers.
32759
afc3b5d7 32760 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32761 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32762
e4e8eaa5 327632008-07-14 Pavel Roskin <proski@gnu.org>
32764
407aceb4 32765 * kern/env.c (grub_register_variable_hook): Don't copy empty
32766 string, it leaks memory. Pass "" to grub_env_set(), it should
32767 handle constant strings.
32768
e4e8eaa5 32769 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32770 * commands/cmp.c (grub_cmd_cmp): Likewise.
32771 * kern/dl.c (grub_dl_flush_cache): Likewise.
32772 (grub_dl_load_core): Likewise.
32773 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32774 (grub_elf64_load_phdrs): Likewise.
32775
d4e2dad3 327762008-07-13 Pavel Roskin <proski@gnu.org>
32777
32778 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32779 between signed and unsigned.
32780 (LzmaEnc_Finish): Fix warning about an unused parameter.
32781
aa24b516 327822008-07-13 Bean <bean123ch@gmail.com>
32783
32784 * Makefile.in (enable_lzo): New rule.
32785
32786 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32787
32788 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32789
32790 * boot/i386/pc/lnxboot.S: #include <config.h>.
32791
32792 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32793 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32794
32795 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32796 compression algorithm according to configure macro.
32797
32798 * kern/i386/pc/startup.S (codestart): Likewise.
32799
32800 * kern/i386/pc/lzma_decode.S: New file.
32801
32802 * include/grub/lib/LzFind.h: Likewise.
32803
32804 * include/grub/lib/LzHash.h: Likewise.
32805
32806 * include/grub/lib/LzmaDec.h: Likewise.
32807
32808 * include/grub/lib/LzmaEnc.h: Likewise.
32809
32810 * include/grub/lib/LzmaTypes.h: Likewise.
32811
32812 * lib/LzFind.c: Likewise.
32813
32814 * lib/LzmaDec.c: Likewise.
32815
32816 * lib/LzmaEnc.c: Likewise.
32817
4ae821ac 328182008-07-13 Bean <bean123ch@gmail.com>
32819
32820 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32821 (grub_ext4_extent_header): New structure.
32822 (grub_ext4_extent): Likewise.
32823 (grub_ext4_extent_idx): Likewise.
32824 (grub_ext4_find_leaf): New function.
32825 (grub_ext2_read_block): Handle extents.
32826
9a745147 328272008-07-12 Robert Millan <rmh@aybabtu.com>
32828
32829 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32830
d49a4cf6 328312008-07-11 Robert Millan <rmh@aybabtu.com>
32832
32833 * util/grub.d/40_custom.in: New file. Example on how to add custom
32834 entries to /etc/grub.d.
32835 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32836 40_custom (implicitly, by merging all the grub.d rules).
32837
947414b4 328382008-07-11 Pavel Roskin <proski@gnu.org>
32839
0059cf6f 32840 * commands/read.c (grub_getline): Fix invalid memory access.
32841 Don't add newline to the variable value.
32842
947414b4 32843 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32844 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32845 (serial_hw_get_port): Check validity of the port number.
32846 (grub_cmd_serial): Check return value of serial_hw_get_port().
32847
62a02d00 328482008-07-07 Pavel Roskin <proski@gnu.org>
32849
32850 * boot/i386/pc/diskboot.S (notification_string): Replace
32851 "Loading kernel" with just "loading". This is shorter, less
32852 confusing and saves a few bytes for possible future changes.
32853
3e5581b0 328542008-07-05 Pavel Roskin <proski@gnu.org>
32855
ea387a48 32856 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32857 size for ATAPI devices, they are undefined. Output sector
32858 number in decimal form.
32859
3e5581b0 32860 * disk/ata.c: Use named constants for status bits.
32861
fdecb8fd 328622008-07-04 Pavel Roskin <proski@gnu.org>
32863
bcd35b90 32864 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32865 grub_addr_t before casting it to the void pointer to fix a
32866 warning. Non-addressable regions are discarded earlier.
32867 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32868 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32869 (check_signature): Don't shadow table_header.
32870 (grub_linuxbios_table_iterate): Cast numeric constants to
32871 grub_linuxbios_table_header_t.
32872 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32873 grub_stop().
32874
af58ab3d 32875 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32876 prevent warnings.
32877
1759aa57 32878 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32879 pointer, which can cause warnings. Support 64-bit addresses.
32880
fdecb8fd 32881 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32882 of sizeof(long). This fixes PowerPC image generation on x86_64.
32883
8516d2a8 328842008-07-04 Robert Millan <rmh@aybabtu.com>
32885
32886 This fixes a performance issue when pc & gpt partmap iterators
32887 didn't abort iteration even after our hook found what it was
fe987087 32888 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32889
32890 Some callers relied on previous buggy behaviour, since they would
34c44600 32891 raise an error when their own hooks caused early abortion of its
8516d2a8 32892 iteration.
32893
32894 * kern/device.c (grub_device_open): Improve error message.
32895 * disk/lvm.c (grub_lvm_open): Likewise.
32896 * disk/raid.c (grub_raid_open): Likewise.
32897
32898 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32899 when hook requests it, independently of grub_errno.
32900 (pc_partition_map_probe): Do not fail when find_func() caused
32901 early abortion of pc_partition_map_iterate().
32902
32903 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32904 when hook requests it, independently of grub_errno.
32905 (gpt_partition_map_probe): Do not fail when find_func() caused
32906 early abortion of gpt_partition_map_iterate().
32907
32908 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32909 when hook requests it, independently of grub_errno. Do not fail when
32910 part_map_iterate_hook() caused early abortion of p->iterate().
32911
32912 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32913 when grub_partition_iterate() returned with non-zero.
32914
277d0de9 329152008-07-03 Pavel Roskin <proski@gnu.org>
32916
32917 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32918 like we do in grub_ata_pio_read().
32919 (grub_ata_readwrite): Always write individual sectors. Fix the
32920 sector count for the remainder.
32921 (grub_ata_write): Enable writing to ATA devices. Correctly
32922 report error for ATAPI devices.
32923
d4c9b428 329242008-07-02 Pavel Roskin <proski@gnu.org>
32925
e43fc690 32926 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32927 warning.
32928
f707af42 32929 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32930 for every read sector, we already increment it for the whole
32931 batch. This fixes reading more than 256 sectors at once.
32932
11e16b15 32933 * util/grub-editenv.c (cmd_info): Cast argument to long
32934 explicitly. ptrdiff_t reduces to int on i386.
32935
cbabfdd4 32936 * util/grub-editenv.c (main): Be specific which parameter is
32937 missing.
32938
b8fbce0a 32939 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32940 (memdisk): Make memdisk_orig_addr a pointer.
32941
c9c8e606 32942 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32943 for file offsets, use grub_off_t instead. Fix printf format
32944 warnings.
32945
ca62e598 32946 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32947 there. Real unexpected warnings should not drown in the noise
32948 about known problems.
32949
ce8d1766 32950 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32951 grub_disk_addr_t for memory addresses.
32952
00c7a56a 32953 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32954 explicitly to fix a warning.
32955
08d3ef09 32956 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32957
cb71ba20 32958 * Makefile.in (MODULE_LDFLAGS): New variable.
32959 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32960 the linker accepts --build-id=none.
32961 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32962 MODULE_LDFLAGS.
32963 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32964
d4c9b428 32965 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32966 those in Linux XFS code. Provide a way to access 64-bit parent
32967 inode.
32968 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32969 the end of struct grub_xfs_dir_header.
32970
d4156eee 329712008-07-02 Bean <bean123ch@gmail.com>
32972
32973 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32974 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32975 and GRUB_IEEE1275_FLAG_NO_ANSI.
32976
32977 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32978 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32979 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32980
32981 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32982 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32983
32984 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32985 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32986
32987 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32988 esc sequence on non ANSI terminal.
32989 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32990
32991 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32992 beginning of file.
32993
2270f77b 329942008-07-02 Bean <bean123ch@gmail.com>
32995
32996 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32997 (grub_editenv_SOURCES): New variable.
32998 (pkglib_MODULES): Add loadenv.mod.
32999 (loadenv_mod_SOURCES): New variable.
33000 (loadenv_mod_CFLAGS): Likewise.
33001 (loadenv_mod_LDFLAGS): Likewise.
33002
33003 * include/grub/envblk.h: New file.
33004
33005 * util/envblk.c: New file.
33006
33007 * util/grub-editenv.c: New file.
33008
33009 * commands/loadenv.c: New file.
33010
0e9e51ec 330112008-07-01 Pavel Roskin <proski@gnu.org>
33012
d89b7634 33013 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33014 not unsigned char. This fixes warnings and is consistent with
33015 other tags.
33016
bf1835b1 33017 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33018
8222a04b 33019 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33020
6a42d99d 33021 * term/tparm.c (analyze): Always set *popcount.
33022
10b159d1 33023 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33024 cast to fix a warning.
33025
b8789f6c 33026 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33027 cast to suppress a warning.
33028
29d7e38a 33029 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33030 grub_fshelp_read_file() expects.
33031
f341f669 33032 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33033 write uuid as a 32-bit value in CPU byte order, so declare and
33034 use it as such.
33035
0e9e51ec 33036 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33037 long if the format specifier expects it.
33038 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33039 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33040 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33041 long to fix a warning.
33042 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33043 grub_dprintf() arguments to fix warnings.
33044
3aefa857 330452008-06-30 Pavel Roskin <proski@gnu.org>
33046
56c7668b 33047 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33048 install_bsd_part immediately before core.img is embedded or
33049 modified on disk. This fixes core.img verification if core.img
33050 cannot be embedded.
33051
3aefa857 33052 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33053 core_path to calculate the blocklist.
33054 Patch from Javier Martín <lordhabbit@gmail.com>
33055
5444088d 330562008-06-29 Robert Millan <rmh@aybabtu.com>
33057
33058 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33059 block to disk block.
33060 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33061 Patch from Niels Böhm <bitbucket@arcor.de>
33062
674835c8 330632008-06-29 Robert Millan <rmh@aybabtu.com>
33064
33065 * util/update-grub_lib.in (font_path): Search for fonts in
33066 /boot/grub first, which is more likely to be readable (we aren't
33067 deciding where fonts live, just looking for them).
33068
f527dbc8 330692008-06-26 Pavel Roskin <proski@gnu.org>
33070
6c2d8df6 33071 * util/biosdisk.c (read_device_map): Don't leave dead map
33072 entries for devices failing stat() check.
33073
f527dbc8 33074 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33075 core_path_dev for the core.img path on the target device.
33076
aebe3d13 330772008-06-26 Robert Millan <rmh@aybabtu.com>
33078
33079 * disk/fs_uuid.c: New file.
33080 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33081 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33082 (fs_uuid_mod_LDFLAGS): New variables.
33083 * include/grub/disk.h (grub_disk_dev_id): Add
33084 `GRUB_DISK_DEVICE_UUID_ID'.
33085 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33086 implement iterate().
33087
37aaf354 330882008-06-26 Robert Millan <rmh@aybabtu.com>
33089
33090 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33091 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33092 Linux image includes no initrd.
33093
25ff262a 330942008-06-21 Javier Martín <lordhabbit@gmail.com>
33095
33096 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33097 call to resolve the core image location that effectively appended the
33098 name twice.
33099
76a2bd44 331002008-06-21 Robert Millan <rmh@aybabtu.com>
33101
33102 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33103 call from here ...
33104
33105 * util/grub.d/10_hurd.in: ... to here ...
33106 * util/grub.d/10_linux.in: ... and here.
33107
650e1c79 331082008-06-19 Robert Millan <rmh@aybabtu.com>
33109
fe987087 33110 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33111 after it has been set by grub_machine_set_prefix().
33112
6ce63911 331132008-06-19 Robert Millan <rmh@aybabtu.com>
33114
33115 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33116 search result when not saving to variable, not the other way around.
33117 When saving to variable, abort iteration as soon as a match is found.
33118
73940cec 331192008-06-19 Robert Millan <rmh@aybabtu.com>
33120
33121 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33122 check for partition that provides /boot/grub. Its logic is flawed,
33123 as it prevents prepare_grub_to_access_device() from being called
33124 multiple times.
33125
3c62a39d 331262008-06-19 Robert Millan <rmh@aybabtu.com>
33127
33128 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33129 "insmod" command directly when abstraction modules are needed,
fe987087 33130 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33131 since it had already been processed).
33132
47395a42 331332008-06-19 Pavel Roskin <proski@gnu.org>
33134
33135 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33136 changed. This is needed in case GRUB_LIBDIR changes.
33137 * conf/i386-ieee1275.rmk: Likewise.
33138 * conf/i386-linuxbios.rmk: Likewise.
33139 * conf/i386-pc.rmk: Likewise.
33140 * conf/powerpc-ieee1275.rmk: Likewise.
33141
a145ac2d 331422008-06-18 Pavel Roskin <proski@gnu.org>
33143
33144 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33145 kernel_elf_symlist.c to symlist.c for consistency with other
33146 architectures. Update all users.
33147 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33148
7847c51e 331492008-06-18 Robert Millan <rmh@aybabtu.com>
33150
33151 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33152 it in prefix.
33153
33154 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33155 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33156 a RAID device, run setup() for all members independently on whether
33157 LVM abstraction is being used.
33158 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33159 If grub-mkimage has set `*install_dos_part == -2', don't override this
33160 value.
33161 Perform *install_dos_part adjustments independently on whether
33162 we're embedding or not.
33163 Clarify error message when image is too big for embedding.
33164 Remove duplicate *install_dos_part stanza.
33165
b23e5644 331662008-06-17 Robert Millan <rmh@aybabtu.com>
33167
33168 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33169 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33170 variables.
33171 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33172 values in grub_ofconsole_normal_color and
33173 grub_ofconsole_highlight_color (they're not directly related to
33174 background and foreground).
33175 (grub_ofconsole_setcolorstate): Extract background and foreground
33176 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33177
0aac2f79 331782008-06-17 Robert Millan <rmh@aybabtu.com>
33179
33180 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33181 /boot/grub for the check in last commit, not /boot (they could be
33182 different partitions).
33183
3cca7ef3 331842008-06-16 Robert Millan <rmh@aybabtu.com>
33185
33186 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33187 asked to setup access for the same partition that provides /boot,
33188 don't bother using UUIDs since our root already has the value we
33189 want.
33190
347396d8 331912008-06-16 Robert Millan <rmh@aybabtu.com>
33192
33193 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33194 I2O devices.
33195 Patch from Sven Mueller <sven@debian.org>.
33196
991477f8 331972008-06-16 Robert Millan <rmh@aybabtu.com>
33198
33199 * util/update-grub.in: Check for $EUID instead of $UID.
33200 Reported by Vincent Zweije.
33201
d31a32a1 332022008-06-16 Bean <bean123ch@gmail.com>
33203
fe987087 33204 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33205 (grub_ext2_read_block): Likewise.
33206 (grub_ext2_read_inode): Likewise.
33207 (grub_ext2_mount): Likewise.
33208 (grub_ext2_close): Likewise.
33209 (grub_ext3_get_journal): Removed.
33210
fe987087 33211 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33212 (grub_reiserfs_read_symlink): Likewise.
33213 (grub_reiserfs_mount): Likewise.
33214 (grub_reiserfs_open): Likewise.
33215 (grub_reiserfs_read): Likewise.
33216 (grub_reiserfs_close): Likewise.
33217 (grub_reiserfs_get_journal): Removed.
33218
33219 * fs/fshelp.c (grub_fshelp_read): Removed.
33220 (grub_fshelp_map_block): Likewise.
33221
33222 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33223 (grub_fshelp_journal): Likewise.
33224 (grub_fshelp_read): Likewise.
33225 (grub_fshelp_map_block): Likewise.
33226
3540a760 332272008-06-16 Pavel Roskin <proski@gnu.org>
33228
33229 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33230 floating point anymore.
33231 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33232
95614c84 332332008-06-15 Pavel Roskin <proski@gnu.org>
33234
33235 * commands/ls.c (grub_ls_list_files): Use integer calculations
33236 for human readable format, avoid floating point use.
33237 * kern/misc.c (grub_ftoa): Remove.
33238 (grub_vsprintf): Remove floating point support.
33239
50465dd6 332402008-06-15 Robert Millan <rmh@aybabtu.com>
33241
fe6b695a 33242 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33243 devices.
33244 Reported by Max Vozeler.
33245
a9207284 332462008-06-15 Robert Millan <rmh@aybabtu.com>
33247
33248 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33249 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33250 skipped later.
33251 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33252 the beginning of the prefix.
33253
33254 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33255 It is assumed that if we have a memdisk, grub-mkimage has set
33256 grub_prefix to include the "(memdisk)" drive in it.
33257
a7cbd45a 332582008-06-15 Robert Millan <rmh@aybabtu.com>
33259
33260 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33261 Initialize keyboard controller after registering the terminal, so that
33262 grub_printf() can be called from grub_keyboard_controller_init().
33263
21cf716a 332642008-06-15 Robert Millan <rmh@aybabtu.com>
33265
33266 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33267 extent-btree which is written as big endian on disk.
33268 Reported by Alain Greppin <al@chilibi.org>.
33269
23a64d8e 332702008-06-14 Robert Millan <rmh@aybabtu.com>
33271
33272 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33273 * util/i386/pc/grub-install.in (modules): Likewise.
33274
d687651c 332752008-06-13 Pavel Roskin <proski@gnu.org>
33276
33277 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33278
dfe9ddd4 332792008-06-13 Bean <bean123ch@gmail.com>
33280
33281 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33282
33283 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33284
33285 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33286 to indicate sparse block.
33287
16ae7781 332882008-06-12 Pavel Roskin <proski@gnu.org>
33289
e6d1a308 33290 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33291 number, grub_fshelp_read() does it for us.
33292
16ae7781 33293 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33294 linear disk read with journal translation.
33295 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33296 * include/grub/fshelp.h: Declare grub_fshelp_read().
33297
40fd3a2b 332982008-06-09 Pavel Roskin <proski@gnu.org>
33299
33300 * fs/minix.c (grub_minix_mount): Handle error reading
33301 superblock.
33302
f5679726 333032008-06-08 Robert Millan <rmh@aybabtu.com>
33304
33305 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33306 don't append the RAID prefix afterwards.
33307 Reported by Clint Adams.
33308
ce525529 333092008-06-08 Robert Millan <rmh@aybabtu.com>
33310
33311 Based on description from Pavel:
33312 * kern/disk.c (grub_disk_check_range): Rename to ...
33313 (grub_disk_adjust_range): ... this. Add a comment explaining the
33314 tasks performed by this function.
33315
ad4936a0 333162008-06-08 Robert Millan <rmh@aybabtu.com>
33317
33318 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33319 `num_serial' (for consistency with other variables).
33320 (struct grub_ntfs_data): Add `uuid' member.
33321 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33322 (grub_ntfs_uuid): New function.
33323 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33324
dc20b0f9 333252008-06-07 Pavel Roskin <proski@gnu.org>
33326
33327 * util/biosdisk.c (open_device): Revert last change to the
33328 function, it broke installation. The sector needs to be
33329 different dependent on which device is opened.
33330
c5e3cfba 333312008-06-06 Robert Millan <rmh@aybabtu.com>
33332
33333 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33334 rest of GRUB, and breakage doesn't happen if its value were modified.
33335
33336 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33337 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33338 a constant (same value).
33339 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33340 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33341
26a1f8c4 333422008-06-06 Robert Millan <rmh@aybabtu.com>
33343
33344 * util/biosdisk.c (open_device): Do not modify sector offset when
33345 accessing a partition. kern/disk.c already handles this for us.
33346
25d6b327 333472008-06-06 Robert Millan <rmh@aybabtu.com>
33348
33349 * util/grub-emu.c (grub_machine_init): Move code in this function from
33350 here ...
33351 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33352 segfault in case grub_printf() is called).
33353
33354 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33355 grub_probe. Update all users not to explicitly add it again.
33356 (grub_device): New variable; contains corresponding device for grubdir.
33357 (fs_module, partmap_module, devabstraction_module): Pass
33358 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33359 every time.
33360
9ece62fb 333612008-06-05 Robert Millan <rmh@aybabtu.com>
33362
33363 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33364 is found, print it (same layout as with labels).
33365
1ad36d37 333662008-06-04 Robert Millan <rmh@aybabtu.com>
33367
33368 * util/biosdisk.c (get_drive): Rename to ...
33369 (find_grub_drive): ... this. Update all users.
33370
33371 (get_os_disk): Rename to ...
33372 (convert_system_partition_to_system_disk): ... this. Update all users.
33373
33374 (find_drive): Rename to ...
33375 (find_system_device): ... this. Update all users.
33376
e6a30859 333772008-06-04 Robert Millan <rmh@aybabtu.com>
33378
33379 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33380 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33381 (make_device_map): Likewise.
33382
00c108a4 333832008-06-01 Robert Millan <rmh@aybabtu.com>
33384
33385 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33386 before dereferencing it.
33387
33388 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33389 union with fat12/fat16-specific ones. Add some new fields, including
33390 `num_serial' for both versions.
33391 (struct grub_fat_data): Add `uuid' member.
33392 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33393 names. Initialize `data->uuid' using `num_serial'.
33394 (grub_fat_uuid): New function.
33395 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33396
33397 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33398 (grub_reiserfs_uuid): New function.
33399 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33400 member.
33401
33402 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33403 (grub_xfs_uuid): New function.
33404 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33405
1385c5bb 334062008-06-01 Robert Millan <rmh@aybabtu.com>
33407
33408 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33409 code that is backward compatible with pre-uuid search command.
33410
c682dfd7 334112008-05-31 Robert Millan <rmh@aybabtu.com>
33412
33413 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33414 floppies after everything else, to ensure floppy drive isn't accessed
33415 unnecessarily (patch from Bean).
33416
b7db5d47 334172008-05-31 Robert Millan <rmh@aybabtu.com>
33418
33419 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33420 not print device names when we were asked to set a variable.
33421
6e037aa9 334222008-05-31 Robert Millan <rmh@aybabtu.com>
33423
33424 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33425 using "cursor-on" and "cursor-off" commands (understood at least by
33426 the Open Firmware flavour on OLPC).
33427
41305bc8 334282008-05-31 Michael Gorven <michael@gorven.za.net>
33429
33430 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33431 on and off sequences.
33432
69ba137e 334332008-05-31 Robert Millan <rmh@aybabtu.com>
33434
33435 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33436 * util/update-grub.in: Likewise.
33437
520ae21b 334382008-05-30 Pavel Roskin <proski@gnu.org>
33439
33440 * util/biosdisk.c (linux_find_partition): Simplify logic and
33441 make the code more universal. Keep special processing for
33442 devfs, but use a simple rule for all other devices. If the
33443 device ends with a number, append 'p' and the partition number.
33444 Otherwise, append only the partition number.
33445
5786569b 334462008-05-30 Robert Millan <rmh@aybabtu.com>
33447
33448 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33449 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33450 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33451 the `root' parameter to Linux.
33452
51500452 334532008-05-30 Robert Millan <rmh@aybabtu.com>
33454
33455 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33456 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33457 --fs_uuid with --fs-uuid.
33458 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33459 all filesystems support them).
33460
811d3878 334612008-05-30 Robert Millan <rmh@aybabtu.com>
33462
33463 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33464 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33465
cab63c95 334662008-05-30 Robert Millan <rmh@aybabtu.com>
33467
33468 * util/grub.d/00_header.in: Remove obsolete comment referencing
33469 convert_system_path_to_grub_path().
33470 * util/update-grub.in: Likewise.
33471 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33472 (convert_system_path_to_grub_path): Add a warning message explaining
33473 that this function is deprecated. Rely on is_path_readable_by_grub()
33474 for the readability checks.
33475 (font_path): Use is_path_readable_by_grub() for the readability
33476 check rather than convert_system_path_to_grub_path().
33477
972e2f7a 334782008-05-30 Robert Millan <rmh@aybabtu.com>
33479
33480 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33481 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33482 converting it first.
33483 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33484 grub.cfg for access to font file, and afterwards call it again to set
33485 the root device.
33486
62191274 334872008-05-30 Robert Millan <rmh@aybabtu.com>
33488
33489 * commands/search.c (options): Add --fs_uuid option.
33490 (search_fs_uuid): New function.
33491 (grub_cmd_search): Fix --set argument passing.
33492 Use search_fs_uuid() when requested via --fs_uuid.
33493 (grub_search_init): Update help message.
33494 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33495 and redeclare it as an array of 16-bit words.
33496 (grub_ext2_uuid): New function.
33497 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33498 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33499 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33500 (GRUB_DEVICE_BOOT_UUID): New variables.
33501 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33502 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33503 whenever possible.
33504 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33505 just assume `root' variable has the right value.
33506 * util/grub.d/10_linux.in: Likewise.
33507 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33508 via PRINT_FS_UUID.
33509 (main): Recognise `-t fs_uuid' argument.
33510
01b73ec8 335112008-05-30 Robert Millan <rmh@aybabtu.com>
33512
33513 * util/biosdisk.c (map): Redefine structure to hold information
33514 about GRUB drive name.
fe6b695a 33515 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33516 drive names.
33517 (call_hook): Remove.
33518 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33519 member. Assume drive has partitions.
33520 (grub_util_biosdisk_open): Access device names via `.device' struct
33521 member.
33522 (open_device): Likewise.
33523 (find_drive): Likewise.
33524 (read_device_map): Adjust map[] usage to match the new struct
33525 definition. Don't check for duplicates (still possible, but not cheap
33526 anymore).
33527 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33528 (make_device_name): Remove assumption of BIOS-like drive names.
33529
22f16596 335302008-05-30 Pavel Roskin <proski@gnu.org>
33531
33532 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33533 compiling execute.c doesn't need grub_script.tab.h anymore.
33534 (normal/command.c_DEPENDENCIES): Likewise.
33535 (normal/function.c_DEPENDENCIES): Likewise.
33536 * conf/i386-ieee1275.rmk: Likewise.
33537 * conf/i386-linuxbios.rmk: Likewise.
33538 * conf/i386-pc.rmk: Likewise.
33539 * conf/powerpc-ieee1275.rmk: Likewise.
33540 * conf/sparc64-ieee1275.rmk: Likewise.
33541
528ad8f2 335422008-05-29 Pavel Roskin <proski@gnu.org>
33543
d1dff95d 33544 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33545 when scanning metadata for volume group name.
33546
528ad8f2 33547 * include/grub/script.h: Don't include grub_script.tab.h. It's
33548 a generated file, which may only be included from the files with
33549 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33550 use union YYSTYPE, as the later allows forward declaration.
33551 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33552
47248e08 335532008-05-29 Robert Millan <rmh@aybabtu.com>
33554
33555 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33556 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33557 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33558 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33559 scan codes.
33560
ee632529 335612008-05-29 Robert Millan <rmh@aybabtu.com>
33562
33563 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33564 control key combinations.
33565
eee96e08 335662008-05-29 Robert Millan <rmh@aybabtu.com>
33567
33568 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33569 * util/ieee1275/grub-install.in: ... to here.
33570 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33571 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33572 (grub_install_SOURCES): Likewise.
33573
da9a6a94 335742008-05-29 Robert Millan <rmh@aybabtu.com>
33575
33576 * fs/affs.c: Update copyright year.
33577 * fs/ext2.c: Likewise.
33578 * fs/fshelp.c: Likewise.
33579 * fs/hfsplus.c: Likewise.
33580 * fs/ntfs.c: Likewise.
33581 * fs/xfs.c: Likewise.
33582 * include/grub/fshelp.h: Likewise.
33583 * util/grub-mkdevicemap.c: Likewise.
33584
12e65f3a 335852008-05-28 Robert Millan <rmh@aybabtu.com>
33586
33587 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33588 might need to be fatfs to support some firmware implementations
33589 (e.g. OFW or EFI).
33590
23023641 335912008-05-28 Robert Millan <rmh@aybabtu.com>
33592
33593 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33594 devices.
33595 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33596 (make_device_map): Likewise.
33597
887d2619 335982008-05-20 Bean <bean123ch@gmail.com>
33599
33600 * fs/fshelp.c (grub_fshelp_map_block): New function.
33601 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33602 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33603
33604 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33605 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33606 (grub_fshelp_journal): New structure.
33607 (grub_fshelp_map_block): New function prototype.
33608 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33609 (grub_fshelp_map_block): Likewise.
33610
33611 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33612 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33613 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33614 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33615 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33616 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33617 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33618 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33619 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33620 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33621 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33622 (grub_ext2_sblock): New members for journal support.
33623 (grub_ext3_journal_header): New structure.
33624 (grub_ext3_journal_revoke_header): Likewise.
33625 (grub_ext3_journal_block_tag): Likewise.
33626 (grub_ext3_journal_sblock): Likewise.
33627 (grub_fshelp_node): New members logfile and journal.
33628 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33629 grub_fshelp_map_block to get real block number.
33630 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33631 number.
33632 (grub_ext2_read_inode): Likewise.
33633 (grub_ext3_get_journal): New function.
33634 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33635 (grub_ext2_close): Release memory used by journal.
33636
33637 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33638 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33639 (grub_reiserfs_transaction_header): Renamed to
33640 grub_reiserfs_description_block, replace field data with real_blocks.
33641 (grub_reiserfs_commit_block): New structure.
33642 (grub_reiserfs_data): New member journal.
33643 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33644 number.
33645 (grub_reiserfs_read_symlink): Likewise.
33646 (grub_reiserfs_iterate_dir): Likewise.
33647 (grub_reiserfs_open): Likewise.
33648 (grub_reiserfs_read): Likewise.
33649 (grub_reiserfs_get_journal): New function.
33650 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33651 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33652 using grub_reiserfs_get_journal.
33653 (grub_reiserfs_close): Release memory used by journal.
33654
33655 * fs/affs.c (grub_affs_read_block): Change block type to
33656 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33657
33658 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33659
33660 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33661
33662 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33663
33664 * fs/udf.c (grub_udf_read_block): Change block type to
33665 grub_disk_addr_t. Use type cast to avoid warning.
33666
33667 * fs/xfs.c (grub_xfs_read_block): Likewise.
33668
b7c6bed5 336692008-05-16 Christian Franke <franke@computer.org>
33670
33671 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33672 to ensure that break with ESC will always work.
33673 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33674 Remove ESC from keyboard queue.
33675
eedf167f 336762008-05-16 Christian Franke <franke@computer.org>
33677
33678 * util/biosdisk.c: [__CYGWIN__] Add includes.
33679 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33680 (get_os_disk): Move variable declarations to OS specific
33681 parts to avoid warning.
33682 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33683 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33684 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33685 Cygwin.
33686 * util/getroot.c: [__CYGWIN__] Add includes.
33687 (strip_extra_slashes): Fix "/" case.
33688 [__CYGWIN__] (get_win32_path): New function.
33689 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33690 [__CYGWIN__] (find_root_device): Disable.
33691 [__CYGWIN__] (get_bootsec_serial): New function.
33692 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33693 [__linux__] (grub_guess_root_device): Add early returns to simplify
33694 structure.
33695 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33696 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33697 check for Linux only.
33698
a079699e 336992008-05-15 Bean <bean123ch@gmail.com>
33700
33701 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33702 keyboard hang problem in apple's intel mac.
33703
1cf4059a 337042008-05-09 Robert Millan <rmh@aybabtu.com>
33705
33706 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33707 devices.
33708 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33709 (make_device_map): Likewise.
33710 Reported by Aurelien Jarno <aurel32@debian.org>
33711
ed759390 337122008-05-07 Ian Campbell <ijc@hellion.org.uk>
33713
33714 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33715 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33716 (make_device_map): Output entries for xvd type disks.
33717
b56c4eaa 337182008-05-07 Robert Millan <rmh@aybabtu.com>
33719
33720 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33721 devices.
33722 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33723 (make_device_map): Likewise.
33724 Reported by Roland Dreier <rdreier@cisco.com>
33725
7f8866ed 337262008-05-07 Robert Millan <rmh@aybabtu.com>
33727
33728 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33729 grub_strstr() call. Correct a few mistakes in failure path handling.
33730
b0346e0f 337312008-05-06 Robert Millan <rmh@aybabtu.com>
33732
33733 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33734 Do not print a trailing slash (therefore, the root directory is an
33735 empty string).
33736 (convert_system_path_to_grub_path): Do not remove trailing slash
33737 from make_system_path_relative_to_its_root() output.
33738
33739 * util/i386/pc/grub-install.in: Add trailing slash to output from
33740 make_system_path_relative_to_its_root().
33741
6cf12cbd 337422008-05-06 Robert Millan <rmh@aybabtu.com>
33743
33744 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33745 ensures that output lines aren't intermangled with those sent to
33746 stderr (via grub_util_info()).
33747 * util/grub-probe.c (grub_refresh): Likewise.
33748 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33749
0fbb3117 337502008-05-05 Christian Franke <franke@computer.org>
33751
33752 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33753 Add Cygwin device names.
33754 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33755 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33756 (check_device): Return error instead of success on empty name.
33757 (make_device_map): Move label inside linux specific code to
33758 prevent compiler warning.
33759
8124cdb7 337602008-04-30 Robert Millan <rmh@aybabtu.com>
33761
33762 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33763 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33764 first boot option.
33765 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33766
094c01d0 337672008-04-29 Robert Millan <rmh@aybabtu.com>
33768
33769 * docs/grub.cfg: New file (example GRUB configuration).
33770
f4b1fc02 337712008-04-26 Robert Millan <rmh@aybabtu.com>
33772
329ce2a5 33773 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33774 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33775 and `disk/ieee1275/nand.c'.
f4b1fc02 33776
25f16ec1 337772008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33778
25f16ec1 33779 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33780 i386-linuxbios.
33781
33782 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33783 change the buffer size to 4096 for cdrom device.
33784
33785 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33786 and nand.mod.
33787 (_linux_mod_SOURCES): New variable.
33788 (_linux_mod_CFLAGS): Likewise.
33789 (_linux_mod_LDFLAGS): Likewise.
33790 (linux_mod_SOURCES): Likewise.
33791 (linux_mod_CFLAGS): Likewise.
33792 (linux_mod_LDFLAGS): Likewise.
33793 (nand_mod_SOURCES): Likewise.
33794 (nand_mod_CFLAGS): Likewise.
33795 (nand_mod_LDFLAGS): Likewise.
33796
33797 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33798 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33799 type property. (nand device in olpc don't have this property)
33800
33801 * include/grub/disk.h (grub_disk_dev_id): New macro
33802 GRUB_DISK_DEVICE_NAND_ID.
33803
33804 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33805 function prototype.
33806 (grub_rescue_cmd_initrd): Likewise.
33807
33808 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33809 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33810 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33811
25f16ec1 33812 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33813 GRUB_MACHINE_IEEE1275 is defined.
33814
33815 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33816 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33817
33818 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33819 on nested function heap_init.
33820 (grub_upper_mem): New variable for i386-ieee1275.
33821 (grub_get_extended_memory): New function for i386-ieee1275.
33822 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33823
33824 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33825 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33826 property.
f19dbdb7 33827
25f16ec1 33828 * loader/i386/ieee1275/linux.c: New file.
33829
33830 * loader/i386/ieee1275/linux_normal.c: New file.
33831
33832 * disk/ieee1275/nand.c: New file.
33833
e89d61e9 338342008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33835
33836 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33837 value.
33838 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33839
602566f6 338402008-04-18 Robert Millan <rmh@aybabtu.com>
33841
33842 Restructures early code path on ieee1275 to unify grub_main() as
33843 the first C function that is executed in every platform.
33844
33845 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33846 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33847 cmain().
33848 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33849 * kern/ieee1275/cmain.c (cmain): Rename to ...
33850 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33851 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33852 at the beginning.
33853
57490c2b 338542008-04-18 Robert Millan <rmh@aybabtu.com>
33855
33856 * util/update-grub.in: Fix syntax error when setting
33857 `GRUB_PRELOAD_MODULES'.
33858 Reported by Stephane Chazelas <stephane@artesyncp.com>
33859
1977517d 338602008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33861
33862 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33863 section into account, newer toolchains generate unique build ids
33864 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33865 we want build ids to be preserved
1977517d 33866 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33867 far from other sections don't cause the raw binary images grow
33868 size
33869
bfb1f1a2 338702008-04-15 Robert Millan <rmh@aybabtu.com>
33871
33872 * disk/lvm.c: Update copyright year.
33873 * kern/misc.c: Likewise.
33874
01979850 338752008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33876
33877 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33878 there is no memory left for physical volume name.
01979850 33879
0a1150e2 338802008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33881
33882 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33883 volume name mapping to support bigger than 9 character names properly.
33884
82ead3fe 338852008-04-13 Robert Millan <rmh@aybabtu.com>
33886
33887 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33888 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33889
e54a72f5 338902008-04-13 Christian Franke <franke@computer.org>
33891
33892 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33893 to create a floppy emulation boot CD when non emulation mode
33894 does not work.
33895 Enable Joliet CD filesystem extension.
33896
9fe86034 338972008-04-13 Robert Millan <rmh@aybabtu.com>
33898
33899 * kern/misc.c (grub_strncat): Fix off-by-one error.
33900 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33901
33902 * kern/env.c (grub_env_context_close): Clear current context, not
33903 previous one.
33904 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33905
33906 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33907
7ceeee39 339082008-04-13 Robert Millan <rmh@aybabtu.com>
33909
33910 Improve robustness when handling LVM.
33911
33912 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33913 (and leave `*p' unmodified).
7ceeee39 33914 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33915 through it.
33916 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33917 iterating through it.
33918 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33919 through it.
fe6b695a 33920 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33921 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33922 Don't assume `vg->pvs != NULL' when iterating through it.
33923
58cd3d85 339242008-04-13 Robert Millan <rmh@aybabtu.com>
33925
33926 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33927 * genmk.rb (partmap): New variable.
33928 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33929 (#{partmap}): New target rule.
33930 * genpartmaplist.sh: New file.
33931 * Makefile.in (pkglib_DATA): Add partmap.lst.
33932 (partmap.lst): New target rule.
33933 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33934 modules (including all partition maps), instead of preloading them.
33935
78b51059 339362007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33937
33938 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33939 `linux-boot-prober' (if installed) to detect other operating
33940 systems which are installed on the computer and add them to
33941 the boot menu.
33942 * conf/common.rmk: Build and install 30_os-prober.
33943
a91627b4 339442008-04-12 Robert Millan <rmh@aybabtu.com>
33945
33946 * kern/powerpc/ieee1275/init.c: Move from here ...
33947 * kern/ieee1275/init.c: ... to here. Update all users.
33948
33949 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33950 * kern/ieee1275/cmain.c: ... to here. Update all users.
33951
33952 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33953 * kern/ieee1275/openfw.c: ... to here. Update all users.
33954
33955 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33956 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33957
322562ea 339582008-04-10 Pavel Roskin <proski@gnu.org>
33959
33960 * configure.ac: Always use "_cv_" in cache variables for
33961 compatibility with Autoconf 2.62.
33962
a02a73c5 339632008-04-07 Robert Millan <rmh@aybabtu.com>
33964
33965 Revert grub/machine/init.h addition by Pavel (since it breaks on
33966 i386-ieee1275 and others):
33967 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33968 * util/powerpc/ieee1275/misc.c: Likewise.
33969
25c024b1 339702008-04-07 Robert Millan <rmh@aybabtu.com>
33971
33972 * util/grub-probe.c (probe): Improve error message.
33973
3cbd2f98 339742008-04-07 Robert Millan <rmh@aybabtu.com>
33975
33976 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33977 (this prevents the presence of a bogus entry from ruining the whole
33978 thing).
33979
87a297bf 339802008-04-06 Pavel Roskin <proski@gnu.org>
33981
36747a62 33982 * util/biosdisk.c: Include grub/util/biosdisk.h.
33983 * util/grub-fstest.c (execute_command): Make static.
33984 * util/grub-mkdevicemap.c (check_device): Likewise.
33985 * util/i386/pc/misc.c: Include grub/machine/init.h.
33986 * util/powerpc/ieee1275/misc.c: Likewise.
33987 * util/lvm.c: Include grub/util/lvm.h.
33988 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33989 grub/cache.h.
33990 * util/raid.c: Include grub/util/raid.h.
33991 (grub_util_getdiskname): Make static.
33992
87a297bf 33993 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33994 grub_hostfs_fini(), as they are called from grub_init_all() and
33995 grub_fini_all() respectively. This fixes an infinite loop in
33996 grub-fstest due to double registration of hostfs.
33997 Reported by Christian Franke <Christian.Franke@t-online.de>
33998
f6ce7629 339992008-04-05 Pavel Roskin <proski@gnu.org>
34000
34001 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34002 all 8 functions. Otherwise, probe function 0 only.
34003
070e49e4 340042008-04-04 Pavel Roskin <proski@gnu.org>
34005
8b088a4c 34006 * commands/lspci.c (grub_lspci_iter): Print the bus number
34007 correctly.
34008
4f657021 34009 * commands/lspci.c (grub_pci_classes): Fix typos.
34010 (grub_lspci_iter): Don't print func twice. Print vendor ID
34011 before device ID, as it's normally done.
34012
070e49e4 34013 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34014 Fix signedness warnings.
34015 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34016 Likewise.
34017 * util/ieee1275/get_disk_name.c: Include config.h so that
34018 _GNU_SOURCE is defined and getline() is declared. Mark an
34019 unused argument as such. Fix a signedness warning.
34020
ba7328dc 340212008-04-02 Pavel Roskin <proski@gnu.org>
34022
26887f22 34023 * genkernsyms.sh.in: Use more robust assignments for CC and
34024 srcdir. Quote srcdir.
34025 * gensymlist.sh.in: Likewise. Assert at the compile time that
34026 the symbol table is not empty.
34027
ba7328dc 34028 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34029 * fs/cpio.c (grub_cpio_read): Likewise.
34030
0f582c6b 340312008-04-01 Pavel Roskin <proski@gnu.org>
34032
4b6e1995 34033 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34034 * disk/host.c (grub_host_open): Likewise.
34035 * disk/loopback.c (grub_loopback_open): Likewise.
34036 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34037 disk->id as in disk/host.c, not a multi-character constant.
34038
828a2768 34039 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34040 later is obsolete, potentially dangerous and sets a bad example.
34041 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34042 * util/misc.c (grub_util_get_image_size): Likewise.
34043
2bb4fb47 34044 * disk/loopback.c (options): Improve help for "--partitions".
34045
0f582c6b 34046 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34047 options to align them with the short options, e.g. "echo -e".
34048
a33224e0 340492008-03-31 Bean <bean123ch@gmail.com>
34050
34051 * video/reader/png.c (grub_png_data): New member is_16bit and
34052 image_data.
34053 (grub_png_decode_image_header): Detect 16 bit png image.
34054 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34055 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34056 (grub_video_reader_png): Release memory occupied by image_data.
34057
34058 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34059 4096 bytes.
34060 (grub_nfs_mount): Skip the test for sector per cluster.
34061
34062 * include/grub/ntfs.h (MAX_SPC): Removed.
34063
86cb4f54 340642008-03-31 Bean <bean123ch@gmail.com>
34065
34066 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34067 (grub_probe_SOURCES): Add fs/afs.c.
34068 (grub_fstest_SOURCES): Likewise.
34069 (afs_mod_SOURCES): New variable.
34070 (afs_mod_CFLAGS): Likewise.
34071 (afs_mod_LDFLAGS): Likewise.
34072
34073 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34074 (grub_emu_SOURCES): Likewise.
34075
34076 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34077
34078 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34079
34080 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34081
34082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34083
34084 * fs/afs.c: New file.
34085
17c74c21 340862008-03-30 Pavel Roskin <proski@gnu.org>
34087
4cb68e89 34088 * disk/host.c: Include grub/misc.h to fix a warning.
34089 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34090 warnings about implicit declarations.
34091
8790bb04 34092 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34093 variable.
34094 * include/grub/i386/loader.h: Change declaration of
34095 grub_linux_boot() to match what grub_loader_set() expects.
34096 * util/getroot.c (grub_guess_root_device): Return const char* to
34097 fix a warning.
34098 * util/grub-probe.c (probe): Fix a warning about uninitialized
34099 abstraction_name variable.
34100 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34101 second argument as unused to fix a warning.
34102
9a3f3296 34103 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34104 missing grub_error() call.
34105
0ecef90d 34106 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34107 2.60 and newer uses it to define datadir.
34108
0bf6d401 34109 * commands/sleep.c: Fix warning about implicit declaration.
34110 * disk/memdisk.c: Likewise.
34111 * loader/aout.c: Likewise.
34112 * loader/i386/bsd_normal.c: Likewise.
34113 * util/grub-probe.c: Likewise.
34114
7cdacf97 34115 * commands/i386/cpuid.c (has_longmode): Make static.
34116 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34117 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34118
17c74c21 34119 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34120 GDT. This is more robust, as %ds can change.
34121 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34122 calling real_to_prot().
34123 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34124
80a3e68b 341252008-03-28 Pavel Roskin <proski@gnu.org>
34126
34127 * kern/i386/pc/startup.S: Assert that uncompressed functions
34128 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34129 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34130 code, as they push parts of the code (error handlers) beyond
34131 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34132 code as correctness and size.
34133
77bcd272 341342008-03-28 Pavel Roskin <proski@gnu.org>
34135
34136 * kern/i386/pc/startup.S
34137 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34138 data block address to the real mode, keep offset minimal. This
34139 works around a bug in AWARD BIOS on old Athlon systems, which
34140 makes CD detection hang.
34141
c5dfd43b 341422008-03-26 Pavel Roskin <proski@gnu.org>
34143
34144 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34145 const.
34146 * include/grub/normal.h: Add grub_parse_color_name_pair()
34147 declaration.
34148
bf962df2 341492008-03-24 Bean <bean123ch@gmail.com>
34150
34151 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34152 (cd_count): Removed.
34153 (cd_drive): New variable.
34154 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34155 (grub_biosdisk_call_hook): Likewise.
34156 (grub_biosdisk_iterate): Change cdrom detection method.
34157 (grub_biosdisk_open): Replace cd_start with cd_drive.
34158 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34159 detect cdrom device.
34160
34161 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34162 Removed.
34163 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34164 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34165 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34166 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34167 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34168 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34169 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34170 (grub_biosdisk_cdrp): New structure.
34171 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34172
34173 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34174
34175 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34176 device.
34177
34178 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34179 New function.
34180
68e7fc7a 341812008-03-20 Robert Millan <rmh@aybabtu.com>
34182
34183 Remove 2 TiB limit in ata.mod.
34184 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34185 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34186 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34187 grub_uint64_t instead of grub_uint32_t.
34188
38ad2cf5 341892008-03-05 Bean <bean123ch@gmail.com>
34190
34191 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34192 (grub_multiboot): Set boot device.
34193
34194 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34195
2b89344e 341962008-03-02 Bean <bean123ch@gmail.com>
34197
34198 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34199 symlink_buffer.
34200
87a95d1f 342012008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34202
34203 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34204 texinfo.tex.
34205
34206 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34207 modified.
34208
34209 * docs/fdl.texi: New file.
f19dbdb7 34210
87a95d1f 34211 * docs/mdate-sh: New file. Copied from gnulib.
34212 * docs/texinfo.tex: Likewise.
34213
34214 * config.guess: Updated from gnulib.
34215 * install-sh: Likewise.
34216
7dc15d8e 342172008-02-28 Robert Millan <rmh@aybabtu.com>
34218
34219 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34220 (aout_mod_SOURCES): New variable.
34221 (aout_mod_CFLAGS): Likewise.
34222 (aout_mod_LDFLAGS): Likewise.
34223
34224 * conf/i386-ieee1275.rmk: Likewise.
34225
b00ab696 342262008-02-28 Robert Millan <rmh@aybabtu.com>
34227
34228 * util/update-grub.in: Reorganise terminal validity check. Accept
34229 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34230 Based on suggestion by Franklin PIAT.
34231
79ca2d78 342322008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34233
34234 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34235 function.
34236 * util/getroot.c (grub_util_check_block_device): New function that
34237 returns the given argument if it is a block device and returns NULL else.
34238 * util/grub-probe.c (argument_is_device): New variable.
34239 (probe): Promote device_name from a variable to an argument. Receive
34240 device_name from grub_util_check_block_device() if path is NULL and from
34241 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34242 (options): Introduce new parameter '-d, --device'.
79ca2d78 34243 (main): Add description of the new parameter to the help screen.
34244 Rename path variable to argument. Set argument_is_device if the '-d'
34245 option is given. Pass argument to probe() depending on
34246 argument_is_device.
34247
0d16e571 342482008-02-24 Bean <bean123ch@gmail.com>
34249
34250 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34251 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34252 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34253 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34254 (GRUB_ISO9660_VOLDESC_END): Likewise.
34255 (grub_iso9660_primary_voldesc): New member escape.
34256 (grub_iso9660_data): New member joliet.
34257 (grub_iso9660_convert_string): New function.
34258 (grub_iso9660_mount): Detect joliet extension.
34259 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34260 (grub_iso9660_iso9660_label): Likewise.
34261
34262 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34263 (grub_setup_SOURCES): Add fs/udf.c.
34264 (grub_fstest_SOURCES): Likewise.
34265 (udf_mod_SOURCES): New variable.
34266 (udf_mod_CFLAGS): Likewise.
34267 (udf_mod_LDFLAGS): Likewise.
34268
34269 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34270 (grub_emu_SOURCES): Likewise.
34271
34272 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34273
34274 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34275
34276 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34277
34278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34279
34280 * fs/udf.c: New file.
34281
8a594a17 342822008-02-24 Robert Millan <rmh@aybabtu.com>
34283
34284 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34285 (normal/lexer.c_DEPENDENCIES): New variables.
34286 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34287 (normal/lexer.c_DEPENDENCIES): Likewise.
34288 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34289 (normal/lexer.c_DEPENDENCIES): Likewise.
34290 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34291 (normal/lexer.c_DEPENDENCIES): Likewise.
34292 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34293 (normal/lexer.c_DEPENDENCIES): Likewise.
34294 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34295 (normal/lexer.c_DEPENDENCIES): Likewise.
34296
2dc33c03 342972008-02-23 Robert Millan <rmh@aybabtu.com>
34298
34299 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34300 since they were intended to be in hex. This didn't break previously
34301 because of a bug in gpt_partition_map_iterate() (see below).
34302
34303 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34304 when checking the validity of GPT header.
34305 Remove `partno', since it always provides the same information as `i'.
34306
f6f4cfb0 343072008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34308
34309 * include/grub/efi/time.h: Fix a wrong comment.
34310
79ff665f 343112008-02-19 Pavel Roskin <proski@gnu.org>
34312
34313 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34314 message.
34315
d38e24c2 343162008-02-19 Bean <bean123ch@gmail.com>
34317
34318 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34319 (aout_mod_SOURCES): New variable.
34320 (aout_mod_CFLAGS): Likewise.
34321 (aout_mod_LDFLAGS): Likewise.
34322 (_bsd_mod_SOURCES): New variable.
34323 (_bsd_mod_CFLAGS): Likewise.
34324 (_bsd_mod_LDFLAGS): Likewise.
34325 (bsd_mod_SOURCES): New variable.
34326 (bsd_mod_CFLAGS): Likewise.
34327 (bsd_mod_LDFLAGS): Likewise.
34328
34329 * include/grub/aout.h: New file.
34330
34331 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34332
34333 * include/grub/i386/bsd.h: New file.
34334
34335 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34336 to make it public.
34337
34338 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34339 function is called, so that it's possible to change it inside the hook.
34340 (grub_elf64_load): Likewise.
34341 (grub_elf_file): Don't close the file if elf header is not found.
34342 (grub_elf_close): Close the file if grub_elf_file fails (The new
34343 grub_elf_file won't close it).
34344 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34345 (grub_elf64_size): Likewise.
34346
34347 * kern/i386/loader.S (grub_unix_real_boot): New function.
34348
34349 * loader/aout.c: New file.
34350
34351 * loader/i386/bsd.c: New file.
34352
34353 * loader/i386/bsd_normal.c: New file.
34354
34355 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34356
34357 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34358 can test other formats.
d38e24c2 34359
b93bdb0f 343602008-02-19 Robert Millan <rmh@aybabtu.com>
34361
34362 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34363 (grub_gpt_partition_type_empty): Redefine with macro from
34364 `<grub/gpt_partition.h>'.
34365 (gpt_partition_map_iterate): Adjust partition type comparison.
34366
34367 Export `entry' as partmap-specific `part.data' struct.
34368 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34369
34370 * include/grub/gpt_partition.h (grub_gpt_header)
34371 (grub_gpt_partentry): ... to here (new file).
34372
34373 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34374
34375 (grub_gpt_partition_type_bios_boot): New const variable, defined
34376 with macro from `<grub/gpt_partition.h>'.
34377
34378 (setup): Replace `first_start' with `embed_region', which keeps
34379 track of the embed region (and is partmap-agnostic).
34380
34381 Replace find_first_partition_start() with find_usable_region(),
34382 which finds a usable region for embedding using partmap-specific
34383 knowledge (supports PC/MSDOS and GPT).
34384
34385 Fix all assumptions that the embed region start at sector 1, using
34386 `embed_region.start' from now on. Similarly, use `embed_region.end'
34387 rather than `first_start' to calculate available size.
34388
34389 In grub_util_info() message, replace "into after the MBR" with an
34390 indication of the specific sector our embed region starts at.
34391
66cb40f6 343922008-02-19 Robert Millan <rmh@aybabtu.com>
34393
34394 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34395 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34396 `commands/reboot.c'.
34397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34398 (halt_mod_SOURCES): Likewise.
34399 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34400 (halt_mod_SOURCES): Likewise.
34401
b7202015 344022008-02-17 Christian Franke <franke@computer.org>
34403
34404 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34405
32b0fc49 344062008-02-17 Robert Millan <rmh@aybabtu.com>
34407
34408 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34409 set `first_start' to 0 for non-PC/MSDOS partition maps.
34410
aca63502 344112008-02-16 Robert Millan <rmh@aybabtu.com>
34412
34413 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34414 do not assume partition map is PC/MSDOS before performing checks that
34415 are specific to that layout.
34416
0de8be86 344172008-02-13 Robert Millan <rmh@aybabtu.com>
34418
34419 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34420 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34421 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34422
c3db8364 344232008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34424
34425 * configure.ac: Only a cosmetic change on the handling of
34426 -fno-stack-protector.
34427
f714229e 344282008-02-12 Alexandre Boeglin <alex@boeglin.org>
34429
c3db8364 34430 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34431 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34432 reboot.c.
f714229e 34433 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34434 (halt_mod_SOURCES): New variable.
34435 (halt_mod_CFLAGS): Likewise.
34436 (halt_mod_LDFLAGS): Likewise.
34437 (reboot_mod_SOURCES): Likewise.
34438 (reboot_mod_CFLAGS): Likewise.
34439 (reboot_mod_LDFLAGS): Likewise.
34440
c3db8364 34441 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34442 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34443 reboot.c.
f714229e 34444 (halt_mod_SOURCES): Likewise.
34445 (reboot_mod_SOURCES): Likewise.
34446
c3db8364 34447 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34448 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34449 (reboot_mod_SOURCES): Likewise.
34450
34451 * commands/i386/pc/reboot.c: merge this file ...
34452
34453 * commands/ieee1275/reboot.c: ... and this file ...
34454
34455 * commands/reboot.c: ... to this file.
c3db8364 34456 Add some precompiler directive to include the correct header for
34457 each machine.
f714229e 34458
34459 * commands/ieee1275/halt.c: move this file ...
34460
34461 * commands/halt.c: ... to here.
c3db8364 34462 Add some precompiler directive to include the correct header for
34463 each machine.
f714229e 34464
34465 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34466 (grub_halt): Likewise.
34467
34468 * kern/efi/efi.c (grub_reboot): New function.
34469 (grub_halt): Likewise.
34470
c74493e0 344712008-02-12 Robert Millan <rmh@aybabtu.com>
34472
34473 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34474 /dev (like it is done for /dev/mapper). This doesn't provide support
34475 for EVMS, but at least it is now easy to identify the problem when it
34476 arises.
34477
d0db4b04 344782008-02-11 Robert Millan <rmh@aybabtu.com>
34479
34480 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34481 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34482 comparing it with -1, not 0.
34483
bf748642 344842008-02-10 Robert Millan <rmh@aybabtu.com>
34485
34486 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34487 `disk/lvm.c'.
34488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34489 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34490
34491 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34492 `disk/lvm.c' to the end of the list.
34493 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34494 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34495
b5db202a 344962008-02-10 Robert Millan <rmh@aybabtu.com>
34497
34498 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34499 grub_print_error() instead. This will let user know why we're entering
34500 rescue mode.
34501 Based on suggestions from Sam Morris.
34502
83abee31 345032008-02-10 Alexandre Boeglin <alex@boeglin.org>
34504
34505 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34506 on remaining N args, instead of "--" arg N times.
34507
78d5a08b 345082008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34509
34510 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34511 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34512 pattern for unknown glyphs.
34513
68807e5f 345142008-02-09 Robert Millan <rmh@aybabtu.com>
34515
34516 * configure.ac: Probe for `help2man'.
34517 * Makefile.in (builddir): New variable.
34518 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34519 or otherwise add a few flags/options to it.
34520 (install-local): For every executable utility or script that is
34521 installed, invoke $(HELP2MAN) to install a manpage based on --help
34522 output.
34523
34524 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34525 that it doesn't prevent --help from working in build tree.
34526
34527 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34528 with `bug-grub@gnu.org'.
34529 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34530 * util/update-grub.in (usage): New function.
34531 Implement proper argument check, with support for --help and --version
34532 (as well as existing -y).
34533
345342008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34535
34536 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34537 avoid overwriting previous output.
34538 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34539
c1962162 345402008-02-09 Robert Millan <rmh@aybabtu.com>
34541
34542 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34543 drawing the menu.
34544
3dac2e3f 345452008-02-09 Robert Millan <rmh@aybabtu.com>
34546
34547 * commands/sleep.c: New file.
34548 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34549 (sleep_mod_SOURCES): New variable.
34550 (sleep_mod_CFLAGS): Likewise.
34551 (sleep_mod_LDFLAGS): Likewise.
34552
7a634e08 345532008-02-09 Robert Millan <rmh@aybabtu.com>
34554
34555 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34556 situations in which we can deduce the RAID size and the superblock
34557 doesn't match it.
34558
b92f0c18 345592008-02-09 Robert Millan <rmh@aybabtu.com>
34560
34561 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34562 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34563 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34564
34565 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34566 and return a grub_diskmemberlist_t composed of physical array members.
34567 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34568
34569 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34570 prototype.
34571 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34572 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34573 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34574
34575 * util/grub-probe.c (probe): Move partmap probing code from here ...
34576 (probe_partmap): ... to here.
34577 (probe): Use probe_partmap() once for the disk we're probing, and
34578 additionally, when such disk contains a memberlist() struct member,
34579 once for each disk that is contained in the structure returned by
34580 memberlist().
34581
91a4bf68 345822008-02-09 Robert Millan <rmh@aybabtu.com>
34583
34584 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34585 environment variable to 'all' in order to obtain debug output from
34586 non-util/ code.
34587 * util/i386/pc/grub-setup.c (main): Likewise.
34588
a96f9caa 345892008-02-08 Robert Millan <rmh@aybabtu.com>
34590
34591 * disk/raid.c (grub_raid_scan_device): Check for
34592 `array->device[sb.this_disk.number]' rather than for
34593 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34594 guaranteed to be accessible.
a96f9caa 34595
b37a9222 345962008-02-08 Robert Millan <rmh@aybabtu.com>
34597
34598 * disk/raid.c: Update copyright.
34599 * fs/cpio.c: Likewise.
34600 * include/grub/raid.h: Likewise.
34601 * loader/i386/pc/multiboot.c: Likewise.
34602 * util/hostfs.c: Likewise.
34603
5626aee1 346042008-02-08 Robert Millan <rmh@aybabtu.com>
34605
34606 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34607 to a grub_disk_t array.
34608 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34609 `device[x]'.
34610 (grub_raid_scan_device): Replace `device[x].name' accesses with
34611 `device[x]->name'. Simplify initialization of `array->device[x]'.
34612
554f0187 346132008-02-08 Robert Millan <rmh@aybabtu.com>
34614
34615 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34616 grub_dprintf() calls.
34617 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34618 error message.
34619
1ec8425d 346202008-02-07 Christian Franke <franke@computer.org>
34621
34622 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34623 instead of fseek and ftell to support large files.
34624 (grub_hostfs_read): Likewise.
34625
f2156fda 346262008-02-07 Robert Millan <rmh@aybabtu.com>
34627
34628 Patch from Jeroen Dekkers.
34629 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34630 failure, since successfully reading all array members might not be
f2156fda 34631 required.
34632
9216e0e7 346332008-02-06 Robert Millan <rmh@aybabtu.com>
34634
34635 * util/grub-probe.c (probe): Simplify partmap probing (with the
34636 assumption that the first word up to the underscore equals to
34637 the module name).
34638
b0dfd29a 346392008-02-06 Christian Franke <franke@computer.org>
34640
34641 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34642 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34643 last block of a cpio or tar stream.
34644 Check for "TRAILER!!!" instead of any empty data
34645 block to detect last block of a cpio stream.
34646 (grub_cpio_dir): Fix constness of variable np.
34647 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34648 cpio or tar trailer is detected. This fixes a crash
34649 on open of a non existing file.
34650
c32865bf 346512008-02-05 Bean <bean123ch@gmail.com>
34652
34653 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34654 address of entry.
34655 (grub_multiboot_load_elf64): Likewise.
34656 (grub_multiboot): Initialize mbi structure.
34657
34658 * util/grub-fstest.c: Don't include unused header file script.h.
34659
fe6b695a 34660 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34661 of file.
34662 (grub_fstest_SOURCES): Likewise.
34663
409480b7 346642008-02-05 Robert Millan <rmh@aybabtu.com>
34665
34666 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34667 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34668 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34669 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34670
34671 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34672 (translation_table): Replace hardcoded values with macros
34673 provided by `<grub/term.h>'.
34674
34675 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34676 (keyboard_map): Correct/add a few values, with macros provided
34677 by `<grub/term.h>'.
34678 (keyboard_map_shift): Zero values that don't differ from their
34679 `keyboard_map' equivalents.
34680 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34681 Discard the second scan code that is always sent by Caps lock.
34682 Only use `keyboard_map_shift' when it provides a non-zero value,
34683 otherwise fallback to `keyboard_map'.
34684
99fadbaa 346852008-02-04 Bean <bean123ch@gmail.com>
34686
34687 * Makefile.in (enable_grub_fstest): New variable.
34688
34689 * conf/common.rmk (grub_fstest_init.lst): New rule.
34690 (grub_fstest_init.h): Likewise.
34691 (grub_fstest_init.c): Likewise.
34692 (util/grub-fstest.c_DEPENDENCIES): New variable.
34693 (grub_fstest_SOURCES): Likewise.
34694
34695 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34696
34697 * util/grub-fstest.c: New file.
34698
bf567c50 346992008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34700
34701 Make grub-setup handle a separate root device.
f19dbdb7 34702
bf567c50 34703 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34704 so that the root device can be compared with the destination
34705 device.
34706 When embedding the core image, if the root and destination devices
34707 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34708 0xFF.
34709 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34710
9be6b98b 347112008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34712
34713 Add support for having a grub directory in a different drive. This
34714 is still only the data handling part.
f19dbdb7 34715
9be6b98b 34716 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34717 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34718 (grub_root_drive): New variable.
34719
34720 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34721 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34722 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34723 as it was.
34724
34725 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34726
34727 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34728 macro.
34729 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34730
34731 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34732 is bogus, because PXE booting does not specify any drive
34733 correctly.
34734
34735 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34736 am not sure if this is really correct.
34737
34738 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34739 is always identical to the boot drive when booting from a CD.
34740
34741 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34742 longer.
34743 (root_drive): New variable.
34744 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34745 (setup_sectors): Push %dx right after popping it, because %dh will
34746 be modified later.
34747 (copy_buffer): Restore %dx.
34748
e0ca0677 347492008-02-03 Robert Millan <rmh@aybabtu.com>
34750
34751 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34752 use `cdboot.img' for cdrom images.
34753
3b3f6629 347542008-02-03 Robert Millan <rmh@aybabtu.com>
34755
34756 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34757 only setup gfxterm when `font' command has succeeded.
34758
d42b3672 347592008-02-03 Robert Millan <rmh@aybabtu.com>
34760
34761 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34762 (grub_rescue_cmd_multiboot_loader)
34763 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34764
fa370ea6 347652008-02-03 Pavel Roskin <proski@gnu.org>
34766
e0c5dacb 34767 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34768 %edx and %esi from stack only after grub_gate_a20() is called.
34769 grub_gate_a20() clobbers %edx.
34770
f2a76e1d 347712008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34772
34773 * configure.ac (AC_INIT): Bumped to 1.96.
34774
34775 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34776 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34777 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34778 video/readers/png.c.
34779
90fd32d1 347802008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34781
34782 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34783 (cdboot_img_SOURCES): New variable.
34784 (cdboot_img_ASFLAGS): New variable.
34785 (cdboot_img_LDFLAGS): New variable.
34786
34787 * boot/i386/pc/cdboot.S: New file.
34788
34789 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34790 (cd_count): Likewise.
34791 (grub_biosdisk_get_drive): Add support for cd device.
34792 (grub_biosdisk_call_hook): Likewise.
34793 (grub_biosdisk_iterate): Likewise.
34794 (grub_biosdisk_open): Likewise.
34795 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34796 (grub_biosdisk_rw): Support reading from cd device.
34797 (GRUB_MOD_INIT): Iterate cd devices.
34798
34799 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34800 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34801 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34802
34803 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34804
4020aa53 348052008-02-02 Robert Millan <rmh@aybabtu.com>
34806
34807 * commands/read.c: New file.
34808 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34809 (read_mod_SOURCES): New variable.
34810 (read_mod_CFLAGS): Likewise.
34811 (read_mod_LDFLAGS): Likewise.
34812
e03a1132 348132008-02-02 Robert Millan <rmh@aybabtu.com>
34814
34815 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34816 determining whether menu has to be displayed.
34817
58c69220 348182008-02-02 Marco Gerards <marco@gnu.org>
34819
34820 * bus/pci.c: New file.
34821
34822 * include/grub/pci.h: Likewise.
34823
34824 * include/grub/i386/pc/pci.h: Likewise.
34825
34826 * commands/lspci.c: Likewise.
34827
34828 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34829 `lspci.mod'.
34830 (pci_mod_SOURCES): New variable.
34831 (pci_mod_CFLAGS): Likewise.
34832 (pci_mod_LDFLAGS): Likewise.
34833 (lspci_mod_SOURCES): Likewise.
34834 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34835 (lspci_mod_LDFLAGS): Likewise.
58c69220 34836
c004e1b4 348372008-02-02 Bean <bean123ch@gmail.com>
34838
34839 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34840 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34841
34842 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34843 (grub_xfs_btree_node): New structure.
34844 (grub_xfs_btree_root): New structure.
34845 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34846 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34847 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34848 (GRUB_XFS_EXTENT_SIZE): Likewise.
34849 (grub_xfs_read_block): Support btree format type.
34850 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34851 Use directory block as basic unit.
34852
34853 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34854
34855 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34856 __attribute__ ((__regparm__ (1))).
34857
f95562bf 348582008-02-01 Robert Millan <rmh@aybabtu.com>
34859
34860 Correct a mistake in previous commit.
34861
34862 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34863 top.
34864 (normal/command.c_DEPENDENCIES): New variable.
34865
7d31f41f 348662008-02-01 Robert Millan <rmh@aybabtu.com>
34867
34868 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34869 top.
34870 (normal/command.c_DEPENDENCIES): New variable.
34871 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34872 * conf/i386-ieee1275.rmk: Likewise.
34873 * conf/i386-linuxbios.rmk: Likewise.
34874 * conf/i386-pc.rmk: Likewise.
34875 * conf/sparc64-ieee1275.rmk: Likewise.
34876 * conf/powerpc-ieee1275.rmk: Likewise.
34877 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34878
34879 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34880
60b6be74 348812008-02-01 Robert Millan <rmh@aybabtu.com>
34882
34883 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34884 call at beginning of function.
34885
078522ab 348862008-01-31 Pavel Roskin <proski@gnu.org>
34887
34888 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34889 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34890 (grub_mkrescue_SOURCES): Likewise.
078522ab 34891 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34892
ccaa8a5f 348932008-01-30 Robert Millan <rmh@aybabtu.com>
34894
34895 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34896 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34897 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34898 (grub_probe_SOURCES): ... to here.
34899
34900 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34901 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34902 * conf/i386-ieee1275.rmk: Likewise.
34903 * conf/i386-linuxbios.rmk: Likewise.
34904 * conf/powerpc-ieee1275.rmk: Likewise.
34905
ae5a9cd7 349062008-01-30 Tristan Gingold <gingold@free.fr>
34907
34908 * kern/rescue.c: Silently accept empty lines.
34909
70bc2ef2 349102008-01-29 Bean <bean123ch@gmail.com>
34911
34912 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34913 (real_code_2): Code cleanup and change comment style.
34914 (move_memory): Avoid using 32-bit address mode.
34915
6a4d50ea 349162008-01-29 Bean <bean123ch@gmail.com>
34917
34918 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34919 (png_mod_SOURCES): New variable.
34920 (png_mod_CFLAGS): Likewise.
34921 (png_mod_LDFLAGS): Likewise.
34922
34923 * video/readers/png.c: New file.
34924
11cc30ac 349252008-01-28 Robert Millan <rmh@aybabtu.com>
34926
34927 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34928 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34929 `ifndef GRUB_MOD_GAP' hack.
34930 * util/elf/grub-mkimage.c (add_segments): Likewise.
34931
3abc589f 349322008-01-27 Robert Millan <rmh@aybabtu.com>
34933
34934 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34935 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34936 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34937
e1907778 349382008-01-27 Robert Millan <rmh@aybabtu.com>
34939
34940 Get grub-emu to build again (including parallel builds).
34941
34942 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34943 Split into ...
34944 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34945 (normal/execute.c_DEPENDENCIES): ... this, ...
34946 (grub-emu_DEPENDENCIES): ... and this.
34947
34948 * conf/i386-efi.rmk: Likewise.
34949 * conf/i386-linuxbios.rmk: Likewise.
34950 * conf/i386-ieee1275.rmk: Likewise.
34951 * conf/powerpc-ieee1275.rmk: Likewise.
34952 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34953
2216b101 349542008-01-27 Robert Millan <rmh@aybabtu.com>
34955
34956 * NEWS: Add a few items.
34957
f75172d9 349582008-01-27 Robert Millan <rmh@aybabtu.com>
34959
34960 Fix parallel builds with grub-emu. Based on earlier commit for
34961 grub-probe and grub-setup.
34962
34963 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34964 (util/grub-emu.c_DEPENDENCIES): ... this.
34965 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34966 (util/grub-emu.c_DEPENDENCIES): ... this.
34967 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34968 (util/grub-emu.c_DEPENDENCIES): ... this.
34969 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34970 (util/grub-emu.c_DEPENDENCIES): ... this.
34971 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34972 (util/grub-emu.c_DEPENDENCIES): ... this.
34973
3f51de77 349742008-01-27 Pavel Roskin <proski@gnu.org>
34975
34976 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34977 to create a gap between _end and the modules added to the image
34978 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34979 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34980 * util/elf/grub-mkimage.c (add_segments): Likewise.
34981
2033f53e 349822008-01-26 Pavel Roskin <proski@gnu.org>
34983
34984 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34985 just return an error.
34986
22da1f6f 349872008-01-26 Bean <bean123ch@gmail.com>
34988
34989 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34990 (grub_reiserfs_get_item): Save offset of the next item.
34991 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34992
2a9525e6 349932008-01-25 Robert Millan <rmh@aybabtu.com>
34994
34995 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34996 make all filesystem sources appear together (possibly fixing omissions
34997 while at it).
34998 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34999 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35000 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35002
35003 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35004 add `kern/file.c'.
35005 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35006 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35007 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35008 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35009
35010 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35011 (probe): Add a sanity check to make sure of our ability to read
35012 requested files when probing for filesystem type.
35013
35014 * genmk.rb: Update copyright year (2007).
35015
35016 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35017 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35018 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35019 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35020 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35021 : Remove function prototypes.
35022
b95f71b5 350232008-01-25 Robert Millan <rmh@aybabtu.com>
35024
35025 Revert my previous commits (based on wrong assumption of how grub_errno
35026 works).
35027
fe6b695a 35028 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35029 * kern/file.c (grub_file_open): Likewise.
35030
d08bbb49 350312008-01-24 Pavel Roskin <proski@gnu.org>
35032
35033 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35034 that hang if GRUB tries to setup colors.
35035 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35036 colors for firmwares that don't support it.
35037 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35038 Recognize Open Hack'Ware, set flags to work around its
35039 limitations.
35040
605e36ed 350412008-01-24 Robert Millan <rmh@aybabtu.com>
35042
35043 * kern/file.c (grub_file_open): Do not account previous failures of
35044 unrelated functions when grub_errno is checked for.
35045 Reported by Oleg Strikov.
35046
bac332a1 350472008-01-24 Bean <bean123ch@gmail.com>
35048
35049 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35050 (grub_ufs_sblock): New member volume name.
35051 (grub_ufs_find_file): Fix string copy bug.
35052 (grub_ufs_label): Implement this function properly.
35053
35054 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35055 (grub_hfs_iterate_records): Use the correct file number for extents
35056 and catalog file. Fix problem in next index calculation.
35057 (grub_hfs_find_node): Replace recursive function call with loop.
35058 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35059
15c80c09 350602008-01-23 Robert Millan <rmh@aybabtu.com>
35061
35062 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35063 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35064 (grub_multiboot2_real_boot): New function prototype.
35065
35066 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35067 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35068
35069 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35070 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35071
305338fd 350722008-01-23 Robert Millan <rmh@aybabtu.com>
35073
35074 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35075 #ifdef'ed out grub_printf().
35076
3ea52685 350772008-01-23 Robert Millan <rmh@aybabtu.com>
35078
35079 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35080 grub_dprintf calls, since they make "debug=all" mode unusable.
35081 (grub_console_checkkey): Likewise.
35082
5882ae4b 350832008-01-23 Robert Millan <rmh@aybabtu.com>
35084
35085 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35086 `term/i386/pc/at_keyboard.c'.
35087 (pkglib_MODULES): Add `serial.mod'.
35088 (serial_mod_SOURCES): New variable.
35089 (serial_mod_CFLAGS): Likewise.
35090 (serial_mod_LDFLAGS): Likewise.
35091
35092 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35093 `<grub/powerpc/ieee1275/console.h>'.
35094 (grub_keyboard_controller_init): New function prototype.
35095 (grub_console_checkkey): Likewise.
35096 (grub_console_getkey): Likewise.
35097
35098 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35099 keyboard on i386.
35100
35101 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35102 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35103
06ab5303 351042008-01-23 Robert Millan <rmh@aybabtu.com>
35105
35106 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35107 present, "(memdisk)/boot/grub" becomes the default prefix.
35108
35109 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35110 a memdisk tarball with all the modules. Add --overlay=DIR option that
35111 allows users to overlay additional files into the image.
35112
dbb475a4 351132008-01-23 Robert Millan <rmh@aybabtu.com>
35114
35115 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35116 and `machine/memory.h'.
35117 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35118 (_multiboot_mod_SOURCES): New variable.
35119 (_multiboot_mod_CFLAGS): Likewise.
35120 (_multiboot_mod_LDFLAGS): Likewise.
35121 (multiboot_mod_SOURCES): Likewise.
35122 (multiboot_mod_CFLAGS): Likewise.
35123 (multiboot_mod_LDFLAGS): Likewise.
35124
35125 * include/grub/i386/ieee1275/loader.h: New file.
35126
35127 * include/grub/i386/ieee1275/machine.h: Likewise.
35128
35129 * include/grub/i386/ieee1275/memory.h: Likewise.
35130
35131 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35132 variable declaration.
35133 (grub_os_area_size): Likewise.
35134
35135 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35136 (grub_lower_mem, grub_upper_mem): New variables.
35137 (grub_stop_floppy): New function (just to make
35138 grub_multiboot2_real_boot() happy).
35139
35140 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35141 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35142 (grub_stop): New function.
35143 Include `"../realmode.S"' and `"../loader.S"'.
35144
35145 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35146 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35147
35148 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35149 rely on grub_multiboot2_real_boot() for final boot.
35150
25638629 351512008-01-22 Robert Millan <rmh@aybabtu.com>
35152
35153 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35154 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35155 device that doesn't look like an SD card.
35156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35157 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35158 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35159 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35160 found.
35161
9dad816d 351622008-01-22 Robert Millan <rmh@aybabtu.com>
35163
35164 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35165 avoid claiming over our own code.
35166
34842f2d 351672008-01-22 Bean <bean123ch@gmail.com>
35168
35169 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35170 (jpeg_mod_SOURCES): New variable.
35171 (jpeg_mod_CFLAGS): Likewise.
35172 (jpeg_mod_LDFLAGS): Likewise.
35173
35174 * video/readers/jpeg.c : New file.
35175
44023a28 351762008-01-22 Bean <bean123ch@gmail.com>
35177
35178 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35179 there are no more items.
35180
bc2d8ac6 351812008-01-21 Robert Millan <rmh@aybabtu.com>
35182
35183 * kern/mm.c (grub_mm_init_region): Improve debug message.
35184
261bd4bc 351852008-01-21 Robert Millan <rmh@aybabtu.com>
35186
35187 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35188 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35189 address.
35190 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35191 a C macro.
35192 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35193 Indicates start of upper memory.
35194 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35195 (generate_image): Abort when image size is big enough to corrupt
35196 upper memory.
35197
35198 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35199 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35200 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35201 instead of hardcoding 0xA0000.
35202 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35203 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35204 instead of hardcoding 0xA0000.
35205
f970b55e 352062008-01-21 Robert Millan <rmh@aybabtu.com>
35207
35208 * disk/memdisk.c (memdisk_size): New variable.
35209 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35210 `memdisk_size'.
35211 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35212 image to dynamic memory.
35213 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35214 `memdisk_size'. Free memdisk block.
35215
1a8b0526 352162008-01-21 Robert Millan <rmh@aybabtu.com>
35217
35218 Fix detection of very small filesystems (like tar).
35219
35220 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35221 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35222 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35223 a problem with this disk).
35224
6e9b4aab 352252008-01-21 Robert Millan <rmh@aybabtu.com>
35226
35227 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35228 on grub_biosdisk_rw_standard() error.
35229
0d8837b2 352302008-01-21 Robert Millan <rmh@aybabtu.com>
35231
35232 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35233 recent changes.
35234 * kern/elf.c: Likewise.
35235 * kern/ieee1275/ieee1275.c: Likewise.
35236 * kern/powerpc/ieee1275/openfw.c: Likewise.
35237 * term/ieee1275/ofconsole.c: Likewise.
35238
ffd36e34 352392008-01-21 Robert Millan <rmh@aybabtu.com>
35240
35241 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35242
3f0093d0 35243 * include/grub/kernel.h (grub_arch_memdisk_addr)
35244 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35245
3f0093d0 35246 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35247 (grub_arch_memdisk_size): ... to here.
ffd36e34 35248
6c391b21 352492008-01-21 Robert Millan <rmh@aybabtu.com>
35250
35251 Mostly based on bugfix from Bean.
35252
35253 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35254 attribute with hook() parameter.
35255 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35256 declaration.
35257 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35258 attribute with hook() parameter.
35259 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35260 declaration.
35261
55a581dc 352622008-01-21 Robert Millan <rmh@aybabtu.com>
35263
35264 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35265 (pkglib_MODULES): Add `memdisk.mod'.
35266 (memdisk_mod_SOURCES): New variable.
35267 (memdisk_mod_CFLAGS): Likewise.
35268 (memdisk_mod_LDFLAGS): Likewise.
35269
35270 * disk/memdisk.c: New file.
35271
35272 * include/grub/disk.h (grub_disk_dev_id): Add
35273 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35274
35275 * include/grub/i386/pc/kernel.h
35276 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35277 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35278 (grub_kernel_image_size): New variable declaration.
35279 (grub_total_module_size): Likewise.
35280 (grub_memdisk_image_size): Likewise.
35281
35282 * include/grub/i386/pc/memory.h
35283 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35284
35285 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35286 (grub_arch_memdisk_addr): New variable declaration.
35287 (grub_arch_memdisk_size): Likewise.
35288
35289 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35290 (grub_arch_memdisk_size): Likewise.
35291
35292 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35293 (codestart): Replace hardcoded `0x100000' with
35294 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35295
35296 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35297 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35298 not NULL, append the contents of the file it refers to, at the end of
35299 the compressed kernel image. Initialize `grub_memdisk_image_size'
35300 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35301 (options): Add "memdisk"|'m' option.
35302 (main): Parse --memdisk|-m option, and pass user-provided path as
35303 parameter to generate_image().
35304
3d7f54c9 353052008-01-20 Robert Millan <rmh@aybabtu.com>
35306
35307 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35308 grub_dprintf() calls from here ...
35309 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35310
0bf74728 353112008-01-20 Robert Millan <rmh@aybabtu.com>
35312
35313 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35314
35315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35316 declaration.
35317 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35318 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35319 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35320 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35321 property).
35322 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35323 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35324
33bf70a7 353252008-01-19 Robert Millan <rmh@aybabtu.com>
35326
fe6b695a 35327 Get rid of confusing function (superseded by
33bf70a7 35328 `grub_ieee1275_get_integer_property')
35329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35330 prototype.
35331 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35332 function.
35333 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35334 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35335 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35336
e2da7d26 353372008-01-19 Robert Millan <rmh@aybabtu.com>
35338
35339 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35340 command after "shut-down", since implementations differ on which
35341 the command for halt is.
35342
59f1fd8d 353432008-01-19 Robert Millan <rmh@aybabtu.com>
35344
35345 * include/grub/i386/linuxbios/console.h: Add header protection.
35346 (grub_keyboard_controller_init): New function prototype.
35347 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35348 (KEYBOARD_COMMAND_READ): Likewise.
35349 (KEYBOARD_COMMAND_WRITE): Likewise.
35350 (KEYBOARD_SCANCODE_SET1): Likewise.
35351 (grub_keyboard_controller_write): New function.
35352 (grub_keyboard_controller_read): Likewise.
35353 (grub_keyboard_controller_init): Likewise.
35354
35355 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35356 (grub_console_init): On coreboot/LinuxBIOS, call
35357 grub_keyboard_controller_init().
35358
5f5a7c15 353592008-01-19 Robert Millan <rmh@aybabtu.com>
35360
35361 PowerPC changes provided by Pavel Roskin.
35362
35363 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35364 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35365 don't rely on cmain() doing it.
35366 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35367 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35368
1210e168 353692008-01-16 Robert Millan <rmh@aybabtu.com>
35370
35371 * include/grub/i386/linuxbios/memory.h
35372 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35373 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35374 receive `table_header' as argument. Instead, probe for it in the
35375 known memory ranges where it can be present.
35376 (grub_available_iterate): Do not pass a fixed `table_header' address
35377 to grub_linuxbios_table_iterate().
35378
3d04eab8 353792008-01-15 Robert Millan <rmh@aybabtu.com>
35380
35381 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35382 * conf/i386-ieee1275.rmk: New file.
35383 * include/grub/i386/ieee1275/console.h: Likewise.
35384 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35385 * include/grub/i386/ieee1275/kernel.h: Likewise.
35386 * include/grub/i386/ieee1275/time.h: Likewise.
35387 * kern/i386/ieee1275/init.c: Likewise.
35388 * kern/i386/ieee1275/startup.S: Likewise.
35389
d1bc1b73 353902008-01-15 Robert Millan <rmh@aybabtu.com>
35391
35392 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35393 when pointers are 32-bit (but still do set it to one when they are
35394 64-bit).
35395
66a65807 353962008-01-15 Robert Millan <rmh@aybabtu.com>
35397
35398 * include/grub/ieee1275/ieee1275.h
35399 (grub_ieee1275_get_integer_property): New function prototype.
35400
35401 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35402 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35403 grub_ieee1275_get_property() to handle endianness.
66a65807 35404
35405 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35406 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35407 where appropriate.
66a65807 35408 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35409 (grub_map): Likewise.
35410 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35411
a83ccafd 354122008-01-15 Bean <bean123ch@gmail.com>
35413
35414 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35415 (grub_script_execute_cmdline): Reset grub_errno.
35416
35417 * normal/main.c (read_config_file): Reset grub_errno.
35418
35419 * normal/parse.y (script_init): New.
35420 (script): Move function and menuentry here.
35421 (delimiter): New.
35422 (command): Add delimiter at the end of command.
35423 (commands): Adjust to match the new command.
35424 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35425 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35426 (if): Use the new commands.
35427
35428 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35429
df6ecfc6 354302008-01-15 Robert Millan <rmh@aybabtu.com>
35431
35432 * normal/menu.c (run_menu): Move timeout message from here ...
35433 (print_timeout): ... to here.
35434 (run_menu): Use print_timeout() once during initial draw to print
35435 the whole message, and again in every clock tick to update only
35436 the number of seconds.
35437
87ae25eb 354382008-01-15 Robert Millan <rmh@aybabtu.com>
35439
35440 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35441 actual size of `available' from grub_ieee1275_get_property(), and
35442 restrict parsing to that bound.
35443
47bf09a4 354442008-01-15 Christian Franke <franke@computer.org>
35445
35446 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35447 (argp_program_version): Remove variable.
35448 (argp_program_bug_address): Likewise.
35449 (options): Convert from struct argp_option to struct option.
35450 (struct arguments): Remove.
35451 (parse_opt): Remove.
35452 (usage): New function.
35453 (main): Replace struct args members by simple variables.
35454 Replace argp_parse() by getopt_long().
35455 Add switch to evaluate options.
35456 Add missing "(...)" around root_dev in prefix string.
35457
c86f1469 354582008-01-14 Robert Millan <rmh@aybabtu.com>
35459
35460 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35461 for grub_ieee1275_exit(), in order to improve portability.
35462
e622c559 354632008-01-14 Robert Millan <rmh@aybabtu.com>
35464
35465 * util/grub.d/10_linux.in (prefix): Define.
35466 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35467
44cb1ec8 354682008-01-13 Pavel Roskin <proski@gnu.org>
35469
35470 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35471 grub_errno if no errors have been detected.
35472
1eb8c802 354732008-01-12 Robert Millan <rmh@aybabtu.com>
35474
35475 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35476 (grub_util_get_dev_abstraction): New function prototype.
35477
35478 * util/getroot.c: Include `<grub/util/getroot.h>'
35479 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35480 (grub_util_get_dev_abstraction): ... here (new function).
35481
35482 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35483 `PRINT_ABSTRACTION'.
35484 (probe): Probe for abstraction type when requested.
35485 (main): Understand `--target=abstraction'.
35486
35487 * util/i386/efi/grub-install.in: Add abstraction module to core
35488 image when it is found to be necessary.
35489 * util/i386/pc/grub-install.in: Likewise.
35490 * util/powerpc/ieee1275/grub-install.in: Likewise.
35491
35492 * util/update-grub_lib.in (font_path): Return system path without
35493 converting to GRUB path.
35494 * util/update-grub.in: Convert system path returned by font_path()
35495 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35496 abstraction module is needed for loading fonts (if any). Export
35497 that as `GRUB_PRELOAD_MODULES'.
35498 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35499 insmod commands).
35500
52bd3de9 355012008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35502
35503 Remove some unused code from reiserfs.
f19dbdb7 35504
52bd3de9 35505 * fs/reiserfs.c (struct grub_reiserfs_key)
35506 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35507 (struct grub_reiserfs_node_body): Removed.
35508 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35509 Likewise.
35510 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35511 Likewise.
35512 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35513 Likewise.
35514 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35515 Likewise.
35516 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35517 Likewise.
35518 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35519 Likewise.
35520 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35521 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35522 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35523
2f80039d 355242008-01-10 Robert Millan <rmh@aybabtu.com>
35525
35526 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35527 Determines if a file is garbage left by packaging systems, etc.
35528 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35529 for processing /etc/grub.d scripts.
35530 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35531 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35532 as a condition for processing Linux images.
35533
87888032 355342008-01-10 Pavel Roskin <proski@gnu.org>
35535
35536 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35537 to compile reiserfs.c on PowerPC.
35538
7e54fced 355392008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35540
35541 * kern/device.c (grub_device_iterate): Do not abort device iteration
35542 when one of the devices cannot be opened.
35543 * kern/disk.c (grub_disk_open): Do not account previous failures of
35544 unrelated functions when grub_errno is checked for.
35545
5aa541e6 355462008-01-08 Robert Millan <rmh@aybabtu.com>
35547
35548 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35549 `! grub_linux_is_bzimage', change order of address comparison to make
35550 it more intuitive, and improve "too big zImage" error message.
35551
7076340d 355522008-01-08 Robert Millan <rmh@aybabtu.com>
35553
35554 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35555 `$(update-grub_DATA)'.
35556 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35557 targets.
35558
9ca70333 355592008-01-07 Robert Millan <rmh@aybabtu.com>
35560
35561 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35562 which instruction is modified by grub-setup during installation
35563 (since it wasn't obvious by only looking at this file).
35564
38ccf575 355652008-01-07 Robert Millan <rmh@aybabtu.com>
35566
35567 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35568 listing actual TODO items.
35569
f5db4291 355702008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35571
868967cf 35572 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35573 correctly.
35574 (grub_reiserfs_get_key_offset): Likewise.
35575 (grub_reiserfs_set_key_offset): Likewise.
35576 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35577 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35578
35579 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35580 better to remove the bitfield version completely.
f19dbdb7 35581
868967cf 355822008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35583
f5db4291 35584 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35585 allocated from the heap, due to the fshelp implementation.
35586 (grub_reiserfs_dir): Free NODE, due to the same reason.
35587
492e6d9d 355882008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35589
35590 Mostly from Vincent Pelletier:
f19dbdb7 35591
492e6d9d 35592 * fs/reiserfs.c: New file.
f19dbdb7 35593
492e6d9d 35594 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35595 (reiserfs_mod_SOURCES): New variable.
35596 (reiserfs_mod_CFLAGS): Likewise.
35597 (reiserfs_mod_LDFLAGS): Likewise.
35598
35599 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35600 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35601 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35602 normal/color.c.
35603
9ce3e7c1 356042008-01-06 Robert Millan <rmh@aybabtu.com>
35605
35606 * normal/color.c: Remove `<grub/env.h>'.
35607
f3b58148 356082008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35609
35610 * include/grub/normal.h: Include <grub/env.h>.
35611
7ac3bcfa 356122008-01-05 Robert Millan <rmh@aybabtu.com>
35613
35614 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35615 usage example with `(hd0,1)'.
fb358190 35616 Reported by Samuel Thibault.
7ac3bcfa 35617
c8ee99d7 356182008-01-05 Robert Millan <rmh@aybabtu.com>
35619
35620 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35621 (grub_linux_boot_zimage): Rename to ...
35622 (grub_linux_boot): ... this.
35623 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35624 (grub_linux_boot_zimage): Conditionalize zImage copy.
35625
35626 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35627 (grub_linux_boot_bzimage): Remove prototype.
35628 (grub_linux_boot_zimage): Rename to ...
35629 (grub_linux_boot): ... this.
35630
35631 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35632 (grub_linux_boot): Remove function.
35633
0ece25b1 356342008-01-05 Robert Millan <rmh@aybabtu.com>
35635
35636 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35637 (grub_env_write_color_highlight): Likewise.
35638 (grub_wait_after_message): Likewise.
35639
35640 * normal/color.c: New file.
35641
35642 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35643 (normal_mod_DEPENDENCIES): Likewise.
35644
35645 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35646 (normal_mod_DEPENDENCIES): Likewise.
35647
35648 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35649 (normal_mod_DEPENDENCIES): Likewise.
35650
35651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35652 (normal_mod_DEPENDENCIES): Likewise.
35653
35654 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35655 for waiting after a message is printed.
35656 * normal/main.c (read_config_file): Likewise.
35657 (grub_normal_init): Register grub_env_write_color_normal() and
35658 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35659 `color_highlight' variables as global.
35660
35661 * normal/menu.c (grub_wait_after_message): New function.
35662 (grub_color_menu_normal): New variable. Replaces ...
35663 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35664 (grub_color_menu_highlight): New variable. Replaces ...
35665 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35666 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35667 `GRUB_TERM_COLOR_STANDARD'.
35668 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35669 `normal_code' and `highlight_code' to `old_color_normal' and
35670 `old_color_highlight', respectively.
35671 (grub_menu_init_page): Update colors when drawing the menu, based on
35672 `menu_color_normal' and `menu_color_highlight' variables.
35673 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35674 a message is printed.
35675
182dd4e5 356762008-01-05 Robert Millan <rmh@aybabtu.com>
35677
35678 * kern/env.c (grub_env_context_open): Propagate hooks for global
35679 variables to new context.
35680
35681 * kern/main.c (grub_set_root_dev): Export `root' variable.
35682
ddf8f6ad 356832008-01-05 Robert Millan <rmh@aybabtu.com>
35684
35685 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35686 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35687 them.
35688
d8b43d9b 356892008-01-05 Robert Millan <rmh@aybabtu.com>
35690
35691 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35692
2bff2de3 356932008-01-04 Christian Franke <franke@computer.org>
35694
35695 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35696 of eisa_mmap.
35697
97eab917 356982008-01-03 Pavel Roskin <proski@gnu.org>
35699
35700 * kern/i386/linuxbios/init.c: Put "void" to all function
35701 declarations with no arguments.
35702 * kern/powerpc/ieee1275/init.c: Likewise.
35703 * term/i386/pc/at_keyboard.c: Likewise.
35704 * term/i386/pc/vga_text.c: Likewise.
35705 * util/grub-mkdevicemap.c: Likewise.
35706
b9416d00 357072008-01-02 Robert Millan <rmh@aybabtu.com>
35708
35709 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35710 message when loaded image is out of bounds.
35711 (grub_multiboot_load_elf64): Likewise.
35712
92695df9 357132008-01-02 Pavel Roskin <proski@gnu.org>
35714
35715 * util/grub.d/10_linux.in: Try version without ".old" when
35716 looking for initrd. It's better to use initrd from the newer
35717 kernel of the same version than no initrd at all.
35718
d98d9cad 357192008-01-01 Robert Millan <rmh@aybabtu.com>
35720
35721 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35722
dbfdce36 357232008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35724
f19dbdb7 35725 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35726 grub_video_get_active_render_target.
35727 (grub_video_adapter): Added unmap_color and get_active_render_target.
35728
f19dbdb7 35729 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35730 grub_video_get_active_render_target.
35731 (grub_video_get_info): Changed method to accept NULL pointer as an
35732 argument to allow detection of active video adapter.
35733
35734 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35735 grub_video_vbe_unmap_color_int.
35736 Added grub_video_vbe_unmap_color and
35737 grub_video_vbe_get_active_render_target.
35738 (grub_video_vbe_adapter): Added unmap_color and
35739 get_active_render_target.
35740
f19dbdb7 35741 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35742 with grub_video_vbe_unmap_color_int.
35743
35744 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35745 (DEFAULT_NORMAL_COLOR): Likewise.
35746 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35747 (DEFAULT_FG_COLOR): Removed.
35748 (DEFAULT_BG_COLOR): Likewise.
35749 (DEFAULT_CURSOR_COLOR): Changed value.
35750 (grub_virtual_screen): Added standard_color_setting,
35751 normal_color_setting, highlight_color_setting and term_color.
35752 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35753 (bitmap_width): Added.
35754 (bitmap_height): Likewise.
35755 (bitmap): Likewise.
35756 (set_term_color): Likewise.
35757 (grub_virtual_screen_setup): Changed to use new terminal coloring
35758 settings.
35759 (grub_gfxterm_init): Added init for bitmap.
35760 (grub_gfxterm_fini): Added destroy for bitmap.
35761 (redraw_screen_rect): Updated to use background bitmap and new
35762 terminal coloring.
35763 (scroll_up): Added optimization for case when there is no bitmap.
35764 (grub_gfxterm_cls): Fixed to use correct background color.
35765 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35766 coloring.
35767 (grub_virtual_screen_setcolor): Likewise.
35768 (grub_virtual_screen_getcolor): Added.
35769 (grub_gfxterm_background_image_cmd): Likewise.
35770 (grub_video_term): Added setcolor and getcolor.
35771 (MOD_INIT): Added registration of background_image command.
35772 (MOD_TERM): Added unregistration for background_image command.
35773
c3c20931 357742007-12-30 Pavel Roskin <proski@gnu.org>
35775
35776 * loader/multiboot_loader.c: Fix multiboot command
35777 unregistration. Fix all typos in the word "multiboot".
35778
df266716 357792007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35780
35781 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35782 support for initrd names used in Fedora.
35783
fc6e896c 357842007-12-26 Bean <bean123ch@gmail.com>
35785
35786 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35787 (cpio_mod_SOURCES): New variable.
35788 (cpio_mod_CFLAGS): Likewise.
35789 (cpio_mod_LDFLAGS): Likewise.
35790
35791 * fs/cpio.c: New file.
35792
35793 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35794
35795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35796
35797 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35798
35799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35800
533110ad 358012007-12-25 Robert Millan <rmh@aybabtu.com>
35802
35803 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35804 (grub_getcolor): New function.
35805
35806 * kern/term.c (grub_getcolor): New function.
35807 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35808 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35809 (print_entry): Set normal and highlight colors to
35810 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35811 respectively, before printing and restore them to old
35812 values afterwards.
35813 (grub_menu_init_page): Likewise. Fill an additional colored space
35814 that would otherwise be left blank.
35815
35816 * term/efi/console.c (grub_console_getcolor): New function.
35817 (struct grub_console_term.getcolor): New variable.
35818 * term/i386/pc/console.c (grub_console_getcolor): New function.
35819 (struct grub_console_term.getcolor): New variable.
35820 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35821 (struct grub_console_term.getcolor): New variable.
35822
35823 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35824 (struct grub_console_term.setcolor): Remove variable.
35825 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35826 (struct grub_console_term.setcolor): Remove variable.
35827 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35828 (struct grub_console_term.setcolor): Remove variable.
35829 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35830 (struct grub_console_term.setcolor): Remove variable.
35831
4931827f 358322007-12-25 Robert Millan <rmh@aybabtu.com>
35833
35834 * configure.ac: Search for possible unifont.hex locations, and
35835 define UNIFONT_HEX if found.
35836
35837 * Makefile.in (UNIFONT_HEX): Define variable.
35838 (DATA): Rename to ...
35839 (PKGLIB): ... this. Update all users.
35840 (PKGDATA): New variable.
35841 (pkgdata_IMAGES): Rename to ...
35842 (pkglib_IMAGES): ... this. Update all users.
35843 (pkgdata_MODULES): Rename to ...
35844 (pkglib_MODULES): ... this. Update all users.
35845 (pkgdata_PROGRAMS): Rename to ...
35846 (pkglib_PROGRAMS): ... this. Update all users.
35847 (pkgdata_DATA): Rename to ...
35848 (pkglib_DATA): ... this. Update all users.
35849 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35850 (unicode.pff, ascii.pff): New rules.
35851 (all-local): Add `$(PKGDATA)' dependency.
35852 (install-local): Process `$(PKGDATA)'.
35853
35854 * util/update-grub_lib.in (font_path): Search for *.pff files in
35855 a few more locations, including `${pkgdata}'.
35856
57e57e31 358572007-12-23 Robert Millan <rmh@aybabtu.com>
35858
35859 Patch from Bean <bean123ch@gmail.com>:
35860 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35861 `size'.
35862
4bc72aa9 358632007-12-21 Bean <bean123ch@gmail.com>
35864
35865 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35866 (ntfscomp_mod_SOURCES): New variable.
35867 (ntfscomp_mod_CFLAGS): Likewise.
35868 (ntfscomp_mod_LDFLAGS): Likewise.
35869
35870 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35871 (grub_probe_SOURCES): Likewise.
35872 (grub_emu_SOURCES): Likewise.
35873
35874 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35875 (grub_emu_SOURCES): Likewise.
35876
35877 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35878 (grub_emu_SOURCES): Likewise.
35879
35880 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35881 (grub_emu_SOURCES): Likewise.
35882
35883 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35884 (read_run_list): Renamed to grub_ntfs_read_run_list.
35885 (decomp_nextvcn): Moved to ntfscomp.c.
35886 (decomp_getch): Likewise.
35887 (decomp_get16): Likewise.
35888 (decomp_block): Likewise.
35889 (read_block): Likewise.
35890 (read_data): Partially moved to ntfscomp.c.
35891 (fixup): Change unsigned to grub_uint16_t.
35892 (read_mft): Change unsigned long to grub_uint32_t.
35893 (read_attr): Likewise.
35894 (read_data): Likewise.
35895 (read_run_data): Likewise.
35896 (read_run_list): Likewise.
35897 (read_mft): Likewise.
35898
35899 * fs/ntfscomp.c: New file.
35900
35901 * include/grub/ntfs.h: New file.
35902
af680a87 359032007-12-16 Robert Millan <rmh@aybabtu.com>
35904
35905 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35906 IDE disk check, since Linux is known to support 20 IDE disks.
35907 Reported by Colin Watson.
35908
84be7599 359092007-12-15 Bean <bean123ch@gmail.com>
35910
35911 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35912 (lnxboot_img_SOURCES): New variable.
35913 (lnxboot_img_ASFLAGS): Likewise.
35914 (lnxboot_img_LDFLAGS): Likewise.
35915
35916 * boot/i386/pc/lnxboot.S: New file.
35917
6af9db01 359182007-11-24 Pavel Roskin <proski@gnu.org>
35919
35920 * configure.ac: Test if '--build-id=none' is supported by the
35921 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35922 objcopy to generate incorrect binary files (binutils
35923 2.17.50.0.18-1 as shipped by Fedora 8).
35924 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35925 linking, so that build ID doesn't break the test.
35926
7361cfe6 359272007-11-24 Pavel Roskin <proski@gnu.org>
35928
35929 * include/grub/i386/time.h: use "void" in the argument list
35930 of grub_cpu_idle().
35931 * include/grub/powerpc/time.h: Likewise.
35932 * include/grub/sparc64/time.h: Likewise.
35933
1593e10c 359342007-11-18 Christian Franke <franke@computer.org>
35935
35936 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35937 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35938 This fixes the problem that function keys did not work in grub-emu.
35939
3b8db1a8 359402007-11-18 Christian Franke <franke@computer.org>
35941
35942 * disk/host.c (grub_host_open): Remove attribute unused from
35943 name parameter. Add check for "host". This fixes the problem
35944 that grub-emu does not find partitions.
35945
2e29408d 359462007-11-18 Christian Franke <franke@computer.org>
35947
35948 * util/hostfs.c (is_dir): New function.
35949 (grub_hostfs_dir): Handle missing dirent.d_type case.
35950 (grub_hostfs_read): Add missing fseek().
35951 (grub_hostfs_label): Clear label pointer. This fixes a crash
35952 of grub-emu on "ls (host)".
35953
398cd047 359542007-11-18 Christian Franke <franke@computer.org>
35955
35956 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35957 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35958 to 64 bit boundary by default.
35959
c405c391 359602007-11-18 Bean <bean123ch@gmail.com>
35961
35962 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35963 (hexdump_mod_SOURCES): New variable.
35964 (hexdump_mod_CFLAGS): Likewise.
35965 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35966
c405c391 35967 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35968
35969 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35970
35971 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35972
35973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35974
35975 * include/grub/hexdump.h: New file.
35976
35977 * commands/hexdump.c: New file.
35978
5cced7fd 359792007-11-10 Robert Millan <rmh@aybabtu.com>
35980
35981 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35982 in grub_outb() calls.
35983 (beep_on): Likewise.
35984
8b714eb0 359852007-11-10 Christian Franke <franke@computer.org>
35986
35987 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35988 (grub_menu_run): Likewise.
35989
ce0f1839 359902007-11-10 Robert Millan <rmh@aybabtu.com>
35991
35992 * include/grub/i386/efi/machine.h: New file.
35993 * include/grub/i386/linuxbios/machine.h: Likewise.
35994 * include/grub/i386/pc/machine.h: Likewise.
35995 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35996 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35997
35998 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35999 (serial_hw_io_addr): New variable.
36000 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36001 instead of `(unsigned short *) 0x400'.
36002
270c237d 360032007-11-10 Bean <bean123ch@gmail.com>
36004
36005 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36006
a87783bf 360072007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36008
36009 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36010 (vga_mod_SOURCES): Added.
36011 (vga_mod_CFLAGS): Likewise.
36012 (vga_mod_LDFLAGS): Likewise.
36013
36014 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36015 grub_outb() calls.
36016 (set_map_mask): Likewise.
36017 (set_read_map): Likewise.
36018 (set_read_address): Likewise.
36019 (vga_font): Removed variable.
36020 (get_vga_glyph): Removed function.
36021 (invalidate_char): Likewise.
36022 (write_char): Changed to use grub_font_get_glyph() for font
36023 information.
36024 (grub_vga_putchar): Likewise.
36025 (grub_vga_getcharwidth): Likewise.
36026
6433b448 360272007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36028
36029 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36030 flags.
36031 (pxeboot_img_LDFLAGS): Likewise.
36032 (diskboot_img_LDFLAGS): Likewise.
36033 (kernel_img_LDFLAGS): Likewise.
36034
49178511 360352007-11-06 Robert Millan <rmh@aybabtu.com>
36036
36037 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36038 in grub_outb() calls.
36039 (serial_hw_init): Likewise.
36040
53b052de 360412007-11-05 Robert Millan <rmh@aybabtu.com>
36042
36043 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36044 spaces. Skip non-regular files.
36045
5ab33bba 360462007-11-05 Robert Millan <rmh@aybabtu.com>
36047
36048 * kern/disk.c (grub_disk_firmware_fini)
36049 (grub_disk_firmware_is_tainted): New variables.
36050
36051 * include/grub/disk.h (grub_disk_firmware_fini)
36052 (grub_disk_firmware_is_tainted): Likewise.
36053
36054 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36055 (grub_disk_biosdisk_fini): ... to here.
36056 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36057 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36058 is set. Register grub_disk_biosdisk_fini() in
36059 `grub_disk_firmware_fini'.
36060
36061 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36062 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36063 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36064 to finish existing firmware disk interface.
36065
36066 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36067 (ata_mod_SOURCES): New variable.
36068 (ata_mod_CFLAGS): Likewise.
36069 (ata_mod_LDFLAGS): Likewise.
36070
0149ab7c 360712007-11-05 Robert Millan <rmh@aybabtu.com>
36072
36073 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36074 (grub_ata_wait): Reimplement using grub_millisleep().
36075
36076 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36077 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36078
be7ac41e 360792007-11-03 Marco Gerards <marco@gnu.org>
36080
36081 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36082 (CRTC_ADDR_PORT): New macro.
36083 (CRTC_DATA_PORT): Likewise.
36084 (CRTC_CURSOR): Likewise.
36085 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36086 (CRTC_CURSOR_ADDR_LOW): Likewise.
36087 (update_cursor): New function.
36088 (grub_console_real_putchar): Call `update_cursor'.
36089 (grub_console_gotoxy): Likewise.
36090 (grub_console_cls): Set the default color when clearing the
36091 screen.
36092 (grub_console_setcursor): Implemented.
36093
bb06ab2e 360942007-11-03 Marco Gerards <marco@gnu.org>
36095
36096 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36097 become activate.
36098 (grub_ata_pio_write): Likewise.
36099
36100 (grub_atapi_identify): Wait after issuing an ATA command.
36101 (grub_atapi_packet): Likewise.
36102 (grub_ata_identify): Likewise.
36103 (grub_ata_readwrite): Likewise.
36104
cf8f780b 361052007-11-03 Marco Gerards <marco@gnu.org>
36106
36107 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36108 (grub_ata_pio_write): Likewise.
36109 (grub_ata_readwrite): Use `grub_error', instead of
36110 returning `grub_errno'.
36111
ed649e54 361122007-11-03 Marco Gerards <marco@gnu.org>
36113
36114 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36115 grub_ata_pio_write once for every single sector, instead of for
36116 multiple sectors.
36117
ca25d8f0 361182007-10-31 Robert Millan <rmh@aybabtu.com>
36119
36120 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36121
36122 * conf/i386-linuxbios.rmk: New file.
36123
36124 * kern/i386/pc/hardware.c: Likewise.
36125 * term/i386/pc/at_keyboard.c: Likewise.
36126 * term/i386/pc/vga_text.c: Likewise.
36127
36128 * include/grub/i386/linuxbios/boot.h: Likewise.
36129 * include/grub/i386/linuxbios/console.h: Likewise.
36130 * include/grub/i386/linuxbios/init.h: Likewise.
36131 * include/grub/i386/linuxbios/kernel.h: Likewise.
36132 * include/grub/i386/linuxbios/loader.h: Likewise.
36133 * include/grub/i386/linuxbios/memory.h: Likewise.
36134 * include/grub/i386/linuxbios/serial.h: Likewise.
36135 * include/grub/i386/linuxbios/time.h: Likewise.
36136
36137 * kern/i386/linuxbios/init.c: Likewise.
36138 * kern/i386/linuxbios/startup.S: Likewise.
36139 * kern/i386/linuxbios/table.c: Likewise.
36140
e911ecc1 361412007-10-31 Marco Gerards <marco@gnu.org>
36142
36143 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36144 (ata_mod_SOURCES): New variable.
36145 (ata_mod_CFLAGS): Likewise.
36146 (ata_mod_LDFLAGS): Likewise.
36147
36148 * disk/ata.c: New file.
36149
36150 * include/grub/disk.h (grub_disk_dev_id): Add
36151 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36152
7f66d0e0 361532007-10-31 Robert Millan <rmh@aybabtu.com>
36154
36155 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36156 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36157
36158 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36159 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36160
36161 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36162 `<grub/types.h>'.
36163
36164 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36165
5cd7dd46 361662007-10-27 Robert Millan <rmh@aybabtu.com>
36167
3236ca65 36168 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36169
2ebfc90f 361702007-10-22 Robert Millan <rmh@aybabtu.com>
36171
36172 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36173 `"../realmode.S"'.
36174 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36175
73fcb0f3 361762007-10-22 Robert Millan <rmh@aybabtu.com>
36177
36178 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36179 (pkgdata_MODULES): Add `biosdisk.mod'.
36180 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36181 variables.
36182
36183 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36184 (grub_biosdisk_init): Replace with ...
36185 (GRUB_MOD_INIT(biosdisk)): ... this.
36186 (grub_biosdisk_fini): Replace with ...
36187 (GRUB_MOD_FINI(biosdisk)): ... this.
36188
36189 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36190 (grub_machine_init): Remove call to grub_biosdisk_init().
36191 (grub_machine_fini): Remove call to grub_machine_fini().
36192
36193 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36194
3381d274 361952007-10-22 Robert Millan <rmh@aybabtu.com>
36196
36197 * include/grub/time.h: New file.
36198 * include/grub/i386/time.h: Likewise.
36199 * include/grub/powerpc/time.h: Likewise.
36200 * include/grub/sparc64/time.h: Likewise.
36201
36202 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36203 instances to ...
36204 (KERNEL_MACHINE_TIME_HEADER): ... this.
36205 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36206 instances to ...
36207 (KERNEL_MACHINE_TIME_HEADER): ... this.
36208 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36209 instances to ...
36210 (KERNEL_MACHINE_TIME_HEADER): ... this.
36211
36212 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36213 (grub_millisleep): New function.
36214 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36215 (grub_millisleep): New function.
36216 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36217 Remove `grub/machine/time.h' include.
36218 (grub_millisleep): New function.
36219 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36220 Remove `grub/machine/time.h' include.
36221 (grub_millisleep): New function.
36222
36223 * include/grub/misc.h (grub_div_roundup): New function.
36224
36225 * kern/misc.c: Include `<grub/time.h>'.
36226 (grub_millisleep_generic): New function.
36227
36228 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36229 Add `time.h'.
36230 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36231 Add `time.h'.
36232 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36233 `machine/time.h'. Add `time.h'.
36234 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36235
a39a0312 362362007-10-21 Robert Millan <rmh@aybabtu.com>
36237
36238 * include/grub/misc.h (grub_max): New function.
36239
2aad70e2 362402007-10-21 Robert Millan <rmh@aybabtu.com>
36241
36242 * util/misc.c (grub_util_info): Call fflush() before returning.
36243
54b71c4b 362442007-10-20 Robert Millan <rmh@aybabtu.com>
36245
36246 * genmk.rb (Image): Copy `extra_flags' from here ...
36247 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36248
36249 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36250 to `argc' and `args' arguments.
36251
a979f513 362522007-10-17 Robert Millan <rmh@aybabtu.com>
36253
36254 * kern/i386/loader.S: New file.
36255
36256 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36257 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36258 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36259 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36260 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36261 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36262 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36263 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36264 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36265 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36266 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36267 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36268 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36269 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36270
36271 * kern/i386/realmode.S: New file.
36272
36273 * kern/i386/pc/startup.S (protstack): Moved from here ...
36274 * kern/i386/realmode.S (protstack)... to here.
36275 * kern/i386/pc/startup.S (gdt): Moved from here ...
36276 * kern/i386/realmode.S (gdt)... to here.
36277 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36278 * kern/i386/realmode.S (prot_to_real)... to here.
36279
36280 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36281 `kern/i386/realmode.S'.
36282
825fc8fd 362832007-10-17 Robert Millan <rmh@aybabtu.com>
36284
36285 * include/grub/i386/loader.h: New file.
36286
36287 * include/grub/i386/pc/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): Moved from here ...
36292 * include/grub/i386/loader.h (grub_linux_prot_size)
36293 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36294 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36295 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36296 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36297
36298 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36299
e179b2f4 363002007-10-15 Robert Millan <rmh@aybabtu.com>
36301
36302 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36303 filesystem when dev->disk is unset.
36304 Do probe for filesystem even when dev->disk->has_partitions is set.
36305 In case a filesystem is found, always report it.
36306 In case it isn't, if dev->disk->has_partitions is set, report that
36307 a partition table was found instead of reporting that no filesystem
36308 could be identified.
36309
5db82af6 363102007-10-12 Robert Millan <rmh@aybabtu.com>
36311
36312 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36313 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36314
68f6ac74 36315 * include/grub/types.h (grub_host_to_target16): New macro.
36316 (grub_host_to_target32): Likewise.
36317 (grub_host_to_target64): Likewise.
36318 (grub_target_to_host16): Likewise.
36319 (grub_target_to_host32): Likewise.
36320 (grub_target_to_host64): Likewise.
5db82af6 36321
36322 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36323 Renamed from to ...
36324 (GRUB_MOD_ALIGN): ...this. Update all users.
36325
68f6ac74 36326 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36327 grub_host_to_target32.
36328 Replace grub_be_to_cpu32 with grub_target_to_host32.
36329 (load_modules): Likewise.
36330 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36331 Replace grub_be_to_cpu32 with grub_target_to_host32.
36332 Replace grub_cpu_to_be16 with grub_host_to_target16.
36333 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36334
3cf497cc 363352007-10-12 Robert Millan <rmh@aybabtu.com>
36336
36337 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36338 * util/elf/grub-mkimage.c: ... here.
36339
36340 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36341 `util/powerpc/ieee1275/grub-mkimage.c'.
36342
c8cc3692 363432007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36344
c8cc3692 36345 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36346 and make it easier to figure out.
36347 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36348 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36349 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36350 leave us with less than HEAP_MIN_SIZE total heap.
36351 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36352
5c58b791 363532007-10-03 Robert Millan <rmh@aybabtu.com>
36354
36355 * include/grub/i386/io.h: New file.
36356 * commands/i386/pc/play.c (inb): Removed.
36357 (outb): Removed.
36358 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36359 with grub_outb().
afcd2ef8 36360 * term/i386/pc/serial.c (inb): Removed.
36361 (outb): Removed.
36362 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36363 with grub_outb().
36364 * term/i386/pc/vga.c (inb): Removed.
36365 (outb): Removed.
36366 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36367 with grub_outb().
5c58b791 36368
1a477ed6 363692007-10-02 Robert Millan <rmh@aybabtu.com>
36370
36371 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36373 Reported by Marcin Kurek.
36374
6b5d80fa 363752007-09-07 Robert Millan <rmh@aybabtu.com>
36376
36377 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36378 SmartFirmware version updates (as released by Sven Luther), and avoid
36379 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36380 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36381 known broken.
36382
5618afbf 363832007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36384
36385 From Hitoshi Ozeki:
36386 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36387 when merging two regions.
36388
6139dcd9 363892007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36390
508e39ee 36391 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36392 * normal/completion.c (grub_normal_do_completion): Likewise.
36393 Reported by Hitoshi Ozeki.
36394
363952007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36396
6139dcd9 36397 Do not use devices at boot in chainloading.
f19dbdb7 36398
6139dcd9 36399 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36400 (boot_part_addr): Likewise.
36401 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36402 with BOOT_DRIVE and BOOT_PART_ADDR.
36403 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36404 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36405
38da6516 364062007-08-29 Robert Millan <rmh@aybabtu.com>
36407
36408 Patch from Simon Peter <dn.tlp@gmx.net>:
36409 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36410 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36411 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36412 util/i386/pc/grub-setup.c_DEPENDENCIES.
36413 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36414 util/grub-probe.c_DEPENDENCIES.
36415 * conf/powerpc-ieee1275.rmk: Likewise.
36416
29d0928c 364172007-08-28 Robert Millan <rmh@aybabtu.com>
36418
36419 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36420 to tell grub-mkdevicemap how to name devices.
36421 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36422 feature).
36423
36424 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36425 util/i386/get_disk_name.c.
36426 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36427 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36428 util/ieee1275/get_disk_name.c.
36429
36430 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36431
36432 * DISTLIST: Add util/i386/get_disk_name.c and
36433 util/ieee1275/get_disk_name.c.
36434
36435 * util/grub-mkdevicemap.c: Replace device naming logic with
36436 grub_util_get_disk_name() calls.
36437
5a0d3cca 364382007-08-20 Robert Millan <rmh@aybabtu.com>
36439
36440 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36441 (so that it works for both plural and singular quantities).
36442
8b72db2f 364432007-08-05 Robert Millan <rmh@aybabtu.com>
36444
36445 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36446 so that [xz] isn't taken into account when determining order.
36447
352466bf 364482007-08-02 Marco Gerards <marco@gnu.org>
36449
36450 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36451 `include/multiboot2.h', `include/grub/elfload.h',
36452 `include/multiboot.h', `include/grub/multiboot.h',
36453 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36454 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36455 `kern/elf.c', `loader/multiboot_loader.c',
36456 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36457 `loader/i386/pc/multiboot2.c',
36458 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36459 `util/i386/pc/grub-mkrescue.in'. Remove
36460 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36461 `include/grub/i386/pc/util/biosdisk.h' and
36462 `include/grub/powerpc/ieee1275/multiboot.h'.
36463
8f096014 364642007-08-02 Bean <bean123ch@gmail.com>
36465
36466 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36467 (ntfs_mod_SOURCES): New variable.
36468 (ntfs_mod_CFLAGS): Likewise.
36469 (ntfs_mod_LDFLAGS): Likewise.
36470
36471 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36472 (grub_probe_SOURCES): Likewise.
36473 (grub_emu_SOURCES): Likewise.
36474
36475 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36476 (grub_emu_SOURCES): Likewise.
36477
36478 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36479 (grub_emu_SOURCES): Likewise.
f19dbdb7 36480
8f096014 36481 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36482
36483 * fs/ntfs.c: New file.
36484
9959f7db 364852007-08-02 Bean <bean123ch@gmail.com>
36486
36487 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36488
36489 * file.h (grub_file): Likewise.
36490
36491 * fshelp.h (grub_fshelp_read_file): Likewise.
36492
36493 * util/i386/pc/grub-setup.c (setup): Likewise.
36494 (save_first_sector): Likewise.
36495 (save_blocklists): Likewise.
f19dbdb7 36496
9959f7db 36497 * fs/affs.c (grub_affs_read_file): Likewise.
36498
36499 * fs/ext2.c (grub_ext2_read_file): Likewise.
36500
36501 * fs/fat.c (grub_fat_read_data): Likewise.
36502
36503 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36504
36505 * fs/hfs.c (grub_hfs_read_file): Likewise.
36506
36507 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36508
36509 * fs/jfs.c (grub_jfs_read_file): Likewise.
36510
36511 * fs/minix.c (grub_minix_read_file): Likewise.
36512
36513 * fs/sfs.c (grub_sfs_read_file): Likewise.
36514
36515 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36516
9959f7db 36517 * fs/xfs.c (grub_xfs_read_file): Likewise.
36518
36519 * command/blocklist.c (read_blocklist): Likewise.
36520 (print_blocklist): Likewise.
36521
0a203f83 365222007-08-02 Marco Gerards <marco@gnu.org>
36523
36524 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36525 `util/hostfs.c'.
36526
36527 * disk/host.c: New file.
36528
36529 * util/hostfs.c: Likewise.
36530
36531 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36532 return `GRUB_ERR_BAD_FS'.
36533 * fs/sfs.c (grub_sfs_mount): Likewise.
36534 * fs/xfs.c (grub_xfs_mount): Likewise.
36535
36536 * include/grub/disk.h (enum grub_disk_dev_id): Add
36537 `GRUB_DISK_DEVICE_HOST_ID'.
36538
36539 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36540
e5dfe777 365412007-07-24 Jerone Young <jerone@gmail.com>
36542
f19dbdb7 36543 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36544 modules for compilation.
36545 * conf/powerpc-ieee1275.rmk: Likewise.
36546
36547 * include/multiboot.h: Move multiboot definitions to one file. Rename
36548 many definitions to not get grub specific.
36549 * include/multiboot2.h: Create header with multiboot 2 definitions.
36550 * include/grub/multiboot.h: Header for grub specific function
36551 prototypes and definitions.
36552 * include/grub/multiboot2.h: Likewise.
36553 * include/grub/multiboot_loader.h: Likewise.
36554 * include/grub/i386/pc/multiboot.h: Removed.
36555 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36556
36557 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36558 and 2 to allow for one multiboot and module commands.
36559 * loader/multiboot2.c: Add multiboot2 functionality.
36560 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36561 and definition names.
36562 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36563 2 functions.
36564 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36565 ieee1275 specific multiboot2 code.
36566
36567 * kern/i386/pc/startup.S: Change headers and definition names for
36568 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36569
daf0f0ba 365702007-07-22 Robert Millan <rmh@aybabtu.com>
36571
36572 * geninitheader.sh: Process file specified in first parameter rather
36573 than hardcoding grub_modules_init.lst.
fe6b695a 36574 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36575 than hardcoding grub_modules_init.h.
36576
36577 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36578 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36579 grub_probe_init.[ch] and grub_setup_init.[ch].
36580
36581 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36582 grub_modules_init.h with grub_emu_init.h.
36583 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36584 grub_probe_init.[ch] files.
36585 * conf/i386-efi.rmk: Likewise.
36586 * conf/i386-pc.rmk: Likewise.
36587 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36588 grub_setup_init.[ch] files.
36589
36590 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36591 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36592 to initialize modules rather than a list of hardcoded functions.
36593 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36594 grub_init_all() to initialize modules rather than a list of hardcoded
36595 functions.
36596
54cdc1cc 365972007-07-22 Robert Millan <rmh@aybabtu.com>
36598
36599 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36600 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36601
ad0686cc 366022007-07-22 Robert Millan <rmh@aybabtu.com>
36603
36604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36605 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36606 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36607 flag when running on SmartFirmware.
36608 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36609 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36610 was set.
36611
36612 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36613 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36614 rather than decreasing it.
36615
36616 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36617 there's not enough space to do it, fail in the same way as when it
36618 can't be done because there are no partitions.
36619
36620 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36621 when nvsetenv failed.
36622
969c02ec 366232007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36624
36625 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36626 because this rule is automatically generated.
36627 (grub-mkrescue): Removed for the same reason as above.
36628
5a79f472 366292007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36630
36631 Migrate to GNU General Public License Version 3.
f19dbdb7 36632
5a79f472 36633 * COPYING: Replaced with the plain text version of GPLv3.
36634
36635 * config.guess: Updated from gnulib.
36636 * config.sub: Likewise.
36637
36638 * geninit.sh: Output a GPLv3 copyright notice.
36639 * geninitheader.sh: Likewise.
36640 * genmodsrc.sh: Likewise.
36641 * gensymlist.sh.in: Likewise.
36642
36643 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36644 * boot/i386/pc/diskboot.S: Likewise.
36645 * boot/i386/pc/pxeboot.S: Likewise.
36646 * commands/blocklist.c: Likewise.
36647 * commands/boot.c: Likewise.
36648 * commands/cat.c: Likewise.
36649 * commands/cmp.c: Likewise.
36650 * commands/configfile.c: Likewise.
36651 * commands/echo.c: Likewise.
36652 * commands/help.c: Likewise.
36653 * commands/ls.c: Likewise.
36654 * commands/search.c: Likewise.
36655 * commands/terminal.c: Likewise.
36656 * commands/test.c: Likewise.
36657 * commands/videotest.c: Likewise.
36658 * commands/i386/cpuid.c: Likewise.
36659 * commands/i386/pc/halt.c: Likewise.
36660 * commands/i386/pc/play.c: Likewise.
36661 * commands/i386/pc/reboot.c: Likewise.
36662 * commands/i386/pc/vbeinfo.c: Likewise.
36663 * commands/i386/pc/vbetest.c: Likewise.
36664 * commands/ieee1275/halt.c: Likewise.
36665 * commands/ieee1275/reboot.c: Likewise.
36666 * commands/ieee1275/suspend.c: Likewise.
36667 * disk/loopback.c: Likewise.
36668 * disk/lvm.c: Likewise.
36669 * disk/raid.c: Likewise.
36670 * disk/efi/efidisk.c: Likewise.
36671 * disk/i386/pc/biosdisk.c: Likewise.
36672 * disk/ieee1275/ofdisk.c: Likewise.
36673 * font/manager.c: Likewise.
36674 * fs/affs.c: Likewise.
36675 * fs/ext2.c: Likewise.
36676 * fs/fat.c: Likewise.
36677 * fs/fshelp.c: Likewise.
36678 * fs/hfs.c: Likewise.
36679 * fs/hfsplus.c: Likewise.
36680 * fs/iso9660.c: Likewise.
36681 * fs/jfs.c: Likewise.
36682 * fs/minix.c: Likewise.
36683 * fs/sfs.c: Likewise.
36684 * fs/ufs.c: Likewise.
36685 * fs/xfs.c: Likewise.
36686 * hello/hello.c: Likewise.
36687 * include/grub/acorn_filecore.h: Likewise.
36688 * include/grub/arg.h: Likewise.
36689 * include/grub/bitmap.h: Likewise.
36690 * include/grub/boot.h: Likewise.
36691 * include/grub/cache.h: Likewise.
36692 * include/grub/device.h: Likewise.
36693 * include/grub/disk.h: Likewise.
36694 * include/grub/dl.h: Likewise.
36695 * include/grub/elfload.h: Likewise.
36696 * include/grub/env.h: Likewise.
36697 * include/grub/err.h: Likewise.
36698 * include/grub/file.h: Likewise.
36699 * include/grub/font.h: Likewise.
36700 * include/grub/fs.h: Likewise.
36701 * include/grub/fshelp.h: Likewise.
36702 * include/grub/gzio.h: Likewise.
36703 * include/grub/hfs.h: Likewise.
36704 * include/grub/kernel.h: Likewise.
36705 * include/grub/loader.h: Likewise.
36706 * include/grub/lvm.h: Likewise.
36707 * include/grub/misc.h: Likewise.
36708 * include/grub/mm.h: Likewise.
36709 * include/grub/net.h: Likewise.
36710 * include/grub/normal.h: Likewise.
36711 * include/grub/parser.h: Likewise.
36712 * include/grub/partition.h: Likewise.
36713 * include/grub/pc_partition.h: Likewise.
36714 * include/grub/raid.h: Likewise.
36715 * include/grub/rescue.h: Likewise.
36716 * include/grub/script.h: Likewise.
36717 * include/grub/setjmp.h: Likewise.
36718 * include/grub/symbol.h: Likewise.
36719 * include/grub/term.h: Likewise.
36720 * include/grub/terminfo.h: Likewise.
36721 * include/grub/tparm.h: Likewise.
36722 * include/grub/types.h: Likewise.
36723 * include/grub/video.h: Likewise.
36724 * include/grub/efi/api.h: Likewise.
36725 * include/grub/efi/chainloader.h: Likewise.
36726 * include/grub/efi/console.h: Likewise.
36727 * include/grub/efi/console_control.h: Likewise.
36728 * include/grub/efi/disk.h: Likewise.
36729 * include/grub/efi/efi.h: Likewise.
36730 * include/grub/efi/pe32.h: Likewise.
36731 * include/grub/efi/time.h: Likewise.
36732 * include/grub/i386/linux.h: Likewise.
36733 * include/grub/i386/setjmp.h: Likewise.
36734 * include/grub/i386/types.h: Likewise.
36735 * include/grub/i386/efi/kernel.h: Likewise.
36736 * include/grub/i386/efi/loader.h: Likewise.
36737 * include/grub/i386/efi/time.h: Likewise.
36738 * include/grub/i386/pc/biosdisk.h: Likewise.
36739 * include/grub/i386/pc/boot.h: Likewise.
36740 * include/grub/i386/pc/chainloader.h: Likewise.
36741 * include/grub/i386/pc/console.h: Likewise.
36742 * include/grub/i386/pc/init.h: Likewise.
36743 * include/grub/i386/pc/kernel.h: Likewise.
36744 * include/grub/i386/pc/loader.h: Likewise.
36745 * include/grub/i386/pc/memory.h: Likewise.
36746 * include/grub/i386/pc/multiboot.h: Likewise.
36747 * include/grub/i386/pc/serial.h: Likewise.
36748 * include/grub/i386/pc/time.h: Likewise.
36749 * include/grub/i386/pc/vbe.h: Likewise.
36750 * include/grub/i386/pc/vbeblit.h: Likewise.
36751 * include/grub/i386/pc/vbefill.h: Likewise.
36752 * include/grub/i386/pc/vbeutil.h: Likewise.
36753 * include/grub/i386/pc/vga.h: Likewise.
36754 * include/grub/ieee1275/ieee1275.h: Likewise.
36755 * include/grub/ieee1275/ofdisk.h: Likewise.
36756 * include/grub/powerpc/libgcc.h: Likewise.
36757 * include/grub/powerpc/setjmp.h: Likewise.
36758 * include/grub/powerpc/types.h: Likewise.
36759 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36760 * include/grub/powerpc/ieee1275/console.h: Likewise.
36761 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36762 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36763 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36764 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36765 * include/grub/powerpc/ieee1275/time.h: Likewise.
36766 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36767 * include/grub/sparc64/libgcc.h: Likewise.
36768 * include/grub/sparc64/setjmp.h: Likewise.
36769 * include/grub/sparc64/types.h: Likewise.
36770 * include/grub/sparc64/ieee1275/console.h: Likewise.
36771 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36772 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36773 * include/grub/sparc64/ieee1275/time.h: Likewise.
36774 * include/grub/util/biosdisk.h: Likewise.
36775 * include/grub/util/getroot.h: Likewise.
36776 * include/grub/util/lvm.h: Likewise.
36777 * include/grub/util/misc.h: Likewise.
36778 * include/grub/util/raid.h: Likewise.
36779 * include/grub/util/resolve.h: Likewise.
36780 * io/gzio.c: Likewise.
36781 * kern/device.c: Likewise.
36782 * kern/disk.c: Likewise.
36783 * kern/dl.c: Likewise.
36784 * kern/elf.c: Likewise.
36785 * kern/env.c: Likewise.
36786 * kern/err.c: Likewise.
36787 * kern/file.c: Likewise.
36788 * kern/fs.c: Likewise.
36789 * kern/loader.c: Likewise.
36790 * kern/main.c: Likewise.
36791 * kern/misc.c: Likewise.
36792 * kern/mm.c: Likewise.
36793 * kern/parser.c: Likewise.
36794 * kern/partition.c: Likewise.
36795 * kern/rescue.c: Likewise.
36796 * kern/term.c: Likewise.
36797 * kern/efi/efi.c: Likewise.
36798 * kern/efi/init.c: Likewise.
36799 * kern/efi/mm.c: Likewise.
36800 * kern/i386/dl.c: Likewise.
36801 * kern/i386/efi/init.c: Likewise.
36802 * kern/i386/efi/startup.S: Likewise.
36803 * kern/i386/pc/init.c: Likewise.
36804 * kern/i386/pc/lzo1x.S: Likewise.
36805 * kern/i386/pc/startup.S: Likewise.
36806 * kern/ieee1275/ieee1275.c: Likewise.
36807 * kern/powerpc/cache.S: Likewise.
36808 * kern/powerpc/dl.c: Likewise.
36809 * kern/powerpc/ieee1275/cmain.c: Likewise.
36810 * kern/powerpc/ieee1275/crt0.S: Likewise.
36811 * kern/powerpc/ieee1275/init.c: Likewise.
36812 * kern/powerpc/ieee1275/openfw.c: Likewise.
36813 * kern/sparc64/cache.S: Likewise.
36814 * kern/sparc64/dl.c: Likewise.
36815 * kern/sparc64/ieee1275/init.c: Likewise.
36816 * kern/sparc64/ieee1275/openfw.c: Likewise.
36817 * loader/efi/chainloader.c: Likewise.
36818 * loader/efi/chainloader_normal.c: Likewise.
36819 * loader/i386/efi/linux.c: Likewise.
36820 * loader/i386/efi/linux_normal.c: Likewise.
36821 * loader/i386/pc/chainloader.c: Likewise.
36822 * loader/i386/pc/chainloader_normal.c: Likewise.
36823 * loader/i386/pc/linux.c: Likewise.
36824 * loader/i386/pc/linux_normal.c: Likewise.
36825 * loader/i386/pc/multiboot.c: Likewise.
36826 * loader/i386/pc/multiboot_normal.c: Likewise.
36827 * loader/powerpc/ieee1275/linux.c: Likewise.
36828 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36829 * normal/arg.c: Likewise.
36830 * normal/cmdline.c: Likewise.
36831 * normal/command.c: Likewise.
36832 * normal/completion.c: Likewise.
36833 * normal/execute.c: Likewise.
36834 * normal/function.c: Likewise.
36835 * normal/lexer.c: Likewise.
36836 * normal/main.c: Likewise.
36837 * normal/menu.c: Likewise.
36838 * normal/menu_entry.c: Likewise.
36839 * normal/misc.c: Likewise.
36840 * normal/parser.y: Likewise.
36841 * normal/script.c: Likewise.
36842 * normal/i386/setjmp.S: Likewise.
36843 * normal/powerpc/setjmp.S: Likewise.
36844 * normal/sparc64/setjmp.S: Likewise.
36845 * partmap/acorn.c: Likewise.
36846 * partmap/amiga.c: Likewise.
36847 * partmap/apple.c: Likewise.
36848 * partmap/gpt.c: Likewise.
36849 * partmap/pc.c: Likewise.
36850 * partmap/sun.c: Likewise.
36851 * term/gfxterm.c: Likewise.
36852 * term/terminfo.c: Likewise.
36853 * term/efi/console.c: Likewise.
36854 * term/i386/pc/console.c: Likewise.
36855 * term/i386/pc/serial.c: Likewise.
36856 * term/i386/pc/vesafb.c: Likewise.
36857 * term/i386/pc/vga.c: Likewise.
36858 * term/ieee1275/ofconsole.c: Likewise.
36859 * util/biosdisk.c: Likewise.
36860 * util/console.c: Likewise.
36861 * util/genmoddep.c: Likewise.
36862 * util/getroot.c: Likewise.
36863 * util/grub-emu.c: Likewise.
36864 * util/grub-mkdevicemap.c: Likewise.
36865 * util/grub-probe.c: Likewise.
36866 * util/lvm.c: Likewise.
36867 * util/misc.c: Likewise.
36868 * util/raid.c: Likewise.
36869 * util/resolve.c: Likewise.
36870 * util/update-grub.in: Likewise.
36871 * util/update-grub_lib.in: Likewise.
36872 * util/grub.d/00_header.in: Likewise.
36873 * util/grub.d/10_hurd.in: Likewise.
36874 * util/grub.d/10_linux.in: Likewise.
36875 * util/i386/efi/grub-install.in: Likewise.
36876 * util/i386/efi/grub-mkimage.c: Likewise.
36877 * util/i386/pc/grub-install.in: Likewise.
36878 * util/i386/pc/grub-mkimage.c: Likewise.
36879 * util/i386/pc/grub-mkrescue.in: Likewise.
36880 * util/i386/pc/grub-setup.c: Likewise.
36881 * util/i386/pc/misc.c: Likewise.
36882 * util/powerpc/ieee1275/grub-install.in: Likewise.
36883 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36884 * util/powerpc/ieee1275/misc.c: Likewise.
36885 * video/bitmap.c: Likewise.
36886 * video/video.c: Likewise.
36887 * video/i386/pc/vbe.c: Likewise.
36888 * video/i386/pc/vbeblit.c: Likewise.
36889 * video/i386/pc/vbefill.c: Likewise.
36890 * video/i386/pc/vbeutil.c: Likewise.
36891 * video/readers/tga.c: Likewise.
36892
3572d015 368932007-07-02 Robert Millan <rmh@aybabtu.com>
36894
36895 * conf/i386-efi.rmk: Replace obsolete reference to
36896 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36897 with util/getroot.c.
36898 * conf/powerpc-ieee1275.rmk: Likewise.
36899 * conf/sparc64-ieee1275.rmk: Likewise.
36900
36901 * util/grub-emu.c (main): Fix unchecked pointer handling.
36902
2c2a681b 369032007-07-02 Robert Millan <rmh@aybabtu.com>
36904
36905 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36906 invocation to fail, in order to support partition-less media.
36907
36908 * util/i386/pc/grub-install.in: Likewise.
36909
36910 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36911 which fs or partmap modules are needed (akin to its sister scripts).
36912
36913 Also use grub-probe to get rid of unportable /proc/mounts check.
36914
36915 Print the same informational message that the other scripts do, before
fe6b695a 36916 exiting.
2c2a681b 36917
6193defe 369182007-06-23 Robert Millan <rmh@aybabtu.com>
36919
fe6b695a 36920 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36921 a font file can be found and, if so, echo the GRUB path to it.
36922
36923 * util/update-grub.in: Handle multiple terminals depending on user
36924 input, platform availability and font file presence. Propagate
36925 variables of our findings to /etc/grub.d/ children.
36926
36927 * util/grub.d/00_header.in: Handle multiple terminals, based on
36928 environment setup by update-grub.
36929
eface1dc 369302007-06-23 Robert Millan <rmh@aybabtu.com>
36931
ba50d28f 36932 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36933
bf697e28 369342007-06-21 Robert Millan <rmh@aybabtu.com>
36935
36936 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36937 indicate end of data section in kernel image.
36938 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36939 GRUB_KERNEL_MACHINE_DATA_END.
36940
36941 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36942 space for it.
36943 * kern/i386/efi/startup.S: Likewise.
36944
36945 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36946 during image generation. Implement --prefix option to override this
36947 patch.
36948 * util/i386/efi/grub-mkimage.c: Likewise.
36949
36950 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36951 code to make path relative to its root into a separate function.
36952
36953 * util/i386/pc/grub-install.in: Use newly provided
36954 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36955 pass the result to grub-install --prefix.
36956
baa574b4 369572007-06-13 Robert Millan <rmh@aybabtu.com>
36958
36959 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36960 DEFAULT_DEVICE_MAP.
36961 * util/grub-emu.c: Use above definitions from misc.h instead of
36962 defining them.
36963 * util/grub-mkdevicemap.c: Likewise.
36964 * util/i386/pc/grub-setup.c: Likewise.
36965 * util/grub-probe.c: Likewise.
36966 (probe): Abort with grub_util_error() when either
36967 grub_guess_root_device or grub_util_get_grub_dev fails.
36968
0215dcbf 369692007-06-12 Robert Millan <rmh@aybabtu.com>
36970
36971 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36972 "pager" assignment.
36973 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36974 "pcdata".
36975 * util/grub-probe.c (probe): Likewise for "drive_name".
36976
8af2ab7b 369772007-06-11 Robert Millan <rmh@aybabtu.com>
36978
36979 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36980 not just the cdrom one.
36981
59d31694 369822007-06-11 Robert Millan <rmh@aybabtu.com>
36983
36984 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36985 Add --pkglibdir=DIR option to override pkglibdir.
36986 Mention --image-type=TYPE in help output.
36987 Fix --grub-mkimage (it was a no-op).
fe6b695a 36988 Abort gracefully when no parameter is given.
59d31694 36989
7ee367e4 369902007-06-11 Robert Millan <rmh@aybabtu.com>
36991
36992 * util/i386/pc/grub-mkrescue.in: New file.
36993 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36994 * Makefile.in: Handle bin_SCRIPTS.
36995
29b0ed46 369962007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36997
36998 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36999 list of video modes.
37000
c0f90770 370012007-06-06 Robert Millan <rmh@aybabtu.com>
37002
37003 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37004 file doesn't exist, or if it is in a filesystem grub can't read.
37005
37006 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37007 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37008 header comment to fit in 80 columns when the variables are resolved.
37009
37010 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37011 could be identified by update-grub. Remove redundant check for
fe6b695a 37012 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37013 handles that).
37014
fb36dc26 370152007-06-04 Robert Millan <rmh@aybabtu.com>
37016
37017 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37018
37019 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37020
37021 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37022
0c68c93e 370232007-06-04 Robert Millan <rmh@aybabtu.com>
37024
37025 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37026
37027 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37028 grub_apple_partition_map_fini.
37029
37030 * util/biosdisk.c
37031 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37032 to access >2 TiB disks).
37033
37034 Print disk->total_sectors with %llu instead of %lu, since this
37035 variable is always 64-bit (prevents wrong disk size from being displayed
37036 on either >2 TiB disk or big-endian CPU).
37037
37038 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37039 into a generic case that supports all (sane) partition maps.
37040
37041 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37042 breaks big-endian.
37043
37044 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37045 and grub_apple_partition_map_fini() after that.
37046
0f23eb74 370472007-06-01 Robert Millan <rmh@aybabtu.com>
37048
37049 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37050
37051 * util/grub.d/00_header.in: Only enable gfxterm when
37052 convert_system_path_to_grub_path() succeeds.
37053
42c71976 370542007-05-20 Robert Millan <rmh@aybabtu.com>
37055
37056 * util/update-grub_lib.in: New file.
37057 * DISTLIST: Add update-grub_lib.in.
37058 * conf/common.rmk: Generate update-grub_lib and install it in
37059 $(lib_DATA).
37060 * Makefile.in: Add install routine for $(lib_DATA).
37061
37062 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37063 function provided by update-grub_lib to support arbitrary paths of
37064 unifont.pff.
37065 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37066 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37067
5beb2291 370682007-05-19 Robert Millan <rmh@aybabtu.com>
37069
37070 * commands/i386/cpuid.c: New module.
37071 * DISTLIST: Add it.
37072 * conf/i386-efi.rmk: Enable cpuid.mod.
37073 * conf/i386-pc.rmk: Likewise.
37074
7262eca1 370752007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37076
37077 * kern/disk.c (grub_disk_read): Check return value of
37078 grub_realloc().
37079
260ba823 370802007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37081
37082 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37083 arrays.
37084 * disk/raid.c (grub_raid_open): Likewise.
37085
1ecb6cf2 370862007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37087
37088 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37089 stack instead of on the heap.
37090
37091 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37092 before doing a read on it.
37093
37094 * configure.ac: Only use -fno-stack-protector for the target
37095 environment.
f19dbdb7 37096
21c8cbb1 370972007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37098
37099 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37100 __attribute_ ((unused)) to mode_type argument.
37101
37102 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37103
21c8cbb1 37104 * kern/misc.c (memcmp): Fix prototype.
37105
37106 * include/grub/partition.h [GRUB_UTIL]
37107 (grub_gpt_partition_map_init): Add prototype.
37108 (grub_gpt_partition_map_fini): Likewise.
37109
37110 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37111 at the right place.
37112
37113 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37114 (grub_fat_read_data): Likewise.
37115 (grub_fat_find_dir): Likewise.
37116
37117 * font/manager.c (find_glyph): Make table a const.
37118 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37119
849d55d3 371202007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37121
37122 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37123 code, first search for device in /dev/mapper, then in /dev.
37124 (grub_util_get_grub_dev): New function.
37125 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37126 prototype.
37127 * util/grub-probe.c (probe): Remove check for RAID, call
37128 grub_util_get_grub_dev() instead of
37129 grub_util_biosdisk_get_grub_dev().
37130 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37131 grub_util_biosdisk_get_grub_dev().
37132 * util/i386/pc/grub-setup.c (main): Likewise.
37133
8fff7c2f 371342007-05-16 Robert Millan <rmh@aybabtu.com>
37135
37136 * DISTLIST: Update for the latest changes.
37137 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37138 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37139 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37140 grub/util/biosdisk.h.
37141 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37142 grub/util/biosdisk.h.
37143
48e12b52 371442007-05-16 Robert Millan <rmh@aybabtu.com>
37145
37146 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37147
46b9d128 371482007-05-16 Robert Millan <rmh@aybabtu.com>
37149
37150 * util/i386/efi/grub-install.in: New.
37151 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37152 newly added grub-install.
37153 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37154 include.
37155 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37156 grub/util/biosdisk.h.
37157 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37158 grub/util/biosdisk.h.
37159
2d1a40a9 371602007-05-16 Robert Millan <rmh@aybabtu.com>
37161
37162 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37163 * include/grub/util/biosdisk.h: ... here.
37164 * util/i386/pc/biosdisk.c: Moved to ...
37165 * util/biosdisk.c: ... here.
37166 * util/i386/pc/getroot.c: Moved to ...
37167 * util/getroot.c: ... here.
37168 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37169 * util/grub-mkdevicemap.c: ... here.
37170 * util/i386/pc/grub-probe.c: Moved to ...
37171 * util/grub-probe.c: ... here.
37172
9e26e3bc 371732007-05-15 Robert Millan <rmh@aybabtu.com>
37174
37175 * util/update-grub.in: Remove duplicated line in grub.cfg header
37176 message.
37177
57f96397 371782007-05-13 Robert Millan <rmh@aybabtu.com>
37179
37180 * util/update-grub.in: Fix a few assumptions about the devices holding
37181 /, /boot and /boot/grub being the same.
37182 * util/grub.d/00_header.in: Likewise.
37183 * util/grub.d/10_hurd.in: Likewise.
37184 * util/grub.d/10_linux.in: Likewise.
37185
37186 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37187 patterns. Use that to define the `.old' suffix as older than `'.
37188
37189 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37190
37191 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37192 the grub.cfg header message.
37193
2e610d62 371942007-05-11 Robert Millan <rmh@aybabtu.com>
37195
37196 * util/update-grub.in: Create device.map if it doesn't already exist,
37197 before attempting to run grub-probe.
37198 Check for grub-probe and grub-mkdevicemap with the same code
37199 grub-install is using.
37200 Remove test mode.
37201
3f6a10ef 372022007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37203
37204 * Makefile.in: Add the datarootdir autoconf variable.
37205
02e7b75e 372062007-05-09 Robert Millan <rmh@aybabtu.com>
37207
37208 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37209 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37210
75f396cc 372112007-05-07 Robert Millan <rmh@aybabtu.com>
37212
37213 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37214 determine partition map module.
37215 * util/i386/pc/grub-install.in: Use this feature to decide which
37216 partition module to load, instead of hardcoding pc and gpt.
37217
da65cb36 372182007-05-07 Robert Millan <rmh@aybabtu.com>
37219
37220 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37221 source directory differs from build directory.
37222
b57d6a91 372232007-05-05 Robert Millan <rmh@aybabtu.com>
37224
37225 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37226 initialisation.
37227
509d00f1 372282007-05-05 Robert Millan <rmh@aybabtu.com>
37229
37230 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37231
c48f23ef 372322007-05-05 Robert Millan <rmh@aybabtu.com>
37233
37234 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37235 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37236
20b97658 372372007-05-05 Robert Millan <rmh@aybabtu.com>
37238
37239 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37240 (grub_probe_SOURCES): Likewise.
37241 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37242 GPT and initialize dos_part and bsd_part accordingly.
37243 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37244 install_bsd_part.
37245 (main): Activate gpt module for use during partition identification,
37246 and deactivate it afterwards.
37247 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37248 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37249 partition identification, and deactivate it afterwards.
37250
99123174 372512007-05-05 Robert Millan <rmh@aybabtu.com>
37252
37253 * term/i386/pc/console.c (grub_console_fini): Call
37254 grub_term_set_current() before grub_term_unregister().
37255
ebd97f6e 372562007-05-04 Robert Millan <rmh@aybabtu.com>
37257
37258 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37259 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37260 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37261 and update-grub_DATA.
37262 * conf/common.rmk: Build and install update-grub components.
37263 * conf/common.mk: Regenerate.
37264 * util/update-grub.in: New. Core of update-grub.
37265 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37266 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37267 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37268 * util/grub.d/README: New. Document grub.d directory layout.
37269
b06a264d 372702007-05-01 Robert Millan <rmh@aybabtu.com>
37271
37272 * util/grub-emu.c: Move initialization functions
37273 grub_util_biosdisk_init() and grub_init_all() before
37274 grub_util_biosdisk_get_grub_dev(), which relies on them.
37275
41f0050e 372762007-04-19 Robert Millan <rmh@aybabtu.com>
37277
37278 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37279 it is used later.
37280
04582bb3 372812007-04-18 Jerone Young <jerone@gmail.com>
37282
f19dbdb7 37283 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37284 stanza.
37285
08db4632 372862007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37287
08db4632 37288 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37289 continue on and look for device node with real device name.
37290
801b76be 372912007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37292
fe6b695a 37293 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37294 ability.
37295 * Makefile.in: Add autoconf package transformation code.
37296 * util/i386/pc/grub-install.in: Likewise.
37297 * util/powerpc/ieee1275/grub-install.in: Likewise.
37298
6795c4e1 372992007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37300
37301 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37302 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37303 (EXT2_REVISION): Likewise.
37304 (EXT2_INODE_SIZE): Likewise.
37305 (struct grub_ext2_block_group): Added a missing member
37306 "used_dirs".
37307 (grub_ext2_read_inode): Divide by the inode size in a superblock
37308 instead of 128 to obtain INODES_PER_BLOCK.
37309 Use the macro EXT2_INODE_SIZE instead of directly using
37310 SBLOCK->INODE_SIZE.
37311
d70af616 373122007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37313
37314 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37315 superblock instead of the structure size to compute an
37316 offset. This fixes the problem that GRUB could not read a
37317 filesystem when inode size is different from 128-byte.
37318
3b801603 373192007-03-05 Marco Gerards <marco@gnu.org>
37320
37321 * normal/main.c (read_config_file): When "menu" is not set, create
37322 an initial context.
37323
4785bfe4 373242007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37325
37326 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37327 (HEAP_LIMIT): New macro.
37328 (grub_claim_heap): Claim memory up to `heaplimit'.
37329
a0cbb023 373302007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37331
37332 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37333 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37334 (_start): Likewise.
37335 (grub_arch_modules_addr): Return address after `_end'.
37336 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37337 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37338 (add_segments): Calculate `_end' from phdr size and location.
37339 (ALIGN_UP): Moved to ...
37340 * include/grub/misc.h: here.
37341 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37342 New macro.
37343 (GRUB_IEEE1275_MODULE_BASE): Removed.
37344
fd7d8eba 373452007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37346
37347 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37348 loop boundary.
37349
9b09e6fc 373502007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37351
37352 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37353 All users updated.
37354 (grub_elf64_load_hook_t): Likewise.
37355 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37356 debug output.
37357
3ce27299 373582007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37359
37360 * kern/mm.c: Update copyright.
37361 (grub_mm_debug): Correct syntax error.
37362 (grub_mm_dump_free): New function.
37363 (grub_debug_free): Call `grub_free'.
37364 * include/grub/mm.h: Update copyright.
37365 (grub_mm_dump_free): Add declaration.
37366
077d5fee 373672007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37368
37369 * include/grub/ieee1275/ieee1275.h: Update copyright.
37370 * kern/powerpc/ieee1275/init.c: Likewise.
37371 * kern/powerpc/ieee1275/openfw.c: Likewise.
37372
37373 * loader/powerpc/ieee1275/linux.c: Likewise.
37374 * include/grub/elfload.h: Likewise.
37375 * kern/elf.c: Likewise.
37376 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37377 callers.
37378 (grub_elf64_load): Likewise.
37379 (grub_elf32_load_segment): Move to a nested function.
37380 (grub_elf64_load_segment): Likewise.
37381
dc946850 373822007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37383
37384 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37385 prototype.
37386 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37387 (grub_heap_len): Likewise.
37388 (HEAP_SIZE): New macro.
37389 (grub_claim_heap): New function.
37390 (grub_machine_init): Don't claim heap directly. Call
37391 `grub_claim_heap'.
37392 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37393 (grub_available_iterate): New function.
37394
baa2a121 373952007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37396
37397 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37398 * configure.ac: Use it for testing the HOST and TARGET compilers.
37399
4fe9862e 374002006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37401
37402 * Makefile.in (enable_grub_emu): New variable.
37403 * configure.ac (--enable-grub-emu): New option.
37404 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37405 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37406 * conf/i386-pc.rmk: Likewise.
37407 * conf/powerpc-ieee1275.rmk: Likewise.
37408 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37409
a8aa5762 374102006-12-12 Marco Gerards <marco@gnu.org>
37411
37412 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37413
37414 * kern/env.c (grub_env_unset): Don't free the member `value' when
37415 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37416 pointer.
37417
37418 * normal/main.c (current_menu): Removed.
37419 (free_menu): Unset the `menu' environment variable.
37420 (grub_normal_menu_addentry): Make use of the environment variable
37421 `menu', instead of using the global `current_menu'. Allocate
37422 memory for the sourcecode of this entry.
37423 (read_config_file): New argument `nested', changed all callers.
37424 Only in the case of a new context, initialize a new menu. Set the
37425 `menu' environment variable.
37426 (grub_normal_execute): Don't set and unset the environment
37427 variable `menu' here anymore. Only free the menu when leaving the
37428 context.
37429
37430 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37431 leak.
37432
957b3a3e 374332006-12-11 Marco Gerards <marco@gnu.org>
37434
37435 * normal/menu_entry.c (run): Fix off by one bug so the last line
37436 is executed. Move the loader check to outside the loop.
37437
ef875714 374382006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37439
37440 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37441
4e739985 374422006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37443
37444 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37445 the number of sectors. Reported by Andrey Shuvikov
37446 <mr_hyro@yahoo.com>.
f19dbdb7 37447
790707f2 374482006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37449
37450 * kern/disk.c (grub_disk_read): When there is a read error, always
37451 try to read only the necessary data.
f19dbdb7 37452
790707f2 37453 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37454 disk/raid.c.
37455 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37456 prototype.
37457 [GRUB_UTIL] (grub_raid_fini): Likewise.
37458 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37459 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37460 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37461 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37462 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37463 and grub_raid_fini().
f19dbdb7 37464
03e58196 374652006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37466
37467 * include/grub/types.h (__unused): Rename to UNUSED.
37468 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37469 (grub_elf64_size): Likewise.
f19dbdb7 37470
ae4f23bf 374712006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37472
37473 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37474 grub_error_push and grub_error_pop in the error-handling path.
37475 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37476 length.
37477
2166cc83 374782006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37479
37480 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37481 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37483 (kernel_elf_SOURCES): Likewise.
37484 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37485 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37486 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37487 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37488 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37489 (elf_mod_SOURCES): New variable.
37490 (elf_mod_CFLAGS): Likewise.
37491 (elf_mod_LDFLAGS): Likewise.
37492 * include/grub/types.h (__unused): New macro.
37493 * include/grub/elfload.h: New file.
37494 * kern/elf.c: Likewise.
37495 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37496 (ELF32_LOADMASK): New macro.
37497 (ELF64_LOADMASK): Likewise.
37498 (vmlinux): Removed.
37499 (grub_linux_load32): New function.
37500 (grub_linux_load64): Likewise.
37501 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37502 Use grub_elf_t instead of grub_file_t.
37503
a09d5aa5 375042006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37505
37506 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37507 `catch_result' to struct set_color_args.
37508
d976fc51 375092006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37510
37511 * normal/menu.c: Include grub/script.h.
37512 * normal/menu_entry.c: Likewise.
37513 * include/grub/normal.h: Do not include grub/script.h.
37514
67507549 375152006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37516
37517 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37518
69203a99 375192006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37520
37521 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37522 disk.
37523 (grub_disk_close): Print debug messages when closing a disk.
37524 (grub_disk_read): Print debug messages when disk read fails.
37525 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37526 filesystem type.
37527 * kern/partition.c: Include misc.h.
37528 (grub_partition_iterate): Print debug messages when detecting
37529 partition type.
37530
e2b8278c 375312006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37532
37533 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37534 is negative.
37535 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37536
97b2f2ff 375372006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37538
37539 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37540 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37541
6555d655 375422006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37543
37544 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37545 instead of sizeof(lv). Patch by Michael Guntsche.
37546
4d42b77f 375472006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37548
37549 * disk/lvm.c: Rename VGS to VG_LIST.
37550 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37551 (grub_lvm_open): Likewise.
37552 Thanks to Michael Guntsche for finding this bug.
37553
5d74d927 375542006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37555
37556 * configure.ac (AC_INIT): Bumped to 1.95.
37557
a1bb27e4 375582006-10-14 Robert Millan <rmh@aybabtu.com>
37559
37560 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37561 with "/dev/.static/dev/md".
37562
e0994b8b 375632006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37564
37565 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37566 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37567 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37568 DRIVE_NAME are always freed.
37569
37570 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37571 DOS_PART, as a DOS partition is counted from one instead of zero
37572 now. Reported by Robert Millan.
37573
ddd5cee9 375742006-10-14 Robert Millan <rmh@aybabtu.com>
37575
37576 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37577 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37578 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37579 string returned by grub_guess_root_device.
37580 * util/i386/pc/grub-setup.c: Likewise.
37581 * util/i386/pc/grub-probefs.c: Likewise.
37582
37583 * util/i386/pc/grub-probefs.c: Rename to ...
37584 * util/i386/pc/grub-probe.c: ... this.
37585 * DISTLIST: Remove grub-probefs, add grub-probe.
37586 * conf/i386-efi.rmk: Likewise.
37587 * conf/i386-pc.rmk: Likewise.
37588 * util/i386/pc/grub-install.in: Likewise.
37589
37590 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37591 choose which information we want to print.
37592
2b002173 375932006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37594
37595 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37596 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37597 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37598 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37599 video/readers/tga.c and video/i386/pc/vbeutil.c.
37600
376012006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37602
37603 Added support for RAID and LVM.
f19dbdb7 37604
2b002173 37605 * disk/lvm.c: New file.
37606 * disk/raid.c: Likewise.
37607 * include/grub/lvm.h: Likewise.
f19dbdb7 37608 * include/grub/raid.h: Likewise.
2b002173 37609 * include/grub/util/lvm.h: Likewise.
37610 * include/grub/util/raid.h: Likewise.
37611 * util/lvm.c: Likewise.
37612 * util/raid.c: Likewise.
37613
37614 * include/grub/disk.h (grub_disk_dev_id): Add
37615 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37616 (grub_disk_get_size): New prototype.
37617 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37618 returns a partition.
37619 (grub_disk_get_size): New function.
f19dbdb7 37620
2b002173 37621 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37622 verbatim if grub_install_dos_part is -2.
37623
37624 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37625 and LVM devices.
37626
37627 * util/i386/pc/grub-setup.c (setup): New argument
37628 MUST_EMBED. Force embedding of GRUB when the argument is
37629 true. Close FILE before returning.
37630 (main): Add support for RAID and LVM.
f19dbdb7 37631
2b002173 37632 * conf/common.rmk: Add RAID and LVM modules.
37633 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37634 util/lvm.c.
37635 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37636
37637 * kern/misc.c (grub_strstr): New function.
37638 * include/grub/misc.h (grub_strstr): New prototype.
37639
050548d0 376402006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37641
37642 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37643
da849d2d 376442006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37645
37646 * kern/misc.c (grub_strtoull): Guess the base only if not
37647 specified.
37648
97b2f2ff 376492006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37650
37651 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37652 PowerMac support.
37653
97b2f2ff 376542006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37655
37656 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37657
37658 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37659 Remove `flags' argument. All callers changed.
37660 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37661 (IEEE1275_IHANDLE_INVALID): New variable.
37662 (IEEE1275_CELL_INVALID): New variable.
37663 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37664 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37665 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37666 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37667 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37668 codes from Open Firmware. All callers updated.
37669 (grub_ieee1275_next_property): Directly return Open Firmware return
37670 code.
37671 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37672 Standardize error checking from `grub_ieee1275_get_property'.
37673 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37674 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37675
97b2f2ff 376762006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37677
37678 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37679 `instance_to_package_args' to `instance_to_path_args'.
37680
37681 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37682 `grub_ieee1275_chosen'.
37683
37684 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37685 `grub_ieee1275_interpret'.
37686
97b2f2ff 376872006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37688
37689 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37690
97b2f2ff 376912006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37692
37693 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37694 (__cmpdi): Likewise.
37695
37696 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37697 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37698 `grub_ssize_t'.
37699
02bb8acc 37700 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37701
37702 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37703 to type `grub_ssize_t'.
37704 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37705
7f9a8531 377062006-09-22 Marco Gerards <marco@gnu.org>
37707
37708 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37709 newlines.
37710
b5ef1102 377112006-09-22 Marco Gerards <marco@gnu.org>
37712
37713 * commands/echo.c: New file.
37714
37715 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37716
37717 * conf/common.rmk (echo_mod_SOURCES): New variable.
37718 (echo_mod_CFLAGS): Likewise.
37719 (echo_mod_LDFLAGS): Likewise.
37720
2cff3677 377212006-09-22 Marco Gerards <marco@gnu.org>
37722
37723 * normal/main.c (get_line): Malloc memory instead of using
37724 preallocated memory. Removed the arguments `cmdline' and
37725 `max_len'. Updated all callers.
37726
6ba4688b 377272006-09-22 Marco Gerards <marco@gnu.org>
37728
37729 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37730 (normal_mod_DEPENDENCIES): Likewise.
37731
37732 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37733 (normal_mod_DEPENDENCIES): Likewise.
37734
37735 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37736
e02ac02c 377372006-09-22 Johan Rydberg <jrydberg@gnu.org>
37738
37739 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37740 programs.
37741 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37742 (normal_mod_DEPENDENCIES): Likewise.
37743 * conf/i386-pc.mk: Regenerate.
37744 * conf/i386-efi.mk: Likewise
37745 * conf/common.mk: Likewise.
37746 * conf/powerpc-ieee1275.mk: Likewise.
37747 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37748
8d252e44 377492006-09-22 Robert Millan <rmh@aybabtu.com>
37750
37751 Sync with i386 version.
37752 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37753 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37754
209bf7ac 377552006-09-21 Robert Millan <rmh@aybabtu.com>
37756
37757 Import from GRUB Legacy (lib/device.c):
37758 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37759 (init_device_map) [__linux__]: Add support for I2O devices.
37760
6b146090 377612006-09-14 Marco Gerards <marco@gnu.org>
37762
37763 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37764 `-melf_i386'.
37765
e38600a8 377662006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37767
37768 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37769 /boot/grub/*.lst.
78fa1790 37770
2952da5d 37771 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37772
2952da5d 37773 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37774 before adding it to device.map.
37775
01b82a64 377762006-08-15 Johan Rydberg <jrydberg@gnu.org>
37777
fe6b695a 37778 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37779 compiles a file; using the -MD option.
37780 * conf/common.mk: Regenerate.
37781 * conf/i386-pc.mk: Likewise.
37782 * conf/i386-efi.mk: Likewise.
37783 * conf/powerpc-ieee1275.mk: Likewise.
37784 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37785
1064790d 377862006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37787
37788 Move the prototypes of grub_setjmp and grub_longjmp to
37789 cpu/setjmp.h, so that each architecture may specify different
37790 attributes.
f19dbdb7 37791
1064790d 37792 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37793 (grub_longjmp): Likewise.
37794 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37795 (grub_longjmp): Likewise.
37796 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37797 (grub_longjmp): Likewise.
37798
37799 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37800 [!GRUB_UTIL] (grub_longjmp): Removed.
37801
29dda3ed 378022006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37803
37804 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37805 "color!" method does not return any value.
37806
ad2a06ed 378072006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37808
37809 * include/grub/bitmap.h: New file.
37810
37811 * include/grub/i386/pc/vbeutil.h: Likewise.
37812
37813 * video/bitmap.c: Likewise.
37814
37815 * video/readers/tga.c: Likewise.
37816
37817 * video/i386/pc/vbeutil.c: Likewise.
37818
37819 * commands/videotest.c: Code cleanup and updated to reflect to new
37820 video API.
37821
37822 * term/gfxterm.c: Likewise.
37823
37824 * video/video.c: Likewise.
37825
37826 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37827 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37828 (bitmap_mod_SOURCES): New entry.
37829 (bitmap_mod_CFLAGS): Likewise.
37830 (bitmap_mod_LDFLAGS): Likewise.
37831 (tga_mod_SOURCES): Likewise.
37832 (tga_mod_CFLAGS): Likewise.
37833 (tga_mod_LDFLAGS): Likewise.
37834
37835 * include/grub/video.h (grub_video_blit_operators): New enum type.
37836 (grub_video_render_target): Changed as forward declaration and moved
37837 actual definition to be video driver specific.
37838 (grub_video_adapter.blit_bitmap): Added blitting operator.
37839 (grub_video_adapter.blit_render_target): Likewise.
37840 (grub_video_blit_bitmap): Likewise.
37841 (grub_video_blit_render_target): Likewise.
37842
37843 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37844 driver specific render target definition.
37845 (grub_video_vbe_map_rgba): Added driver internal helper.
37846 (grub_video_vbe_unmap_color): Updated to use
37847 grub_video_i386_vbeblit_info.
37848 (grub_video_vbe_get_video_ptr): Likewise.
37849
37850 * include/grub/i386/pc/vbeblit.h
37851 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37852 grub_video_i386_vbeblit_info.
37853 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37854 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37855 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37856 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37857 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37858 (grub_video_i386_vbeblit_index_index): Likewise.
37859 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37860 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37861 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37862 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37863 operator.
37864 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37865 operator.
37866
37867 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37868 include/grub/i386/pc/vbeblit.h.
37869
37870 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37871 Updated to use grub_video_i386_vbeblit_info.
37872 (grub_video_i386_vbefill_R8G8B8): Likewise.
37873 (grub_video_i386_vbefill_index): Likewise.
37874 (grub_video_i386_vbefill): Added generic filler.
37875
37876 * video/i386/pc/vbefill.c: Updated to reflect changes on
37877 include/grub/i386/pc/vbefill.h.
37878
37879 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37880 grub_video_i386_vbeblit_info.
37881 (grub_video_vbe_unmap_color): Likewise.
37882 (grub_video_vbe_blit_glyph): Likewise.
37883 (grub_video_vbe_scroll): Likewise.
37884 (grub_video_vbe_draw_pixel): Removed function.
37885 (grub_video_vbe_get_pixel): Likewise.
37886 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37887 updated code to use it.
37888 (common_blitter): Added common blitter for render target and bitmap.
37889 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37890 (grub_video_vbe_blit_render_target): Likewise.
37891
bc8c036d 378922006-07-30 Johan Rydberg <jrydberg@gnu.org>
37893
37894 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37895 is in text mode if there is no console control protocol instance
37896 available.
37897
684a8eff 378982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37899
37900 * include/grub/video.h: Code cleanup.
37901
37902 * include/grub/i386/pc/vbe.h: Likewise.
37903
37904 * video/i386/pc/vbe.c: Likewise.
37905
37906 * video/i386/pc/vbeblit.c: Likewise.
37907
37908 * video/i386/pc/vbefill.c: Likewise.
37909
37910 * video/video.c: Likewise. Also added more comments.
37911
5915059b 379122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37913
37914 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37915 (struct grub_biosdisk_dap): Likewise.
37916
37917 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37918 linkage settings for all functions.
37919
90ce5d56 379202006-07-12 Marco Gerards <marco@gnu.org>
37921
37922 * configure.ac (--enable-mm-debug): Fix typo.
37923
37924 * genkernsyms.sh.in: Use proper quoting for `CC'.
37925
43e7f879 379262006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37927
37928 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37929 (normal_mod_ASFLAGS): Remove "-m32".
37930
4889bdec 379312006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37932
37933 * util/misc.c: Include config.h.
37934 [!HAVE_MEMALIGN]: Do not include malloc.h.
37935 (grub_memalign): Use posix_memalign, if present. Then, use
37936 memalign, if present. Otherwise, emit an error.
37937
37938 * util/grub-emu.c: Do not include malloc.h.
37939
37940 * include/grub/util/misc.h: Include unistd.h. This is required for
37941 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37942 D. Eades III <hde@foobar-qux.org>.
37943
37944 * configure.ac (AC_GNU_SOURCE): Added.
37945 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37946 type.
37947
fd39d4da 379482006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37949
37950 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37951 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37952
b786f3b5 379532006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37954
37955 * include/grub/types.h (grub_host_addr_t): Rename to
37956 grub_target_addr_t.
37957 (grub_host_off_t): Rename to grub_target_off_t.
37958 (grub_host_size_t): Rename to grub_target_size_t.
37959 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37960 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37961
37962 * include/grub/kernel.h (struct grub_module_header): Change type
37963 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37964 (grub_module_info): Likewise.
f19dbdb7 37965
051988bb 379662006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37967
37968 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37969 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37970 Velazquez <jesus.velazquez@gmail.com>.
37971
deae281b 379722006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37973
37974 Count partitions from 1 instead of 0 in the string representation
37975 of partitions. Still use 0-based internally.
f19dbdb7 37976
deae281b 37977 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37978 (sun_partition_map_iterate): Use grub_partition_t instead of
37979 struct grub_partition *. Cast DESC->START_CYLINDER to
37980 grub_uint64_t after converting the endian.
37981 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37982 (sun_partition_map_get_name): Add 1 to P->INDEX.
37983
37984 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37985 PCDATA->DOS_PART.
37986 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37987
37988 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37989 zero instead of one.
37990 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37991 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37992
37993 * partmap/apple.c (apple_partition_map_iterate): Change the type
37994 of POS to unsigned.
37995 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37996 (apple_partition_map_get_name): Add 1 into P->INDEX.
37997
37998 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37999 of POS to unsigned.
38000 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38001 calculate the offset of a partition.
38002 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38003 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38004
38005 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38006 SECTOR to grub_disk_addr_t.
38007 (acorn_partition_map_iterate): Likewise.
38008 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38009 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38010 top.
38011 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38012
38013 * kern/i386/pc/init.c (make_install_device): Add 1 into
38014 GRUB_INSTALL_DOS_PART.
38015
38016 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38017 conditional.
38018
524a1e6a 380192006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38020
38021 Clean up the code to support 64-bit addressing in disks and
38022 files. This change is not enough for filesystems yet.
f19dbdb7 38023
524a1e6a 38024 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38025 type of "start" to grub_uint64_t.
38026 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38027 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38028 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38029 convert addresses.
38030
38031 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38032 to grub_disk_addr_t.
38033
38034 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38035 string.
38036
38037 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38038
38039 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38040 to char *.
38041
38042 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38043
38044 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38045
38046 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38047
38048 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38049 to grub_off_t, to detect an error from grub_file_seek.
38050 (grub_multiboot_load_elf32): Likewise.
38051
38052 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38053 maximum unsigned long value when an overflow is detected.
38054 (grub_strtoull): New function.
38055 (grub_divmod64): Likewise.
38056 (grub_lltoa): use grub_divmod64.
38057
38058 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38059 grub_disk_addr_t.
38060 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38061 the pointer to next character. Use grub_strtoull instead of
38062 grub_strtoul.
38063 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38064 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38065 respectively.
38066
fe6b695a 38067 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38068 return value is signed.
38069 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38070 test if OFFSET is less than zero, as OFFSET is unsigned now.
38071
38072 * kern/disk.c (struct grub_disk_cache): Change the type of
38073 "sector" to grub_disk_addr_t.
38074 (grub_disk_cache_get_index): Change the type of SECTOR to
38075 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38076 unsigned after shifting.
38077 (grub_disk_cache_invalidate): Change the type of SECTOR to
38078 grub_disk_addr_t.
38079 (grub_disk_cache_unlock): Likewise.
38080 (grub_disk_cache_store): Likewise.
38081 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38082 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38083 grub_disk_addr_t and grub_uint64_t, respectively.
38084 (grub_disk_read): 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 START_SECTOR, LEN and
38087 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38088 respectively.
38089 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38090 body, as the value of OFFSET is tweaked by
38091 grub_disk_check_range. Change the types of LEN and N to
38092 grub_size_t.
38093
38094 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38095 and "saved_offset" to grub_off_t.
38096 (test_header): Cast BUF to char *.
38097 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38098 to char *.
38099 (grub_gzio_read): Change the types of OFFSET and SIZE to
38100 grub_off_t and grub_size_t, respectively.
38101
38102 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38103 Removed.
38104 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38105 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38106 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38107 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38108 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38109
38110 * include/grub/types.h (grub_off_t): Unconditionally set to
38111 grub_uint64_t.
38112 (grub_disk_addr_t): Changed to grub_uint64_t.
38113
38114 * include/grub/partition.h (struct grub_partition): Change the
38115 types of "start", "len" and "offset" to grub_disk_addr_t,
38116 grub_uint64_t and grub_disk_addr_t, respectively.
38117 (grub_partition_get_start): Return grub_disk_addr_t.
38118 (grub_partition_get_len): Return grub_uint64_t.
38119
38120 * include/grub/misc.h (grub_strtoull): New prototype.
38121 (grub_divmod64): Likewise.
38122
38123 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38124 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38125 grub_off_t, respectively.
38126 All callers and references changed.
38127
38128 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38129 grub_size_t in "read".
38130 All callers and references changed.
38131
38132 * include/grub/file.h (struct grub_file): Change the types of
38133 "offset" and "size" to grub_off_t and grub_off_t,
38134 respectively. Change the type of SECTOR to grub_disk_addr_t in
38135 "read_hook".
38136 (grub_file_read): Change the type of LEN to grub_size_t.
38137 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38138 grub_off_t.
38139 (grub_file_size): Return grub_off_t.
38140 (grub_file_tell): Likewise.
38141 All callers and references changed.
38142
38143 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38144 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38145 "write".
38146 (struct grub_disk): Change the type of "total_sectors" to
38147 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38148 "read_hook".
524a1e6a 38149 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38150 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38151 (grub_disk_write): Likewise.
38152 All callers and references changed.
38153
38154 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38155 char * for grub_strncmp to silence gcc.
38156 (grub_iso9660_mount): Likewise.
38157 (grub_iso9660_mount): Likewise.
38158 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38159 return statement.
38160 (grub_iso9660_iterate_dir): Likewise.
38161 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38162
38163 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38164 LEN to grub_disk_addr_t and grub_size_t, respectively.
38165
38166 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38167
38168 * fs/jfs.c (grub_jfs_read_file): Likewise.
38169
38170 * fs/minix.c (grub_jfs_read_file): Likewise.
38171
38172 * fs/sfs.c (grub_jfs_read_file): Likewise.
38173
38174 * fs/ufs.c (grub_jfs_read_file): Likewise.
38175
38176 * fs/xfs.c (grub_jfs_read_file): Likewise.
38177
38178 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38179 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38180 respectively.
38181
38182 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38183 BLKNR to -1 instead of returning GRUB_ERRNO.
38184 (grub_ext2_read_file): Change the types of SECTOR and
38185 LEN to grub_disk_addr_t and grub_size_t, respectively.
38186
38187 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38188 LEN to grub_disk_addr_t and grub_size_t, respectively.
38189
38190 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38191 grub_file_read.
38192
38193 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38194 string. Do not cast SECTOR explicitly.
38195
38196 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38197 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38198 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38199 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38200 over 2TB and LBA mode is not supported, raise an error.
38201 (get_safe_sectors): New function.
38202 (grub_biosdisk_read): Use get_safe_sectors.
38203 (grub_biosdisk_write): Likewise.
38204
38205 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38206 (grub_efidisk_write): Likewise.
38207
38208 * disk/loopback.c (delete_loopback): Cosmetic changes.
38209 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38210 correctly.
38211 (grub_loopback_open): Likewise.
38212 (grub_loopback_read): Likewise. Also, change the type of POS to
38213 grub_off_t, and fix the usage of grub_memset.
38214
38215 * commands/i386/pc/play.c: Include grub/machine/time.h.
38216
38217 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38218 print FILE->SIZE.
38219
38220 * commands/configfile.c: Include grub/env.h.
38221
38222 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38223 GRUB_ERRNO directly instead. Change the type of POS to
38224 grub_off_t. Follow the coding standard.
38225
38226 * commands/blocklist.c: Include grub/partition.h.
38227 (grub_cmd_blocklist): Return an error if the underlying device is
38228 not a disk. Take the starting sector of a partition into account,
38229 if a partition is used.
38230
38231 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38232 a length field.
38233 (lba_mode): Support 64-bit addresses.
38234 (chs_mode): Likewise.
38235 (copy_buffer): Adapted to the new offsets of a length field and a
38236 segment field.
38237 (blocklist_default_start): Allocate 64-bit space.
38238
38239 * boot/i386/pc/boot.S (force_lba): Removed.
38240 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38241 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38242 space.
38243 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38244 is useless.
38245 (lba_mode): Refactored to support a 64-bit address. More size
38246 optimization.
38247 (setup_sectors): Likewise.
38248
53af98ad 382492006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38250
38251 * DISTLIST: Added include/grub/i386/linux.h. Removed
38252 include/grub/i386/pc/linux.h
38253
38254 * configure.ac (AC_INIT): Bumped to 1.94.
38255
38256 * config.guess: Updated from gnulib.
38257 * config.sub: Likewise.
38258 * install-sh: Likewise.
38259 * mkinstalldirs: Likewise.
38260
b4c1940a 382612006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38262
38263 * conf/common.rmk (grub_modules_init.lst): Depended on
38264 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38265 MODSRCFILES.
38266
38267 * genmk.rb (PModule::rule): Reverted the previous change.
38268
cfca1cfd 382692006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38270
38271 * conf/common.rmk (grub_modules_init.lst): Depends on
38272 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38273 that the target does not exist before producing.
38274 (grub_modules_init.h): Remove the target before generating.
38275 (grub_emu_init.c): Likewise.
38276
38277 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38278
aa6d7826 382792006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38280
38281 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38282 for the target-specific tests. Make sure that we also have the
38283 up-to-date target variables for those tests.
38284
26c607b9 382852006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38286
38287 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38288 (PModule::rule): Likewise.
38289
0162321a 382902006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38291
38292 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38293 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38294 target-specific flags should be prefixed.
38295 (PModule::rule): Likewise.
38296
6c826348 382972006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38298
38299 * configure.ac (CMP): Check if cmp is available explicitly.
38300
b977bf01 383012006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38302
38303 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38304 (target_cpu): New variable.
38305 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38306
b977bf01 38307 * util/i386/pc/grub-install.in (host_cpu): Removed.
38308 (target_cpu): New variable.
38309 (pkglibdir): Use target_cpu instead of host_cpu.
38310
38311 * util/genmoddep.c: Removed.
f19dbdb7 38312
b977bf01 38313 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38314 instead of GRUB_HOST_SIZEOF_VOID_P.
38315 * kern/dl.c: Likewise.
38316
38317 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38318 ...
38319 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38320 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38321 (GRUB_TARGET_SIZEOF_LONG): ... this.
38322 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38323 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38324 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38325 to ...
38326 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38327 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38328 (GRUB_TARGET_SIZEOF_LONG): ... this.
38329 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38330 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38331 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38332 to ...
38333 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38334 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38335 (GRUB_TARGET_SIZEOF_LONG): ... this.
38336 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38337 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38338
38339 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38340 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38341 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38342 instead of GRUB_HOST_SIZEOF_LONG.
38343 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38344 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38345 GRUB_CPU_WORDS_BIGENDIAN.
38346 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38347 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38348 grub_host_ssize_t.
38349
38350 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38351 (genmoddep_SOURCES): Likewise.
38352 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38353 (genmoddep_SOURCES): Likewise.
38354 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38355 (genmoddep_SOURCES): Likewise.
38356 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38357 Likewise.
38358 (genmoddep_SOURCES): Likewise.
38359
38360 * genmoddep.awk: New file.
38361
38362 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38363 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38364 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38365 (PModule::rule): Likewise.
38366 (Program::rule): Likewise.
38367 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38368 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38369 respectively.
38370
38371 * configure.ac: Rewritten intensively to use host and target
38372 instead of build and host, respectively.
38373
38374 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38375 (host_cpu): Removed.
38376 (target_cpu): New variable.
38377 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38378 (BUILD_CC): Removed.
38379 (BUILD_CFLAGS): Likewise.
38380 (BUILD_CPPFLAGS): Likewise.
38381 (TARGET_CC): New variable.
38382 (TARGET_CFLAGS): Likewise.
38383 (TARGET_CPPFLAGS): Likewise.
38384 (TARGET_LDFLAGS): Likewise.
38385 (AWK): Likewise.
38386 (include): Use target_cpu instead of host_cpu.
38387 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38388
b977bf01 38389 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38390
f09771a1 383912006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38392
38393 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38394 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38395 field 'false' to 'exec_on_false'.
38396 (grub_script_create_cmdif): Renamed argument names to reflect above
38397 changes.
38398
38399 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38400
38401 * normal/script.c (grub_script_create_cmdif): Likewise.
38402
118f4fb3 384032006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38404
38405 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38406 top.
38407 (grub_hfsplus_btree_recptr): Likewise.
38408 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38409 FILEBLOCK both to pass a block number and store next block
38410 number.
38411 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38412 overflow file correctly. Specify errors appropriately, because
38413 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38414 grub_hfsplus_btree_recptr to get the pointer to a found key.
38415 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38416 is found.
38417
38418 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38419 linux.mod.
38420 (_linux_mod_SOURCES): New variable.
38421 (_linux_mod_CFLAGS): Likewise.
38422 (_linux_mod_LDFLAGS): Likewise.
38423 (linux_mod_SOURCES): Likewise.
38424 (linux_mod_CFLAGS): Likewise.
38425 (linux_mod_LDFLAGS): Likewise.
38426
38427 * DISTLIST: Added loader/i386/efi/linux.c,
38428 loader/i386/efi/linux_normal.c and
38429 include/grub/i386/efi/loader.h.
38430
38431 * loader/i386/efi/linux.c: New file.
38432 * loader/i386/efi/linux_normal.c: Likewise.
38433 * include/grub/i386/efi/loader.h: Likewise.
38434
89a7d726 384352006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38436
38437 * commands/blocklist.c: New file.
38438
38439 * DISTLIST: Added commands/blocklist.c.
38440
38441 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38442 color for the background, and a darker color for the foreground.
89a7d726 38443 (grub_console_checkkey): Return READ_KEY.
38444 (grub_console_cls): Set the background to
38445 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38446
38447 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38448
38449 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38450 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38451
38452 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38453 prototype.
38454
38455 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38456 BG. The spec is wrong again.
38457
38458 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38459 prototype.
38460 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38461
38462 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38463 commands/blocklist.c.
38464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38465
89a7d726 38466 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38467 (blocklist_mod_SOURCES): New variable.
38468 (blocklist_mod_CFLAGS): Likewise.
38469 (blocklist_mod_LDFLAGS): Likewise.
38470
75c8f258 384712006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38472
38473 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38474 duplication.
38475 (lba_mode): Use %eax more intensively to reduce the code size.
38476
da2eb181 384772006-05-20 Marco Gerards <marco@gnu.org>
38478
38479 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38480
38481 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38482 for `menuentry'.
38483 (script): Accept leading newlines.
38484 (newlines): New rule to describe 0 or more newlines.
38485 (commands): Accept `command' with trailing newline. Fixed the
38486 order in which arguments were passed to `grub_script_add_cmd'.
38487 Accept commands separated by newlines.
38488 (function): Changed to accept newlines.
38489 (menuentry) Rewritten.
38490
38491 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38492 front of the list, instead of to the end.
38493
577b4050 384942006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38495
38496 * util/i386/pc/grub-install.in (bindir): New variable.
38497 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38498 Shaver <lbgwjl@gmail.com>.
38499
0d6e1189 385002006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38501
38502 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38503 grub/machine/linux.h
38504 * loader/i386/pc/linux.c: Likewise.
38505
38506 * include/grub/i386/pc/linux.h: Moved to ...
38507 * include/grub/i386/linux.h: ... here.
38508
38509 * include/grub/i386/linux.h (struct linux_kernel_params): New
38510 struct.
f19dbdb7 38511
31b86e9f 385122006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38513
38514 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38515 checking.
38516 (grub_video_vbe_blit_glyph): Likewise.
38517 (grub_video_vbe_blit_bitmap): Likewise.
38518 (grub_video_vbe_blit_render_target): Likewise.
38519
83b984de 385202006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38521
38522 * configure.ac (--with-platform): Properly quote the square
38523 brackets.
38524
5f0413bd 385252006-05-08 Marco Gerards <marco@gnu.org>
38526
38527 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38528 this...
38529 (kernel_elf_HEADERS): ...to this. Updated all users.
38530 (grubof_symlist.c): Renamed from this...
38531 (kernel_elf_symlist.c): ...to this. Updated all users.
38532 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38533 (grubof_SOURCES): Renamed from this...
38534 (kernel_elf_SOURCES): ...to this.
38535 (grubof_HEADERS): Renamed from this...
38536 (kernel_elf_HEADERS): ...to this.
38537 (grubof_CFLAGS): Renamed from this...
38538 (kernel_elf_CFLAGS): ...to this.
38539 (grubof_ASFLAGS): Renamed from this...
38540 (kernel_elf_ASFLAGS): ...to this.
38541 (grubof_LDFLAGS): Renamed from this...
38542 (kernel_elf_LDFLAGS): ...to this.
38543
38544 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38545 this...
38546 (kernel_elf_HEADERS): ...to this. Updated all users.
38547 (grubof_symlist.c): Renamed from this...
38548 (kernel_elf_symlist.c): ...to this. Updated all users.
38549 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38550 (grubof_SOURCES): Renamed from this...
38551 (kernel_elf_SOURCES): ...to this.
38552 (grubof_HEADERS): Renamed from this...
38553 (kernel_elf_HEADERS): ...to this.
38554 (grubof_CFLAGS): Renamed from this...
38555 (kernel_elf_CFLAGS): ...to this.
38556 (grubof_ASFLAGS): Renamed from this...
38557 (kernel_elf_ASFLAGS): ...to this.
38558 (grubof_LDFLAGS): Renamed from this...
38559 (kernel_elf_LDFLAGS): ...to this.
38560
38561 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38562 `kernel.elf' instead of `grubof'.
38563
05568c2e 385642006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38565
38566 Add --with-platform to configure. Use pkglibdir instead of
38567 pkgdatadir. This is reported by Roger Leigh.
38568
38569 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38570 (host_vendor): Likewise.
38571 (host_os): Likewise.
38572 (pkgdatadir): Likewise.
38573 (platform): New variable.
38574 (pkglibdir): Likewise.
38575 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38576
05568c2e 38577 * util/i386/pc/grub-install.in (datadir): Removed.
38578 (host_vendor): Likewise.
38579 (host_os): Likewise.
38580 (pkgdatadir): Likewise.
38581 (platform): New variable.
38582 (pkglibdir): Likewise.
38583 Use PKGLIBDIR instead of PKGDATADIR.
38584
38585 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38586 instead of GRUB_DATADIR.
38587 (main): Likewise.
38588 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38589 (main): Likewise.
38590 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38591 (main): Likewise.
38592
38593 * configure.ac (--with-platform): New option.
38594 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38595
38596 * Makefile.in: Include a makefile based on PLATFORM instead of
38597 HOST_VENDOR.
38598 (pkgdatadir): Not appended by the machine type.
38599 (pkglibdir): Appended by the machine type.
38600 (host_vendor): Removed.
38601 (platform): New variable.
38602 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38603 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38604 (uninstall): Likewise.
38605
4e93851c 386062006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38607
38608 Use the environment context in the menu. Remove the commands
38609 "default" and "timeout", and use variables instead.
f19dbdb7 38610
4e93851c 38611 * normal/menu.c: Include grub/env.h.
38612 (print_entry): Cast TITLE to silence gcc.
38613 (get_timeout): New function.
38614 (set_timeout): Likewise.
38615 (get_entry_number): Likewise.
38616 (run_menu): Use a default entry, a fallback entry and a timeout
38617 in the environment variables "default", "fallback" and
38618 "timeout". Also, tweak the default entry if it is not within the
38619 current menu entries.
38620 (grub_menu_run): Use a fallback entry in the environment variable
38621 "fallback".
38622
38623 * normal/main.c (read_config_file): Do not initialize
38624 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38625 NEWMENU->TIMEOUT.
38626 (grub_normal_execute): Use a data slot to store the menu.
38627
38628 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38629 fallback_entry and timeout.
38630 (struct grub_menu_list): Removed.
38631 (grub_menu_list_t): Likewise.
38632 (struct grub_context): Likewise.
38633 (grub_context_t): Likewise.
38634 (grub_context_get): Likewise.
38635 (grub_context_get_current_menu): Likewise.
38636 (grub_context_push_menu): Likewise.
38637 (grub_context_pop_menu): Likewise.
38638 (grub_default_init): Likewise.
38639 (grub_default_fini): Likewise.
38640 (grub_timeout_init): Likewise.
38641 (grub_timeout_fini): Likewise.
38642
38643 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38644 and timeout.mod.
38645 (normal_mod_SOURCES): Removed normal/context.c.
38646
38647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38648 commands/default.c, commands/timeout.c and normal/context.c.
38649 (normal_mod_SOURCES): Removed normal/context.c.
38650
38651 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38652 commands/timeout.c and normal/context.c.
38653 (normal_mod_SOURCES): Removed normal/context.c.
38654
38655 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38656 commands/default.c, commands/timeout.c and normal/context.c.
38657 (normal_mod_SOURCES): Removed normal/context.c.
38658
38659 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38660 timeout.mod.
38661 (default_mod_SOURCES): Removed.
38662 (default_mod_CFLAGS): Likewise.
38663 (default_mod_LDFLAGS): Likewise.
38664 (timeout_mod_SOURCES): Removed.
38665 (timeout_mod_CFLAGS): Likewise.
38666 (timeout_mod_LDFLAGS): Likewise.
38667
38668 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38669 normal/context.c.
38670
38671 * commands/default.c: Removed.
38672 * commands/timeout.c: Likewise.
38673 * normal/context.c: Likewise.
38674
1eb9cc1d 386752006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38676
38677 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38678
385bd9c1 386792006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38680
38681 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38682 "next" to "prev" for readability.
38683 (struct grub_env_sorted_var): New struct.
38684 (grub_env_context): Renamed to ...
38685 (initial_context): ... this.
38686 (grub_env_var_context): Renamed to ...
38687 (current_context): ... this.
38688 (grub_env_find): Look only at CURRENT_CONTEXT.
38689 (grub_env_context_open): Rewritten to copy exported variables from
38690 previous context.
38691 (grub_env_context_close): Rewritten according to the new
38692 scheme. Also, add an assertion to prevent the initial context from
38693 removed.
38694 (grub_env_insert): Removed the code for the sorted list.
38695 (grub_env_remove): Likewise.
38696 (grub_env_export): Simply mark the variable with
38697 GRUB_ENV_VAR_GLOBAL.
38698 (grub_env_set): A cosmetic change for naming consistency.
38699 (grub_env_get): Likewise.
38700 (grub_env_unset): Likewise.
38701 (grub_env_iterate): Rewritten to sort variables within this
38702 function.
38703 (grub_register_variable_hook): Fixed for naming consistency. Call
38704 grub_env_find again, only if NAME is not found at the first time.
38705 (mangle_data_slot_name): New function.
38706 (grub_env_set_data_slot): Likewise.
38707 (grub_env_get_data_slot): Likewise.
38708 (grub_env_unset_data_slot): Likewise.
38709
38710 * include/grub/env.h (grub_env_var_type): New enum.
38711 (GRUB_ENV_VAR_LOCAL): New constant.
38712 (GRUB_ENV_VAR_GLOBAL): Likewise.
38713 (GRUB_ENV_VAR_DATA): Likewise.
38714 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38715 "type".
38716 (grub_env_set): Replace VAR with NAME for consistency.
38717 (grub_register_variable_hook): Likewise.
38718 (grub_env_export): Specify the name of the argument.
38719 (grub_env_set_data_slot): New prototype.
38720 (grub_env_get_data_slot): Likewise.
38721 (grub_env_unset_data_slot): Likewise.
38722
7f362539 387232006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38724
38725 Extend the loader so that GRUB can accept a loader which comes
38726 back to GRUB when a loaded image exits. Also, this change adds
38727 support for a chainloader on EFI.
f19dbdb7 38728
7f362539 38729 * term/efi/console.c: Include grub/misc.h.
38730 (grub_console_checkkey): Display a scan code on the top for
38731 debugging. This will be removed once the EFI port gets stable.
38732 Correct the scan code mapping.
38733
38734 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38735 allocate memory from larger regions, in order to reduce the number
38736 of allocated regions. Otherwise, the MacOSX loader panics.
38737 (filter_memory_map): Avoid less than 1MB for compatibility with
38738 other loaders.
38739 (add_memory_regions): Allocate from the tail of a region, if
38740 possible, to avoid allocating a region near to 1MB, for the MacOSX
38741 loader.
38742
38743 * kern/efi/init.c (grub_efi_set_prefix): Specify
38744 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38745
38746 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38747 argument IMAGE_HANDLE and specify it to get a loaded image.
38748 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38749 grub_efi_get_loaded_image.
fe6b695a 38750 (grub_efi_get_filename): Divide the length by the size of
7f362539 38751 grub_efi_char16_t.
38752 (grub_efi_get_device_path): New function.
38753 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38754 the length by the size of grub_efi_char16_t for a file path device
38755 path node.
38756
38757 * kern/loader.c (grub_loader_noreturn): New variable.
38758 (grub_loader_set): Accept a new argument NORETURN. Set
38759 GRUB_LOADER_NORETURN to NORETURN.
38760 All callers changed.
38761 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38762 grub_machine_fini.
38763
38764 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38765 prototype.
38766 (grub_efi_get_loaded_image): Take an argument to specify an image
38767 handle.
38768
38769 * include/grub/loader.h (grub_loader_set): Added one more argument
38770 NORETURN.
38771
38772 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38773 instead of grub_efi_open_protocol.
38774 (grub_efidisk_get_device_name): Likewise.
38775 (grub_efidisk_close): Print a newline.
38776 (grub_efidisk_get_device_handle): Fixed to use
38777 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38778 GRUB_EFI_DEVICE_PATH_TYPE.
38779
38780 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38781 * kern/efi/efi.c (device_path_guid): ... here.
38782
38783 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38784 chain.mod.
38785 (kernel_mod_HEADERS): Added efi/disk.h.
38786 (_chain_mod_SOURCES): New variable.
38787 (_chain_mod_CFLAGS): Likewise.
38788 (_chain_mod_LDFLAGS): Likewise.
38789 (chain_mod_SOURCES): Likewise.
38790 (chain_mod_CFLAGS): Likewise.
38791 (chain_mod_LDFLAGS): Likewise.
38792
38793 * DISTLIST: Added include/grub/efi/chainloader.h,
38794 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38795
38796 * include/grub/efi/chainloader.h: New file.
38797 * loader/efi/chainloader.c: Likewise.
38798 * loader/efi/chainloader_normal.c: Likewise.
38799
c0111d6e 388002006-04-30 Marco Gerards <marco@gnu.org>
38801
38802 * commands/configfile.c (grub_cmd_source): New function.
38803 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38804 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38805
df5341da 388062006-04-30 Marco Gerards <marco@gnu.org>
38807
38808 * normal/execute.c (grub_script_execute_cmd): Change the return
38809 type to `grub_err_t'. Correctly return the error.
38810 (grub_script_execute_cmdline): In case a command line is not a
38811 command or a function, try to interpret it as an assignment.
38812
f85934bd 388132006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38814
38815 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38816 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38817 skip a node whose name is obviously invalid as UTF-16,
38818 i.e. contains a NUL character. Stop the iteration when the last
38819 directory entry is found. Instead of using the return value of
38820 grub_hfsplus_btree_iterate_node, store the value in RET and use
38821 it, because the iterator can be stopped by the last directory
38822 entry.
38823
8f8a2cf8 388242006-04-30 Marco Gerards <marco@gnu.org>
38825
38826 * include/grub/env.h (grub_env_export): New prototype. Reported
38827 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38828
a27e84ce 388292006-04-30 Marco Gerards <marco@gnu.org>
38830
38831 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38832 size of the extents in a catalog file record.
38833
eaef0553 388342006-04-29 Marco Gerards <marco@gnu.org>
38835
38836 * commands/configfile.c (grub_cmd_configfile): Execute the
38837 configfile within its own context.
38838
38839 * include/grub/env.h (grub_env_context_open): New prototype.
38840 (grub_env_context_close): Likewise.
38841
38842 * kern/env.c (grub_env): Removed.
38843 (grub_env_sorted): Likewise.
38844 (grub_env_context): New variable.
38845 (grub_env_var_context): Likewise.
38846 (grub_env_find): Search both the active context and the global
38847 context.
38848 (grub_env_context_open): New function.
38849 (grub_env_context_close): Likewise.
38850 (grub_env_insert): Likewise.
38851 (grub_env_remove): Likewise.
38852 (grub_env_export): Likewise.
38853 (grub_env_set): Changed to use helper functions to avoid code
38854 duplication.
38855 (grub_env_iterate): Rewritten so both the current context and the
38856 global context are being used.
38857
38858 * normal/command.c (export_command): New function.
38859 (grub_command_init): Register the `export' function.
38860
7b455f4d 388612006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38862
38863 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38864 explicitly to suppress gcc's warnings.
38865 * fs/fat.c (grub_fat_find_dir): Likewise.
38866 (grub_fat_label): Likewise.
38867 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38868 (grub_xfs_mount): Likewise.
38869 (grub_xfs_label): Likewise.
38870 * fs/affs.c (grub_affs_mount): Likewise.
38871 (grub_affs_label): Likewise.
38872 (grub_affs_iterate_dir): Likewise.
38873 * fs/sfs.c (grub_sfs_mount): Likewise.
38874 (grub_sfs_iterate_dir): Likewise.
38875 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38876 * fs/hfs.c (grub_hfs_mount): Likewise.
38877 (grub_hfs_cmp_catkeys): Likewise.
38878 (grub_hfs_find_dir): Likewise.
38879 (grub_hfs_dir): Likewise.
38880 (grub_hfs_label): Likewise.
38881 * fs/jfs.c (grub_jfs_mount): Likewise.
38882 (grub_jfs_opendir): Likewise.
38883 (grub_jfs_getent): Likewise.
38884 (grub_jfs_lookup_symlink): Likewise.
38885 (grub_jfs_label): Likewise.
38886 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38887 (grub_hfsplus_iterate_dir): Likewise.
38888 (grub_hfsplus_btree_iterate_node): Made static.
38889
38890 * util/grub-emu.c (prefix): New variable.
38891 (grub_machine_set_prefix): New function.
38892 (main): Do not set the environment variable "prefix" here. Only
38893 set PREFIX, which is used later by grub_machine_set_prefix.
38894
38895 * include/grub/video.h: Do not include grub/symbol.h.
38896 (grub_video_register): Not exported. This symbol is not defined in
38897 the kernel.
38898 (grub_video_unregister): Likewise.
38899 (grub_video_iterate): Likewise.
38900 (grub_video_setup): Likewise.
38901 (grub_video_restore): Likewise.
38902 (grub_video_get_info): Likewise.
38903 (grub_video_get_blit_format): Likewise.
38904 (grub_video_set_palette): Likewise.
38905 (grub_video_get_palette): Likewise.
38906 (grub_video_set_viewport): Likewise.
38907 (grub_video_get_viewport): Likewise.
38908 (grub_video_map_color): Likewise.
38909 (grub_video_map_rgb): Likewise.
38910 (grub_video_map_rgba): Likewise.
38911 (grub_video_fill_rect): Likewise.
38912 (grub_video_blit_glyph): Likewise.
38913 (grub_video_blit_bitmap): Likewise.
38914 (grub_video_blit_render_target): Likewise.
38915 (grub_video_scroll): Likewise.
38916 (grub_video_swap_buffers): Likewise.
38917 (grub_video_create_render_target): Likewise.
38918 (grub_video_delete_render_target): Likewise.
38919 (grub_video_set_active_render_target): Likewise.
38920
38921 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38922 Undefined.
38923 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38924
38925 * conf/sparc64-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/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38931 config.h. Use 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-pc.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 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38941 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38942 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38943 instead of $(srcdir)/genkernsyms.sh.
38944
38945 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38946 genkernsyms.sh.
38947
38948 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38949 genkernsyms.sh.
38950 (gensymlist.sh): New target.
38951 (genkernsyms.sh): Likewise.
38952
38953 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38954 genkernsyms.sh.in and gensymlist.sh.in.
38955
38956 * genkernsyms.sh: Removed.
38957 * gensymlist.sh: Likewise.
f19dbdb7 38958
7b455f4d 38959 * genkernsyms.sh.in: New file.
38960 * gensymlist.sh.in: Likewise.
38961
1885bb27 389622006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38963
38964 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38965 clobber "prefix", since we may have already set it manually.
38966
71538dff 389672006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38968
38969 * kern/misc.c (abort): New alias for grub_abort.
38970
2965c7cc 389712006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38972
38973 A new machine-specific function "grub_machine_set_prefix" is
38974 defined. This is called after loading modules, so that a prefix
38975 initialization can use modules. Also, this change adds an
38976 intensive debugging feature for the memory manager via the
38977 configure option "--enable-mm-debug".
f19dbdb7 38978
2965c7cc 38979 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38980 PART.LEN.
38981
38982 * kern/sparc64/ieee1275/init.c (abort): Removed.
38983 (grub_stop): Likewise.
38984 (grub_exit): New function.
38985 (grub_set_prefix): Renamed to ...
38986 (grub_machine_set_prefix): ... this.
38987 (grub_machine_init): Do not call grub_set_prefix.
38988
38989 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38990 (grub_machine_set_prefix): ... this.
38991 (grub_machine_init): Do not call grub_set_prefix.
38992
38993 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38994 (grub_machine_init): Do not set the prefix here.
38995
38996 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38997
38998 * kern/efi/init.c: Include grub/mm.h.
38999 (grub_efi_set_prefix): New function.
39000
39001 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39002 (grub_efi_get_filename): New function.
39003 (grub_print_device_path): Renamed to ...
39004 (grub_efi_print_device_path): ... this.
39005
39006 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39007 [MM_DEBUG] (grub_realloc): Likewise.
39008 [MM_DEBUG] (grub_free): Likewise.
39009 [MM_DEBUG] (grub_memalign): Likewise.
39010 [MM_DEBUG] (grub_mm_debug): New variable.
39011 [MM_DEBUG] (grub_debug_malloc): New function.
39012 [MM_DEBUG] (grub_debug_free): New function.
39013 [MM_DEBUG] (grub_debug_realloc): New function.
39014 [MM_DEBUG] (grub_debug_memalign): New function.
39015
39016 * kern/misc.c (grub_abort): Print a newline to distinguish
39017 the message.
39018
39019 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39020 grub_set_root_dev after loading modules. This is necessary when
39021 setting a prefix depends on modules.
39022
39023 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39024 (grub_efi_print_device_path): ... this.
39025 (grub_efi_get_filename): New prototype.
39026 (grub_efi_set_prefix): Likewise.
39027
39028 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39029 and grub/disk.h.
39030 (grub_efidisk_get_device_handle): New prototype.
39031 (grub_efidisk_get_device_name): Likewise.
39032
39033 * include/grub/mm.h: Include config.h.
39034 (MM_DEBUG): Removed.
39035 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39036 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39037 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39038 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39039 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39040 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39041 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39042 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39043 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39044
39045 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39046
39047 * disk/efi/efidisk.c: Include grub/partition.h.
39048 (iterate_child_devices): New function.
39049 (add_device): First, compare only last device path nodes, so that
39050 devices are sorted by the types.
39051 (grub_efidisk_get_device_handle): New function.
39052 (grub_efidisk_get_device_name): Likewise.
39053
39054 * configure.ac (--enable-mm-debug): New option to enable the
39055 memory manager debugging feature. This makes the binary much
39056 bigger, so is disabled by default.
39057
9cacaa17 390582006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39059
39060 Use grub_abort instead of grub_stop, and grub_exit must be
39061 define in each architecture now. Also, this change adds support
39062 for EFI disks.
f19dbdb7 39063
9cacaa17 39064 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39065 (grub_getkey): New function.
39066 (grub_term_get_current): Likewise.
39067
39068 * util/i386/pc/grub-setup.c: Include grub/term.h.
39069 (grub_getkey): New function.
39070 (grub_term_get_current): Likewise.
39071
39072 * util/misc.c (grub_stop): Renamed to ...
39073 (grub_exit): ... this.
39074
39075 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39076 (grub_exit): ... this.
39077 (grub_machine_init): Use grub_abort instead of abort.
39078 (grub_stop): Removed.
39079
39080 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39081 abort.
39082
39083 * kern/i386/pc/startup.S (grub_exit): New function.
39084 (cold_reboot): New label.
39085
39086 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39087 (grub_efi_init): Call grub_efidisk_init.
39088 (grub_efi_fini): Call grub_efidisk_fini.
39089
39090 * kern/efi/efi.c: Include grub/mm.h.
39091 (grub_efi_console_control_guid): Renamed to ...
39092 (console_control_guid): ... this.
39093 (grub_efi_loaded_image_guid): Renamed to ...
39094 (loaded_image_guid): ... this.
39095 (grub_efi_locate_handle): New function.
39096 (grub_efi_open_protocol): Likewise.
39097 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39098 GRUB_EFI_CONSOLE_CONTROL_GUID.
39099 (grub_efi_exit): Removed.
39100 (grub_stop): Likewise.
39101 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39102 (grub_exit): New function.
39103 (grub_print_device_path): Likewise.
39104
39105 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39106 (grub_enter_rescue_mode): Register "exit".
39107
39108 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39109 (grub_abort): New function.
39110
39111 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39112
39113 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39114
39115 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39116
39117 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39118 (grub_print_device_path): New prototype.
39119 (grub_efi_locate_handle): Likewise.
39120 (grub_efi_open_protocol): Likewise.
39121
39122 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39123 * disk/efi/efidisk.c: Likewise.
39124
39125 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39126
39127 * include/grub/efi/console_control.h
39128 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39129
39130 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39131 last 8 bytes as an array.
39132 (GRUB_EFI_DISK_IO_GUID): New macro.
39133 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39134 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39135 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39136 grub_uint8_t.
39137 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39138 (struct grub_efi_device_path): Rename the member "sub_type" to
39139 "subtype".
39140 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39141 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39142 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39143 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39144 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39145 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39146 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39147 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39148 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39149 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39150 (struct grub_efi_pci_device_path): New structure.
39151 (grub_efi_pci_device_path_t): New type.
39152 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39153 (struct grub_efi_pccard_device_path): New structure.
39154 (grub_efi_pccard_device_path_t): New type.
39155 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39156 (struct grub_efi_memory_mapped_device_path): New structure.
39157 (grub_efi_memory_mapped_device_path_t): New type.
39158 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39159 (struct grub_efi_vendor_device_path): New structure.
39160 (grub_efi_vendor_device_path_t): New type.
39161 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39162 (struct grub_efi_controller_device_path): New structure.
39163 (grub_efi_controller_device_path_t): New type.
39164 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39165 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39166 (struct grub_efi_acpi_device_path): New structure.
39167 (grub_efi_acpi_device_path_t): New type.
39168 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39169 (struct grub_efi_expanded_acpi_device_path): New structure.
39170 (grub_efi_expanded_acpi_device_path_t): New type.
39171 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39172 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39173 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39174 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39175 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39176 (struct grub_efi_atapi_device_path): New structure.
39177 (grub_efi_atapi_device_path_t): New type.
39178 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39179 (struct grub_efi_fibre_channel_device_path): New structure.
39180 (grub_efi_fibre_channel_device_path_t): New type.
39181 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39182 (struct grub_efi_1394_device_path): New structure.
39183 (grub_efi_1394_device_path_t): New type.
39184 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39185 (struct grub_efi_usb_device_path): New structure.
39186 (grub_efi_usb_device_path_t): New type.
39187 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39188 (struct grub_efi_usb_class_device_path): New structure.
39189 (grub_efi_usb_class_device_path_t): New type.
39190 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39191 (struct grub_efi_i2o_device_path): New structure.
39192 (grub_efi_i2o_device_path_t): New type.
39193 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39194 (struct grub_efi_mac_address_device_path): New structure.
39195 (grub_efi_mac_address_device_path_t): New type.
39196 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39197 (struct grub_efi_ipv4_device_path): New structure.
39198 (grub_efi_ipv4_device_path_t): New type.
39199 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39200 (struct grub_efi_ipv6_device_path): New structure.
39201 (grub_efi_ipv6_device_path_t): New type.
39202 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39203 (struct grub_efi_infiniband_device_path): New structure.
39204 (grub_efi_infiniband_device_path_t): New type.
39205 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39206 (struct grub_efi_uart_device_path): New structure.
39207 (grub_efi_uart_device_path_t): New type.
39208 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39209 (struct grub_efi_vendor_messaging_device_path): New structure.
39210 (grub_efi_vendor_messaging_device_path_t): New type.
39211 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39212 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39213 (struct grub_efi_hard_drive_device_path): New structure.
39214 (grub_efi_hard_drive_device_path_t): New type.
39215 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39216 (struct grub_efi_cdrom_device_path): New structure.
39217 (grub_efi_cdrom_device_path_t): New type.
39218 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39219 (struct grub_efi_vendor_media_device_path): New structure.
39220 (grub_efi_vendor_media_device_path_t): New type.
39221 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39222 (struct grub_efi_file_path_device_path): New structure.
39223 (grub_efi_file_path_device_path_t): New type.
39224 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39225 (struct grub_efi_protocol_device_path): New structure.
39226 (grub_efi_protocol_device_path_t): New type.
39227 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39228 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39229 (struct grub_efi_bios_device_path): New structure.
39230 (grub_efi_bios_device_path_t): New type.
39231 (struct grub_efi_disk_io): New structure.
39232 (grub_efi_disk_io_t): New type.
39233 (struct grub_efi_block_io_media): New structure.
39234 (grub_efi_block_io_media_t): New type.
39235 (struct grub_efi_block_io): New structure.
39236 (grub_efi_block_io_t): New type.
39237
39238 * include/grub/misc.h (grub_stop): Removed.
39239 (grub_exit): New prototype.
39240 (grub_abort): Likewise.
39241
39242 * include/grub/disk.h (enum grub_disk_dev_id): Added
39243 GRUB_DISK_DEVICE_EFIDISK_ID.
39244
39245 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39246 disk/efi/efidisk.c.
39247 (kernel_syms.lst): Remove the target if an error occurs.
39248
49986a9f 392492006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39250
39251 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39252 as it was simply too buggy.
39253
970d3b8a 392542006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39255
39256 * kern/misc.c (grub_lltoa): New function.
39257 (grub_vsprintf): Added support for the long long suffix,
39258 i.e. "ll".
39259
ff04ec24 392602006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39261
39262 * Makefile.in (LDFLAGS): Add variable.
39263 (LD): Remove variable.
39264 * configure.ac: Add -m32 to LDFLAGS.
39265 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39266 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39267 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39268 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39269 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39270 variables.
39271 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39272 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39273 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39274
37e5e1a4 392752006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39276
39277 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39278 length for unknown glyph.
39279
c352d8dd 392802006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39281
2eab1c0d 39282 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39283
2eab1c0d 39284 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39285 completely. Accept one more argument DIR. The caller has changed.
39286
39287 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39288
39289 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39290 (grub_efi_loaded_image_guid): New variable.
39291 (grub_efi_get_loaded_image): New function.
39292 (grub_arch_modules_addr): Likewise.
39293
39294 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39295 prototype.
39296
39297 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39298 (struct grub_efi_loaded_image): New structure.
39299 (grub_efi_loaded_image_t): New type.
39300
393012006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39302
c352d8dd 39303 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39304 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39305 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39306
6d01d6b4 393072006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39308
39309 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39310
976a4ea0 393112006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39312
39313 * DISTLIST: Added include/grub/efi/console.h,
39314 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39315 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39316
39317 * include/grub/efi/console.h: New file.
39318 * include/grub/efi/time.h: Likewise.
39319 * include/grub/i386/efi/kernel.h: Likewise.
39320 * kern/efi/init.c: Likewise.
39321 * kern/efi/mm.c: Likewise.
39322 * term/efi/console.c: Likewise.
f19dbdb7 39323
976a4ea0 39324 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39325 (grub_stop): Removed.
39326 (grub_get_rtc): Likewise.
39327 (grub_machine_init): Simply call grub_efi_init.
39328 (grub_machine_fini): Call grub_efi_fini.
39329
39330 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39331 (grub_efi_output_string): Removed.
39332 (grub_efi_stall): New function.
39333 (grub_stop): Likewise.
39334 (grub_get_rtc): Likewise.
39335
39336 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39337 (grub_efi_stall): New prototype.
39338 (grub_efi_allocate_pages): Likewise.
39339 (grub_efi_free_pages): Likewise.
39340 (grub_efi_get_memory_map): Likewise.
39341 (grub_efi_mm_init): Likewise.
39342 (grub_efi_mm_fini): Likewise.
39343 (grub_efi_init): Likewise.
39344 (grub_efi_fini): Likewise.
39345
39346 * include/grub/i386/efi/time.h: Do not include
39347 grub/symbol.h. Include grub/efi/time.h.
39348 (GRUB_TICKS_PER_SECOND): Removed.
39349 (grub_get_rtc): Likewise.
39350
39351 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39352 Added padding. The EFI spec is buggy.
39353 (GRUB_EFI_BLACK): New macro.
39354 (GRUB_EFI_BLUE): Likewise.
39355 (GRUB_EFI_GREEN): Likewise.
39356 (GRUB_EFI_CYAN): Likewise.
39357 (GRUB_EFI_RED): Likewise.
39358 (GRUB_EFI_MAGENTA): Likewise.
39359 (GRUB_EFI_BROWN): Likewise.
39360 (GRUB_EFI_LIGHTGRAY): Likewise.
39361 (GRUB_EFI_BRIGHT): Likewise.
39362 (GRUB_EFI_DARKGRAY): Likewise.
39363 (GRUB_EFI_LIGHTBLUE): Likewise.
39364 (GRUB_EFI_LIGHTGREEN): Likewise.
39365 (GRUB_EFI_LIGHTCYAN): Likewise.
39366 (GRUB_EFI_LIGHTRED): Likewise.
39367 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39368 (GRUB_EFI_YELLOW): Likewise.
39369 (GRUB_EFI_WHITE): Likewise.
39370 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39371 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39372 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39373 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39374 (GRUB_EFI_BACKGROUND_RED): Likewise.
39375 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39376 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39377 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39378 (GRUB_EFI_TEXT_ATTR): Likewise.
39379
39380 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39381 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39382 (kernel_mod_HEADERS): Added efi/time.h.
39383
83709125 393842006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39385
39386 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39387 include/grub/efi/api.h, include/grub/efi/console_control.h,
39388 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39389 include/grub/i386/efi/time.h, kern/efi/efi.c,
39390 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39391 and util/i386/efi/grub-mkimage.c.
39392
39393 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39394
39395 * genmk.rb (PModule#rule): Do not export symbols if
39396 #{prefix}_EXPORTS is set to "no".
39397
39398 * conf/i386-efi.mk: New file.
39399 * conf/i386-efi.rmk: Likewise.
39400 * include/grub/efi/api.h: Likewise.
39401 * include/grub/efi/console_control.h: Likewise.
39402 * include/grub/efi/efi.h: Likewise.
39403 * include/grub/efi/pe32.h: Likewise.
39404 * include/grub/i386/efi/time.h: Likewise.
39405 * kern/efi/efi.c: Likewise.
39406 * kern/i386/efi/init.c: Likewise.
39407 * kern/i386/efi/startup.S: Likewise.
39408 * util/i386/efi/grub-mkimage.c: Likewise.
39409
394102006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39411
39412 * include/grub/script.h: Include <grub/parser.h> and
39413 "grub_script.tab.h".
39414 (struct grub_lexer_param): New struct.
39415 (struct grub_parser_param): Likewise.
39416 (grub_script_create_arglist): Pass the state in an argument.
39417 (grub_script_add_arglist): Likewise.
39418 (grub_script_create_cmdline): Likewise.
39419 (grub_script_create_cmdblock): Likewise.
39420 (grub_script_create_cmdif): Likewise.
39421 (grub_script_create_cmdmenu): Likewise.
39422 (grub_script_add_cmd): Likewise.
39423 (grub_script_arg_add): Likewise.
39424 (grub_script_lexer_ref): Likewise.
39425 (grub_script_lexer_deref): Likewise.
39426 (grub_script_lexer_record_start): Likewise.
39427 (grub_script_lexer_record_stop): Likewise.
39428 (grub_script_mem_record): Likewise.
39429 (grub_script_mem_record_stop): Likewise.
39430 (grub_script_malloc): Likewise.
39431 (grub_script_yylex): Likewise.
39432 (grub_script_yyparse): Likewise.
39433 (grub_script_yyerror): Likewise.
39434 (grub_script_yylex): Likewise.
39435 (grub_script_lexer_init): Return the state.
39436
39437 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39438 (grub_script_lexer_done): Likewise.
39439 (grub_script_lexer_getline): Likewise.
39440 (grub_script_lexer_refs): Likewise.
39441 (script): Likewise.
39442 (newscript): Likewise.
39443 (record): Likewise.
39444 (recording): Likewise.
39445 (recordpos): Likewise.
39446 (recordlen): Likewise.
39447 (grub_script_lexer_init): Return the state instead of setting
39448 global variables.
39449 (grub_script_lexer_ref): Use the newly added argument for state
39450 instead of globals.
39451 (grub_script_lexer_deref): Likewise.
39452 (grub_script_lexer_record_start): Likewise.
39453 (grub_script_lexer_record_stop): Likewise.
39454 (recordchar): Likewise.
39455 (nextchar): Likewise.
39456 (grub_script_yylex2): Likewise.
39457 (grub_script_yylex): Likewise.
39458 (grub_script_yyerror): Likewise.
39459
39460 * normal/parser.y (func_mem): Removed variable.
39461 (menu_entry): Likewise.
39462 (err): Likewise.
39463 (%lex-param): New parser option.
39464 (%parse-param): Likewise.
39465 (script): Always return the AST.
39466 (argument): Pass the state around.
39467 (arguments): Likewise.
39468 (grubcmd): Likewise.
39469 (commands): Likewise.
39470 (function): Likewise.
39471 (menuentry): Likewise.
39472 (if_statement): Likewise.
39473 (if): Likewise.
39474
39475 * normal/script.c (grub_script_memused): Removed variable.
39476 (grub_script_parsed): Likewise.
39477 (grub_script_malloc): Added a state argument. Use that instead of
39478 global variables.
39479 (grub_script_mem_record): Likewise.
39480 (grub_script_mem_record_stop): Likewise.
39481 (grub_script_arg_add): Likewise.
39482 (grub_script_add_arglist): Likewise.
39483 (grub_script_create_cmdline): Likewise.
39484 (grub_script_create_cmdif): Likewise.
39485 (grub_script_create_cmdmenu): Likewise.
39486 (grub_script_add_cmd): Likewise.
39487 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39488
e2a8c904 394892006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39490
39491 * normal/command.c (grub_command_init): Remove the title command.
39492
39493 * normal/lexer.c (grub_script_yylex): Renamed from this...
39494 (grub_script_yylex2): ... to this.
39495 (grub_script_yylex): New function. Temporary
39496 introduced to filter some tokens.
39497 (grub_script_yyerror): Print a newline.
39498
39499 * normal/main.c (read_config_file): Output information about the
39500 lines that contain errors. Wait for a key after all lines have
39501 been processed. Don't return an empty menu.
39502
39503 * normal/parser.y (func_mem): Don't initialize.
39504 (menu_entry): Likewise.
39505 (err): New variable.
39506 (script): Don't return anything when an error was encountered.
39507 (ws, returns): Removed rules.
39508 (argument): Disabled concatenated variable support.
39509 (arguments): Remove explicit separators.
39510 (grubcmd): Likewise.
39511 (function): Likewise.
39512 (menuentry): Likewise.
39513 (if): Likewise.
39514 (commands): Likewise. Add error handling.
39515
39516 * normal/script.c (grub_script_create_cmdline): If
39517 `grub_script_parsed' is 0, assume the parser encountered an error.
39518
c9a86192 395192006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39520
39521 * configure.ac: Add support for EFI. Fix the typo
39522 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39523
70f3b243 395242006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39525
39526 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39527 foreign multibyte characters should be shown correctly.
39528
65f201ad 395292006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39530
39531 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39532 calculation.
39533 (read_config_file): Made it to close file before returning.
39534
b4b93674 395352006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39536
39537 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39538 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39539 video/i386/pc/vbefill.c.
39540
39541 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39542 video/i386/pc/vbefill.c.
39543
39544 * include/grub/video.h (grub_video_blit_format): New enum.
39545 (grub_video_mode_info): Added new member blit_format.
39546 (grub_video_get_blit_format): New function prototype.
39547
39548 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39549 function prototype.
39550 (grub_video_vbe_map_rgb): Likewise.
39551 (grub_video_vbe_unmap_color): Likewise.
39552
39553 * include/grub/i386/pc/vbeblit.h: New file.
39554
39555 * include/grub/i386/pc/vbefill.h: New file.
39556
39557 * video/video.c (grub_video_get_blit_format): New function.
39558 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39559 (grub_video_vbe_map_rgb): Likewise.
39560 (grub_video_vbe_unmap_color): Likewise.
39561
39562 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39563 optimized fills.
39564 (grub_video_vbe_blit_render_target): Changed to use more optimized
39565 blits.
39566 (grub_video_vbe_setup): Added detection for optimized settings.
39567 (grub_video_vbe_create_render_target): Likewise.
39568
39569 * video/i386/pc/vbeblit.c: New file.
39570
39571 * video/i386/pc/vbefill.c: New file.
39572
c2379b9c 395732006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39574
39575 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39576 here...
39577
39578 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39579 parsing to support both hex and dec ranges. If filename was missing
39580 show usage information.
39581
bd0d7896 395822006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39583
39584 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39585 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39586
39587 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39588 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39589 (video_mod_SOURCES): Added.
39590 (video_mod_CFLAGS): Likewise.
39591 (video_mod_LDFLAGS): Likewise.
39592 (gfxterm_mod_SOURCES): Likewise.
39593 (gfxterm_mod_CFLAGS): Likewise.
39594 (gfxterm_mod_LDFLAGS): Likewise.
39595 (videotest_mod_SOURCES): Likewise.
39596 (videotest_mod_CFLAGS): Likewise.
39597 (videotest_mod_LDFLAGS): Likewise.
39598 (vesafb_mod_SOURCES): Removed.
39599 (vesafb_mod_CFLAGS): Likewise.
39600 (vesafb_mod_LDFLAGS): Likewise.
39601 (vga_mod_SOURCES): Likewise.
39602 (vga_mod_CFLAGS): Likewise.
39603 (vga_mod_LDFLAGS): Likewise.
39604
39605 * commands/videotest.c: New file.
39606
39607 * font/manager.c (fill_with_default_glyph): Modified to use
39608 grub_font_glyph.
39609 (grub_font_get_glyph): Likewise.
39610 (fontmanager): Renamed from this...
39611 (font_manager): ... to this.
39612
39613 * include/grub/font.h (grub_font_glyph): Added new structure.
39614 (grub_font_get_glyph): Modified to use grub_font_glyph.
39615
39616 * include/grub/misc.h (grub_abs): Added as inline function.
39617
39618 * include/grub/video.h: New file.
39619
39620 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39621 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39622 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39623 (grub_vbe_get_controller_info): Renamed from this...
39624 (grub_vbe_bios_get_controller_info): ... to this.
39625 (grub_vbe_get_mode_info): Renamed from this...
39626 (grub_vbe_bios_get_mode_info): ... to this.
39627 (grub_vbe_set_mode): Renamed from this...
39628 (grub_vbe_bios_set_mode): ... to this.
39629 (grub_vbe_get_mode): Renamed from this...
39630 (grub_vbe_bios_get_mode): ... to this.
39631 (grub_vbe_set_memory_window): Renamed from this...
39632 (grub_vbe_bios_set_memory_window): ... to this.
39633 (grub_vbe_get_memory_window): Renamed from this...
39634 (grub_vbe_bios_get_memory_window): ... to this.
39635 (grub_vbe_set_scanline_length): Renamed from this...
39636 (grub_vbe_set_scanline_length): ... to this.
39637 (grub_vbe_get_scanline_length): Renamed from this...
39638 (grub_vbe_bios_get_scanline_length): ... to this.
39639 (grub_vbe_set_display_start): Renamed from this...
39640 (grub_vbe_bios_set_display_start): ... to this.
39641 (grub_vbe_get_display_start): Renamed from this...
39642 (grub_vbe_bios_get_display_start): ... to this.
39643 (grub_vbe_set_palette_data): Renamed from this...
39644 (grub_vbe_bios_set_palette_data): ... to this.
39645 (grub_vbe_set_pixel_rgb): Removed.
39646 (grub_vbe_set_pixel_index): Likewise.
39647
39648 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39649 from this...
39650 (grub_vbe_bios_get_controller_info): ... to this.
39651 (grub_vbe_get_mode_info): Renamed from this...
39652 (grub_vbe_bios_get_mode_info): ... to this.
39653 (grub_vbe_set_mode): Renamed from this...
39654 (grub_vbe_bios_set_mode): ... to this.
39655 (grub_vbe_get_mode): Renamed from this...
39656 (grub_vbe_bios_get_mode): ... to this.
39657 (grub_vbe_set_memory_window): Renamed from this...
39658 (grub_vbe_bios_set_memory_window): ... to this.
39659 (grub_vbe_get_memory_window): Renamed from this...
39660 (grub_vbe_bios_get_memory_window): ... to this.
39661 (grub_vbe_set_scanline_length): Renamed from this...
39662 (grub_vbe_set_scanline_length): ... to this.
39663 (grub_vbe_get_scanline_length): Renamed from this...
39664 (grub_vbe_bios_get_scanline_length): ... to this.
39665 (grub_vbe_set_display_start): Renamed from this...
39666 (grub_vbe_bios_set_display_start): ... to this.
39667 (grub_vbe_get_display_start): Renamed from this...
39668 (grub_vbe_bios_get_display_start): ... to this.
39669 (grub_vbe_set_palette_data): Renamed from this...
39670 (grub_vbe_bios_set_palette_data): ... to this.
39671 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39672 getting corrupted after calling it. Added more pushes and pops.
39673 (grub_vbe_bios_set_mode): Likewise.
39674 (grub_vbe_bios_get_mode): Likewise.
39675 (grub_vbe_bios_get_memory_window): Likewise.
39676 (grub_vbe_bios_set_scanline_length): Likewise.
39677 (grub_vbe_bios_get_scanline_length): Likewise.
39678 (grub_vbe_bios_get_display_start): Likewise.
39679 (grub_vbe_bios_set_palette_data): Likewise.
39680
39681 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39682 (cl_insert): Likewise.
39683 (cl_delete): Likewise.
39684
39685 * term/gfxterm.c: New file.
39686
39687 * term/i386/pc/vesafb.c: Removed file.
39688
39689 * video/video.c: New file.
39690
39691 * video/i386/pc/vbe.c (real2pm): Added new function.
39692 (grub_video_vbe_draw_pixel): Likewise.
39693 (grub_video_vbe_get_video_ptr): Likewise.
39694 (grub_video_vbe_get_pixel): Likewise
39695 (grub_video_vbe_init): Likewise.
39696 (grub_video_vbe_fini): Likewise.
39697 (grub_video_vbe_setup): Likewise.
39698 (grub_video_vbe_get_info): Likewise.
39699 (grub_video_vbe_set_palette): Likewise.
39700 (grub_video_vbe_get_palette): Likewise.
39701 (grub_video_vbe_set_viewport): Likewise.
39702 (grub_video_vbe_get_viewport): Likewise.
39703 (grub_video_vbe_map_color): Likewise.
39704 (grub_video_vbe_map_rgb): Likewise.
39705 (grub_video_vbe_map_rgba): Likewise.
39706 (grub_video_vbe_unmap_color): Likewise.
39707 (grub_video_vbe_fill_rect): Likewise.
39708 (grub_video_vbe_blit_glyph): Likewise.
39709 (grub_video_vbe_blit_bitmap): Likewise.
39710 (grub_video_vbe_blit_render_target): Likewise.
39711 (grub_video_vbe_scroll): Likewise.
39712 (grub_video_vbe_swap_buffers): Likewise.
39713 (grub_video_vbe_create_render_target): Likewise.
39714 (grub_video_vbe_delete_render_target): Likewise.
39715 (grub_video_vbe_set_active_render_target): Likewise.
39716 (grub_vbe_set_pixel_rgb): Remove function.
39717 (grub_vbe_set_pixel_index): Likewise.
39718 (index_color_mode): Remove static variable.
39719 (active_mode): Likewise.
39720 (framebuffer): Likewise.
39721 (bytes_per_scan_line): Likewise.
39722 (grub_video_vbe_adapter): Added new static variable.
39723 (framebuffer): Likewise.
39724 (render_target): Likewise.
39725 (initial_mode): Likewise.
39726 (mode_in_use): Likewise.
39727 (mode_list): Likewise.
39728
5f97350b 397292006-03-10 Marco Gerards <marco@gnu.org>
39730
39731 * configure.ac (AC_INIT): Bumped to 1.93.
39732
39733 * DISTLIST: Added `include/grub/hfs.h'.
39734
a3c5c6f8 397352006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39736
39737 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39738 18H, which might help the BIOS falling back to next boot media.
39739
6de53d26 397402006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39741
39742 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39743 Poe Chen <poe.poechen@gmail.com>.
39744
77c4a393 397452006-01-17 Marco Gerards <marco@gnu.org>
39746
39747 * include/grub/normal.h: Include <grub/script.h>.
39748 (grub_command_list): Removed struct.
39749 (grub_command_list_t): Removed type.
39750 (grub_menu_entry): Remove members `num' and `command_list'. Add
39751 members `commands' and `sourcecode'.
39752 * include/grub/script.h: Add inclusion guards.
39753 (grub_script_cmd_menuentry): New struct.
39754 (grub_script_execute_menuentry): New prototype.
39755 (grub_script_lexer_record_start): Likewise.
39756 (grub_script_lexer_record_stop): Likewise.
39757 * normal/execute.c (grub_script_execute_menuentry): New function.
39758 * normal/lexer.c (record, recording, recordpos, recordlen): New
39759 variables.
39760 (grub_script_lexer_record_start): New function.
39761 (grub_script_lexer_record_stop): Likewise.
39762 (recordchar): Likewise.
39763 (nextchar): Likewise.
39764 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39765 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39766 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39767 (current_menu): New variable.
39768 (free_menu): Mainly rewritten.
39769 (grub_normal_menu_addentry): New function.
39770 (read_config_file): Rewritten.
39771 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39772 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39773 the menu entry.
39774 (run): Mainly rewritten.
39775 * normal/parser.y (menu_entry): New variable.
39776 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39777 (menuentry): New rule.
39778 (command): Add `menuentry'.
39779 (if_statement): Allow additional returns before `fi'.
39780 * normal/script.c (grub_script_create_cmdmenu): New function.
39781
144f1f98 397822006-01-03 Marco Gerards <marco@gnu.org>
39783
39784 * INSTALL: GNU Bison is required.
39785 * configure.ac: Rewritten the test to detect Bison.
39786 * Makefile.in (YACC): New variable. Reported by Xun Sun
39787 <xun.sun.cn@gmail.com>.
39788
af4b2d89 397892006-01-03 Marco Gerards <marco@gnu.org>
39790
39791 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39792 the HFS+ filesystem to filesystem blocks.
39793 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39794 GCC warning is silenced.
39795
15643b71 397962006-01-03 Marco Gerards <marco@gnu.org>
39797
39798 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39799 read from disk from big endian to host byte order.
39800
00905879 398012006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39802
39803 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39804 documentation.
39805 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39806 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39807 embedded HFS+ filesystem.
39808 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39809 (grub_hfs_sblock): Move from here...
39810 * include/grub/hfs.h: To here... New file.
39811 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39812 documentation.
39813 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39814 New macros.
39815 (grub_hfsplus_volheader): Change type of member `magic' to
39816 `grub_uint16_t'.
39817 (grub_hfsplus_data): Add new member `embedded_offset'.
39818 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39819 returned block.
39820 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39821 Calculate the offset.
39822
8899bc3e 398232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39824
39825 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39826 Removed.
39827 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39828
ae8c0277 398292005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39830
39831 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39832 ENV->NAME is NULL after allocating ENV->VALUE.
39833
07084456 398342005-12-25 Marco Gerards <marco@gnu.org>
39835
39836 * kern/env.c (grub_env_set): Rewritten the error handling code.
39837
4750f5f1 398382005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39839
39840 * geninit.sh: Made more robust, and more portable.
39841
50214199 398422005-12-25 Marco Gerards <marco@gnu.org>
39843
39844 Add support for Apple HFS+ filesystems.
f19dbdb7 39845
50214199 39846 * fs/hfsplus.c: New file.
39847
39848 * DISTLIST: Added `fs/hfsplus.c'.
39849
39850 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39851 (hfsplus_mod_SOURCES): New variable.
39852 (hfsplus_mod_CFLAGS): Likewise.
39853 (hfsplus_mod_LDFLAGS): Likewise.
39854 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39855 (grub_setup_SOURCES): Likewise.
39856 (grub_mkdevicemap_SOURCES): Likewise.
39857 (grub_emu_SOURCES): Likewise.
39858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39859
39860 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39861
39862 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39863
befaed6c 398642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39865
39866 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39867 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39868 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39869 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39870 normal/lexer.c, normal/parser.y, normal/script.c, and
39871 partmap/gpt.c.
39872 Removed kern/sparc64/cache.c.
39873
39874 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39875 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39876 grub_emu_init.c.
39877
39878 * configure.ac (AC_INIT): Bumped to 1.92.
39879
6a124103 398802005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39881
39882 * kern/err.c (grub_error_push): Added new function to support error
39883 stacks.
39884 (grub_error_pop): Likewise.
39885 (grub_error_stack_items): New local variable to support error stacks.
39886 (grub_error_stack_pos): Likewise.
39887 (grub_error_stack_assert): Likewise.
39888 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39889 stack depth.
39890 (grub_print_error): Added support to print errors from error stack.
39891
39892 * include/grub/err.h (grub_error_push): Added function prototype.
39893 (grub_error_pop): Likewise.
39894
be973c1b 398952005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39896
39897 * configure.ac: Accept `powerpc64' as host_cpu.
39898 (amd64): Rename to `biarch32'.
39899
39900 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39901 non-cacheline-aligned addresses.
39902
39903 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39904 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39905 if `size' is non-zero.
39906
b04216ab 399072005-12-03 Marco Gerards <mgerards@xs4all.nl>
39908
39909 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39910 and `cd' to make sure the filename is not prefixed with a
39911 directory name.
39912 (pkgdata_MODULES): Add `gpt.mod'.
39913 (gpt_mod_SOURCES): New variable.
39914 (gpt_mod_CFLAGS): Likewise.
39915 (gpt_mod_LDFLAGS): Likewise.
39916
39917 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39918
39919 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39920 New macro.
39921
39922 * partmap/gpt.c: New file.
39923
39924 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39925 GPT partition map is detected.
39926
41730ed9 399272005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39928
39929 * commands/i386/pc/play.c: New file.
39930 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39931 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39932 macros.
f19dbdb7 39933
95dc3643 399342005-11-27 Marco Gerards <mgerards@xs4all.nl>
39935
39936 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39937 ((unused))' to silence gcc warning.
39938
1569ec51 399392005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39940
39941 * configure.ac: Correct `AC_PROG_YACC' test.
39942
9abde152 399432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39944
39945 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39946 check before installing files.
39947
44b83271 399482005-11-22 Mike Small <smallm@panix.com>
39949
39950 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39951 number regex so multidigit numbers are recognized correctly.
39952
399532005-11-22 Mike Small <smallm@panix.com>
39954
39955 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39956 debugging message before attempting to claim memory.
39957 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39958 multiple addresses in case of failure.
39959
9c12956b 399602005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39961
39962 * term/tparm.c (get_space): Remove empty `if' statement.
39963
39964 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39965
39966 * kern/parser.c (check_varstate): Rename `state' to 's'.
39967
aeaf81d9 399682005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39969
39970 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39971 variable definitions to the beginning of each function. Sort stack
39972 variables by size.
39973 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39974 `buf' argument to `char *'.
39975
79bbb63f 399762005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39977
39978 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39979 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39980 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39981 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39982 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39983 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39984 configfile.mod, search.mod, gzio.mod and test.mod.
39985 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39986 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39987 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39988 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39989 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39990 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39991 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39992 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39993 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39994 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39995 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39996 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39997 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39998 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39999 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40000 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40001 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40002 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40003 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40004 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40005 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40006 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40007 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40008
40009 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40010 `grep --include'.
40011 (pkgdata_MODULES): Add test.mod.
40012
233b1628 400132005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40014
40015 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40016 appending to variables with "+=".
40017 (PModule): Use full pathname to generate *.lst filenames.
40018
40019 * Makefile.in: Fixed list rules moved from genmk.rb.
40020 (.DELETE_ON_ERROR): New special target.
40021 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40022
40023 * conf/i386-pc.rmk: Include conf/common.mk.
40024 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40025 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40026 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40027 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40028 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40029 configfile.mod, search.mod, gzio.mod and test.mod.
40030 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40031 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40032 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40033 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40034 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40035 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40036 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40037 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40038 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40039 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40040 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40041 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40042 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40043 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40044 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40045 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40046 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40047 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40048 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40049 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40050 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40051 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40052 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40053 here...
40054 * conf/common.rmk: ... to here. New file.
40055
40056 * conf/common.mk: New file.
40057
16f820c8 400582005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40059
40060 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40061 (grub_script.tab.c): ... here.
40062
40063 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40064 (grub_script.tab.c): ... here.
40065
40066 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40067 (grub_script.tab.c): ... here.
40068
40069 * normal/command.c (grub_command_find): Fixed a memory leak of
40070 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40071
63ba1554 400722005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40073
40074 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40075 "@" which marks the start of a comment on ARM.
40076 (VARIABLE): Likewise.
40077
7f67dc13 400782005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40079
79bbb63f 40080 Add support for Linux/ADFS partition tables.
7f67dc13 40081
40082 * partmap/acorn.c: New file.
40083
40084 * include/grub/acorn_filecore.h: Likewise.
40085
40086 * DISTLIST: Added `partmap/acorn.c' and
40087 `include/grub/acorn_filecore.h'.
f19dbdb7 40088
7f67dc13 40089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40090 `partmap/acorn.c'.
40091 (pkgdata_MODULES): Add `acorn.mod'.
40092 (acorn_mod_SOURCES): New variable.
40093 (acorn_mod_CFLAGS): Likewise.
40094
40095 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40096 `partmap/acorn.c'.
40097 (pkgdata_MODULES): Add `acorn.mod'.
40098 (acorn_mod_SOURCES): New variable.
40099 (acorn_mod_CFLAGS): Likewise.
40100
40101 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40102 (pkgdata_MODULES): Add `acorn.mod'.
40103 (acorn_mod_SOURCES): New variable.
40104 (acorn_mod_CFLAGS): Likewise.
40105 (acorn_mod_LDFLAGS): Likewise.
40106
40107 * include/types.h (grub_disk_addr_t): New typedef.
40108
6d099807 401092005-11-13 Marco Gerards <mgerards@xs4all.nl>
40110
40111 * geninit.sh: New file.
40112
40113 * geninitheader.sh: Likewise.
40114
40115 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40116 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40117 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40118 * commands/configfile.c (grub_configfile_init)
40119 (grub_configfile_fini): Likewise.
40120 * commands/default.c (grub_default_init, grub_default_fini):
40121 Likewise.
40122 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40123 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40124 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40125 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40126 Likewise.
40127 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40128 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40129 Likewise.
40130 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40131 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40132 Likewise.
40133 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40134 Likewise.
fe6b695a 40135 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40136 Likewise.
40137 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40138 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40139 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40140 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40141 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40142 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40143 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40144 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40145 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40146 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40147 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40148 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40149 * partmap/amiga.c (grub_amiga_partition_map_init)
40150 (grub_amiga_partition_map_fini): Likewise.
40151 * partmap/apple.c (grub_apple_partition_map_init)
40152 (grub_apple_partition_map_fini): Likewise.
40153 * partmap/pc.c (grub_pc_partition_map_init)
40154 (grub_pc_partition_map_fini): Likewise.
40155 * partmap/sun.c (grub_sun_partition_map_init,
40156 grub_sun_partition_map_fini): Likewise.
40157 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40158 Likewise.
40159
40160 * util/grub-emu.c: Include <grub_modules_init.h>.
40161 (main): Don't initialize and de-initialize any modules directly,
40162 use `grub_init_all' and `grub_fini_all' instead.
40163
40164 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40165 `grub_vesafb_mod_init'.
40166 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40167 all users.
40168 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40169 `grub_vga_mod_init'. Updated all users.
40170 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40171
6d099807 40172 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40173 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40174 rules.
40175
40176 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40177 Generate a function to initialize the module in utilities.
40178 Updated all callers.
40179 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40180 initialize the module in utilities. Updated all callers.
40181
9046bcf0 401822005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40183
40184 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40185 escape sequence and a literal ^L to clear the screen.
40186
40187 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40188 when returning from Open Firmware.
40189
d13ea639 401902005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40191
40192 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40193 (grub_ofconsole_height): Likewise.
40194 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40195 manually insert a '\n'.
40196 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40197 `grub_ofconsole_height'. Return early if these are already set.
40198
a8fcf206 401992005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40200
40201 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40202 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40203 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40204 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40205 and `normal/script.c'.
40206 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40207 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40208 (test_mod_SOURCES): New variable.
40209 (test_mod_CFLAGS): Likewise.
40210 (test_mod_LDFLAGS): Likewise.
40211 (pkgdata_MODULES): Add `test.mod'.
40212 (grub_script.tab.c): New rule.
40213 (grub_script.tab.h): Likewise.
40214
b6b32745 402152005-11-07 Marco Gerards <mgerards@xs4all.nl>
40216
40217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40218 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40219 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40220 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40221 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40222 (test_mod_SOURCES): New variable.
40223 (test_mod_CFLAGS): Likewise.
40224 (pkgdata_MODULES): Add `test.mod'.
40225 (grub_script.tab.c): New rule.
40226 (grub_script.tab.h): Likewise.
40227
daac212a 402282005-11-06 Marco Gerards <mgerards@xs4all.nl>
40229
40230 Add initial scripting support.
40231
40232 * commands/test.c: New file.
40233 * include/grub/script.h: Likewise.
40234 * normal/execute.c: Likewise.
40235 * normal/function.c: Likewise.
40236 * normal/lexer.c: Likewise.
40237 * normal/parser.y: Likewise.
40238 * normal/script.c: Likewise.
40239
40240 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40241
daac212a 40242 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40243 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40244 `normal/function.c' and `normal/script.c'.
40245 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40246 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40247 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40248 variables.
daac212a 40249 (pkgdata_MODULES): Add `test.mod'.
40250 (grub_script.tab.c): New rule.
40251 (grub_script.tab.h): Likewise.
40252
40253 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40254
40255 * include/grub/normal.h (grub_test_init): New prototype.
40256 (grub_test_fini): Likewise.
f19dbdb7 40257
daac212a 40258 * normal/command.c: Include <grub/script.h>.
40259 (grub_command_execute): Rewritten.
f19dbdb7 40260
daac212a 40261 * util/grub-emu.c (main): Call `grub_test_init' and
40262 `grub_test_fini'.
40263
77500b2b 402642005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40265
40266 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40267 to 0.
40268 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40269 there are no pending characters.
40270
e45deb9e 402712005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40272
40273 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40274 `grub_strndup' to drop device arguments. Replace unnecessary
40275 `grub_strndup' with `grub_strdup'.
40276
4ce32619 402772005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40278
40279 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40280 `debug' environment variable has been set.
40281
402822005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40283
4ce32619 40284 * Makefile.in (install-local): Use $(DATA).
40285 (uninstall): Likewise.
40286 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40287 (sbin_UTILITIES): ... to here.
40288 (sbin_SCRIPTS): New variable.
40289 (grub_install_SOURCES): New variable.
40290 * util/powerpc/ieee1275/grub-install.in: New file.
40291 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40292 variable.
40293 (add_segments): Call `grub_util_get_path'.
40294
25fe6f03 402952005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40296
40297 From Timothy Baldwin:
40298 * commands/ls.c (grub_ls_list_files): Close FILE with
40299 grub_file_close.
40300 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40301
04ccf3ec 403022005-10-24 Marco Gerards <mgerards@xs4all.nl>
40303
40304 * include/grub/parser.h: New file.
40305
40306 * kern/parser.c: Likewise.
40307
40308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40309 (grub_setup_SOURCES): Likewise.
40310 (grub_probefs_SOURCES): Likewise.
40311 (grub_emu_SOURCES): Likewise.
40312 (kernel_img_HEADERS): Add `parser.h'.
40313
40314 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40315 (grub_emu_SOURCES): Add `kern/parser.c'.
40316 (grubof_SOURCES): Likewise.
40317
40318 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40319 (grubof_SOURCES): Add `kern/parser.c'.
40320
40321 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40322
40323 * kern/misc.c (grub_split_cmdline): Removed function.
40324
40325 * kern/rescue.c: Include <grub/parser.h>.
40326 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40327 of `grub_split_cmdline'.
40328
40329 * normal/command.c: Include <grub/parser.h>.
40330 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40331 of `grub_split_cmdline'.
40332
40333 * normal/completion.c: Include <grub/parser.h>.
40334 (cmdline_state): New variable.
40335 (iterate_dir): End the filename with a quote depending on the
40336 command line state.
40337 (get_state): new function.
40338 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40339 split the arguments and determine the current argument. When the
40340 argument string is not quoted, escape all spaces.
40341
6d8f4b0e 403422005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40343
40344 * normal/sparc64/setjmp.S: New file.
40345
15cf03ed 403462005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40347
40348 * include/grub/sparc64/libgcc.h: New file.
40349 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40350 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40351 normal/sparc64/setjmp.c.
40352
03e8661a 403532005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40354
40355 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40356 * kern/sparc64/cache.S: New file.
40357 * kern/sparc64/cache.c: Removed.
40358 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40359 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40360 -mtune=ultrasparc.
40361 (COMMON_LDFLAGS): Add -melf64_sparc.
40362 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40363 (grubof_SOURCES): Use cache.S instead of cache.c.
40364 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40365 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40366 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40367 commented though.
40368 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40369 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40370 (linux_mod_CFLAGS): Commented out.
40371 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40372 out because module isn't built.
40373 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40374 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40375 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40376 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40377 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40378 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40379 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40380 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40381 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40382 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40383 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40384 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40385 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40386 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40387
34eeec8a 403882005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40389
40390 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40391 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40392 longer, because HFS should not be used on PC.
40393
708367a3 403942005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40395
40396 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40397 consistently within the loop.
40398
6fa1251a 403992005-10-15 Marco Gerards <mgerards@xs4all.nl>
40400
40401 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40402 directory can not be read.
40403
4801580b 404042005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40405
40406 * configure.ac (AC_INIT): Increase the version number to 1.91.
40407
40408 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40409 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40410 term/i386/pc/serial.c.
40411
219ad426 404122005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40413
40414 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40415 file size must be permitted.
40416
40417 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40418 between %ah and %al.
40419
688e5699 404202005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40421
40422 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40423 grub_uint64_t.
40424 Call the hook with a NUL-terminated filename.
40425 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40426 grub_cpu_to_be32.
40427
40428 * kern/term.c (cursor_state): New variable.
40429 (grub_term_set_current): Reset the cursor state on a new
40430 terminal.
40431 (grub_setcursor): Rewritten to use CURSOR_STATE.
40432 (grub_getcursor): New function.
40433
40434 * include/grub/term.h (grub_getcursor): New prototype.
40435
40436 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40437 integers on ARM. Reported by Timothy Baldwin
40438 <T.E.Baldwin99@members.leeds.ac.uk>.
40439
bb34586c 404402005-10-11 Marco Gerards <mgerards@xs4all.nl>
40441
40442 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40443 allocated.
40444 (grub_sfs_dir): Likewise.
40445
9a909877 404462005-10-09 Marco Gerards <mgerards@xs4all.nl>
40447
40448 Add support for the SFS filesystem.
40449
40450 * fs/sfs.c: New file.
40451
40452 * DISTLIST: Added `fs/sfs.c'.
40453
40454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40455 (grub_probefs_SOURCES): Likewise.
40456 (grub_emu_SOURCES): Likewise.
40457 (pkgdata_MODULES): Add `sfs.mod'.
40458 (sfs_mod_SOURCES): New variable.
40459 (sfs_mod_CFLAGS): Likewise.
40460 (sfs_mod_LDFLAGS): Likewise.
40461
40462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40463 (pkgdata_MODULES): Add `sfs.mod'.
40464 (sfs_mod_SOURCES): New variable.
40465 (sfs_mod_CFLAGS): Likewise.
40466
40467 * util/grub-emu.c (main): Call `grub_sfs_init' and
40468 `grub_sfs_fini'.
40469
40470 * include/grub/fs.h (grub_sfs_init): New prototype.
40471 (grub_sfs_fini): Likewise.
40472
57bdbde3 404732005-10-07 Marco Gerards <mgerards@xs4all.nl>
40474
40475 Add support for the AFFS filesystem.
40476
40477 * fs/affs.c: New file.
40478
40479 * DISTLIST: Added `fs/affs.c'.
40480
40481 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40482 (grub_probefs_SOURCES): Likewise.
40483 (grub_emu_SOURCES): Likewise.
40484 (pkgdata_MODULES): Add `affs.mod'.
40485 (affs_mod_SOURCES): New variable.
40486 (affs_mod_CFLAGS): Likewise.
40487 (affs_mod_LDFLAGS): Likewise.
40488
40489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40490 (pkgdata_MODULES): Add `affs.mod'.
40491 (affs_mod_SOURCES): New variable.
40492 (affs_mod_CFLAGS): Likewise.
40493
40494 * util/grub-emu.c (main): Call `grub_affs_init' and
40495 `grub_affs_fini'.
40496
40497 * include/grub/fs.h (grub_affs_init): New prototype.
40498 (grub_affs_fini): Likewise.
40499
047b67e0 405002005-10-01 Marco Gerards <mgerards@xs4all.nl>
40501
40502 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40503
59b8208a 405042005-10-01 Marco Gerards <mgerards@xs4all.nl>
40505
40506 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40507 `-m32' to CFLAGS.
40508
40509 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40510 linking.
f19dbdb7 40511
59b8208a 40512 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40513 (COMMON_LDFLAGS): New variable.
40514 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40515 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40516 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40517 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40518 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40519 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40520 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40521 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40522 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40523 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40524 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40525 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40526 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40527 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40528 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40529 variables.
40530 (normal_mod_ASFLAGS): Add `-m32'.
40531
40532 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40533 (grub_host_size_t, grub_host_ssize_t): New types.
40534 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40535 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40536 `GRUB_HOST_SIZEOF_VOID_P'.
40537
40538 * include/grub/kernel.h (struct grub_module_header): Type of
40539 member offset changed to `grub_host_off_t'. Type of member size
40540 changed to `grub_host_size_t'.
40541 (struct grub_module_info): Type of member offset changed to
40542 `grub_host_off_t'. Type of member size changed to
40543 `grub_host_size_t'.
40544
b4093103 405452005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40546
40547 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40548
b4093103 40549 * kern/i386/pc/startup.S (multiboot_header): New label.
40550 (multiboot_entry): Likewise.
40551 (multiboot_trampoline): Likewise.
40552
40553 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40554 Increased to 0x4A0.
40555
40556 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40557 put parentheses after a question mark.
40558 [!GRUB_UTIL] (my_mod): New variable.
40559
40560 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40561
b2499b29 405622005-09-28 Marco Gerards <mgerards@xs4all.nl>
40563
40564 Adds support for the XFS filesystem. Btrees are not supported
40565 yet.
40566
40567 * fs/xfs.c: New file.
40568
40569 * DISTLIST: Added `fs/xfs.c'.
40570
40571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40572 (grub_probefs_SOURCES): Likewise.
40573 (grub_emu_SOURCES): Likewise.
40574 (pkgdata_MODULES): Add `xfs.mod'.
40575 (xfs_mod_SOURCES): New variable.
40576 (xfs_mod_CFLAGS): Likewise.
40577
40578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40579 (pkgdata_MODULES): Add `xfs.mod'.
40580 (xfs_mod_SOURCES): New variable.
40581 (xfs_mod_CFLAGS): Likewise.
40582
40583 * util/grub-emu.c (main): Call `grub_xfs_init' and
40584 `grub_xfs_fini'.
40585
40586 * include/grub/fs.h (grub_xfs_init): New prototype.
40587 (grub_xfs_fini): Likewise.
40588
f19dbdb7 40589
83d37a62 405902005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40591
40592 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40593 color modes, allow greater than 16 colors to be configured as
40594 a default palette.
40595
47d2d65e 405962005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40597
40598 * normal/completion.c (complete_arguments): Add the qualifier
40599 const into OPTIONS.
40600
40601 From Omniflux <omniflux+lists@omniflux.com>:
40602 * include/grub/terminfo.h: New file.
40603 * include/grub/tparm.h: Likewise.
40604 * include/grub/i386/pc/serial.h: Likewise.
40605 * term/terminfo.c: Likewise.
40606 * term/tparm.c: Likewise.
40607 * term/i386/pc/serial.c: Likewise.
40608 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40609 serial.mod.
40610 (terminfo_mod_SOURCES): New variable.
40611 (terminfo_mod_CFLAGS): Likewise.
40612 (serial_mod_SOURCES): Likewise.
40613 (serial_mod_CFLAGS): Likewise.
40614
48b671ff 406152005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40616
40617 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40618 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40619 and kern/powerpc/ieee1275/cmain.c, respectively.
40620
40621 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40622 * kern/powerpc/ieee1275/crt0.S: ... here.
40623
40624 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40625 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40626
48b671ff 40627 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40628 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40629 instead of boot/powerpc/ieee1275/crt0.S and
40630 boot/powerpc/ieee1275/cmain.c, respectively.
40631
40632 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40633 sectors. It was not used anyway.
40634
09fc77a7 406352005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40636
40637 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40638 `unused parameter' warning.
40639
003789c7 406402005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40641
40642 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40643 function.
40644 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40645 getcharwidth.
40646
67f44c86 406472005-08-28 Marco Gerards <metgerards@student.han.nl>
40648
40649 * include/grub/normal.h (enum grub_completion_type): Added
40650 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40651
40652 * normal/cmdline.c (print_completion): Handle
40653 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40654 * normal/menu_entry.c (store_completion): Likewise.
40655
40656 * normal/completion.c (complete_arguments): New function.
40657 (grub_normal_do_completion): Call `complete_arguments' when the
40658 current words start with a dash.
40659
0b5abe02 406602005-08-27 Marco Gerards <metgerards@student.han.nl>
40661
40662 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40663 `gzio.mod' instead of `io.mod').
40664
d9864ee1 406652005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40666
40667 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40668 (DISTDIRS): Added io and video.
40669 Rewrite the search routine to make an output consistently.
40670
40671 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40672 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40673 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40674 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40675 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40676 util/powerpc/ieee1275/misc.c.
f19dbdb7 40677
d9864ee1 40678 * include/grub/gzio.h: New file.
40679 * io/gzio.c: Likewise.
f19dbdb7 40680
d9864ee1 40681 * kern/file.c (grub_file_close): Call grub_device_close only if
40682 FILE->DEVICE is not NULL.
40683
40684 * include/grub/mm.h [!NULL] (NULL): New macro.
40685
40686 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40687
40688 * conf/powerpc-ieee1275.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 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40694 (pkgdata_MODULES): Added gzio.mod.
40695 (gzio_mod_SOURCES): New variable.
40696 (gzio_mod_CFLAGS): Likewise.
40697
40698 * commands/cat.c: Include grub/gzio.h.
40699 (grub_cmd_cat): Use grub_gzfile_open instead of
40700 grub_file_open.
f19dbdb7 40701
d9864ee1 40702 * commands/cmp.c: Include grub/gzio.h.
40703 (grub_cmd_cmp): Use grub_gzfile_open instead of
40704 grub_file_open.
40705
40706 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40707 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40708 grub_file_open.
40709 (grub_rescue_cmd_module): Likewise.
40710
fa46f4b5 407112005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40712
40713 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40714 kern/sparc64/ieee1275/init.c because it contains _start.
40715 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40716
e9211b5d 407172005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40718
40719 * configure.ac: Add support for sparc64 host with ieee1275
40720 firmware.
40721 * configure: Generated from configure.ac.
40722 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40723 instead of int.
40724 (grub_ofdisk_read): Likewise.
40725 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40726 pointers as (void *) to remove a warning.
40727 (grub_ofdisk_close): Likewise.
40728 (grub_ofdisk_read): Likewise.
40729 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40730 returns, so make it return void to remove a warning.
40731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40732 Corresponding prototype change.
40733 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40734 values, and cast the pointers as (void *) to remove a warning.
40735 (grub_mm_dump): Likewise.
40736 * conf/sparc64-ieee1275.mk: New file.
40737 * conf/sparc64-ieee1275.rmk: Likewise.
40738 * include/grub/sparc64/setjmp.h: Likewise.
40739 * include/grub/sparc64/types.h: Likewise.
40740 * include/grub/sparc64/ieee1275/console.h: Likewise.
40741 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40742 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40743 * include/grub/sparc64/ieee1275/time.h: Likewise.
40744 * kern/sparc64/cache.c: Likewise.
40745 * kern/sparc64/dl.c: Likewise.
40746 * kern/sparc64/ieee1275/init.c: Likewise.
40747 * kern/sparc64/ieee1275/openfw.c: Likewise.
40748
385c6a92 407492005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40750
40751 * util/console.c (grub_ncurses_putchar): If C is greater than
40752 0x7f, set C to a question mark.
40753 (grub_ncurses_getcharwidth): New function.
40754 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40755 getcharwidth.
40756
40757 * normal/menu.c (print_entry): Made aware of Unicode. First,
40758 convert TITLE to UCS-4, and predict the cursor position by
40759 grub_getcharwidth.
40760
40761 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40762 const to SRC.
40763 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40764
16ccb8b1 407652005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40766
40767 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40768 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40769 grub_strcat.
40770
40771 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40772 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40773 grub_strcpy and grub_strlen. Take it into account that a space
40774 character is inserted as a delimiter.
40775
6a85ce79 407762005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40777
40778 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40779 invalid magic in the error.
6a85ce79 40780
40781 * commands/search.c: New file.
f19dbdb7 40782
6a85ce79 40783 * util/grub-emu.c (main): Call grub_search_init and
40784 grub_search_fini.
40785
40786 * kern/rescue.c (grub_rescue_print_disks): Removed.
40787 (grub_rescue_print_devices): New function.
40788 (grub_rescue_cmd_ls): Use grub_device_iterate with
40789 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40790 grub_rescue_print_disks.
40791
40792 * kern/partition.c (grub_partition_iterate): Return the result of
40793 PARTMAP->ITERATE instead of GRUB_ERRNO.
40794
40795 * kern/device.c: Include grub/partition.h.
40796 (grub_device_iterate): New function.
40797
40798 * include/grub/partition.h (grub_partition_iterate): Return int
40799 instead of grub_err_t.
40800
40801 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40802 prototype.
40803 [GRUB_UTIL] (grub_search_fini): Likewise.
40804
40805 * include/grub/device.h (grub_device_iterate): New prototype.
40806
40807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40808 commands/search.c.
40809 (pkgdata_MODULES): Added search.mod.
40810 (search_mod_SOURCES): New variable.
40811 (search_mod_CFLAGS): Likewise.
40812
40813 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40814 (pkgdata_MODULES): Added search.mod.
40815 (search_mod_SOURCES): New variable.
40816 (search_mod_CFLAGS): Likewise.
40817
40818 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40819 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40820 All callers changed.
40821
40822 * DISTLIST: Added commands/search.c.
40823
ef095434 408242005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40825
40826 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40827 conversion.
40828 (grub_getcharwidth): New function.
40829
40830 * kern/misc.c (grub_utf8_to_ucs4): New function.
40831
40832 * include/grub/term.h (struct grub_term): Added a new member
40833 "getcharwidth".
40834 (grub_getcharwidth): New prototype.
40835
40836 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40837
40838 * term/i386/pc/console.c (map_char): New function. Segregated from
40839 grub_console_putchar.
40840 (grub_console_putchar): Use map_char.
40841 (grub_console_getcharwidth): New function.
40842 (grub_console_term): Specified grub_console_getcharwidth as
40843 getcharwidth.
40844
40845 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40846 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40847
40848 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40849 GRUB_ERRNO.
40850 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40851 on grub_strtoul completely.
40852 (write_char): Declare local variables in the beginning of the
40853 function.
40854 (grub_vesafb_getcharwidth): New function.
40855 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40856 getcharwidth.
40857
1f0a95e4 408582005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40859
40860 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40861 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40862 commands/i386/pc/vbetest.c.
40863
40864 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40865 call grub_vbe_get_controller_info again, because the returned
40866 information is volatile.
40867 (grub_vbe_set_video_mode): Mostly rewritten.
40868 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40869 grub_vbe_status_t correctly.
40870 (grub_vbe_get_video_mode_info): Likewise.
40871 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40872 several if statements.
40873
40874 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40875 * commands/i386/pc/vbeinfo.c: ... this.
40876
40877 * commands/i386/pc/vbe_test.c: Renamed to ...
40878 * commands/i386/pc/vbetest.c: ... this.
40879
40880 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40881 ...
40882 (grub_cmd_vbeinfo): ... this. Save video modes before
40883 iterating. Skip a video mode, if it is not available, not enough
40884 information is given or it is monochrome. Show the memory
40885 model. Leave the interpretation of MODEVAR to grub_strtoul
40886 completely.
40887 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40888 (GRUB_MOD_FINI): Likewise.
40889
40890 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40891 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40892 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40893 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40894 grub_strtoul completely.
40895 (real2pm): Removed.
40896 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40897 (GRUB_MOD_FINI): Likewise.
40898
40899 * normal/misc.c: Include grub/mm.h.
40900
40901 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40902 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40903 (vbe_list_modes_mod_SOURCES): Removed.
40904 (vbe_list_modes_mod_CFLAGS): Likewise.
40905 (vbe_test_mod_SOURCES): Likewise.
40906 (vbe_test_mod_CFLAGS): Likewise.
40907 (vbeinfo_mod_SOURCES): New variable.
40908 (vbeinfo_mod_CFLAGS): Likewise.
40909 (vbetest_mod_SOURCES): Likewise.
40910 (vbetest_mod_CFLAGS): Likewise.
40911
992ffbbe 409122005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40913
40914 * normal/misc.c: New file.
40915
40916 * DISTLIST: Added normal/misc.c.
f19dbdb7 40917
992ffbbe 40918 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40919 DISK to HOOK. Call HOOK with DISK.
40920 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40921 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40922 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40923
40924 * normal/menu_entry.c (struct screen): Added a new member
40925 "completion_shown".
40926 (completion_buffer): New global variable.
40927 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40928 (store_completion): New function.
40929 (complete): Likewise.
40930 (clear_completions): Likewise.
40931 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40932 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40933 a tab, call complete.
40934
40935 * normal/completion.c (disk_dev): Removed.
40936 (print_simple_completion): Likewise.
40937 (print_partition_completion): Likewise.
40938 (print_func): New global variable.
40939 (add_completion): Do not take the arguments WHAT or PRINT any
40940 longer. Added a new argument TYPE. Instead of printing directly,
40941 call PRINT_FUNC if not NULL.
40942 All callers changed.
40943 (complete_device): Use a local variable DEV instead of
40944 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40945 (grub_normal_do_completion): Take a new argument HOOK. Do not
40946 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40947 empty string, return NULL instead.
40948 All callers changed.
40949
40950 * normal/cmdline.c (print_completion): New function.
40951
40952 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40953 to HOOK.
40954 All callers changed.
40955
40956 * kern/disk.c (grub_print_partinfo): Removed.
40957
40958 * include/grub/partition.h (struct grub_partition_map): Add a new
40959 argument DISK into HOOK of ITERATE.
40960 (grub_partition_iterate): Add a new argument DISK to HOOK.
40961
40962 * include/grub/normal.h (enum grub_completion_type): New enum.
40963 (grub_completion_type_t): New type.
40964 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40965 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40966 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40967 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40968 (grub_normal_do_completion): Added a new argument HOOK.
40969 (grub_normal_print_device_info): New prototype.
40970
40971 * include/grub/disk.h (grub_print_partinfo): Removed.
40972
40973 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40974 (normal_mod_SOURCES): Likewise.
40975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40976 (normal_mod_SOURCES): Likewise.
40977
40978 * commands/ls.c (grub_ls_list_disks): Use
40979 grub_normal_print_device_info instead of grub_print_partinfo. Free
40980 PNAME.
40981 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40982 duplicating the code.
40983
0bd41162 409842005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40985
40986 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40987 follow GCS more precisely.
40988 * commands/i386/pc/vbe_test.c: Likewise.
40989 * include/grub/i386/pc/vbe.h: Likewise.
40990 * term/i386/pc/vesafb.c: Likewise.
40991 * video/i386/pc/vbe.c: Likewise.
0bd41162 40992
6323696a 409932005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40994
40995 * DISTLIST: Added term/i386/pc/vesafb.c
40996 DISTLIST: Added video/i386/pc/vbe.c
40997 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40998 DISTLIST: Added commands/i386/pc/vbe_test.c.
40999 * commands/i386/pc/vbe_list_modes.c: New file.
41000 * commands/i386/pc/vbe_test.c: Likewise.
41001 * term/i386/pc/vesafb.c: Likewise.
41002 * video/i386/pc/vbe.c: Likewise.
41003 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41004 (grub_vbe_probe) Added prototype.
41005 (grub_vbe_set_video_mode) Likewise.
41006 (grub_vbe_get_video_mode) Likewise.
41007 (grub_vbe_get_video_mode_info) Likewise.
41008 (grub_vbe_set_pixel_rgb) Likewise.
41009 (grub_vbe_set_pixel_index) Likewise.
41010 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41011 (pkgdata_MODULES): Added vesafb.mod.
41012 (pkgdata_MODULES): Added vbe_list_modes.mod.
41013 (pkgdata_MODULES): Added vbe_test.mod.
41014 (vbe_mod_SOURCES): Added.
41015 (vbe_mod_CFLAGS): Likewise.
41016 (vesafb_mod_SOURCES): Likewise.
41017 (vesafb_mod_CFLAGS): Likewise.
41018 (vbe_list_modes_mod_SOURCES): Likewise.
41019 (vbe_list_modes_mod_CFLAGS): Likewise.
41020 (vbe_test_mod_SOURCES): Likewise.
41021 (vbe_test_mod_CFLAGS): Likewise.
41022
0a74e62f 410232005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41024
0a74e62f 41025 * normal/command.c (grub_command_execute): If INTERACTIVE is
41026 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41027 CMDLINE. Disable the pager if INTERACTIVE is true.
41028 All callers are changed.
41029
41030 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41031 before reading a config file.
41032 * normal/main.c (read_config_file): Even if a command is not
41033 found, register it if it is within an entry.
41034
41035 * util/grub-emu.c: Include sys/types.h and unistd.h.
41036 (options): Added --hold.
41037 (struct arguments): Added a new member "hold".
41038 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41039 missing.
41040 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41041 cleared by a debugger, if it is not zero.
41042
41043 * include/grub/normal.h (grub_command_execute): Add an argument
41044 INTERACTIVE.
41045
e51f85ae 410462005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41047
41048 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41049
e9c6f39b 410502005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41051
41052 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41053 program with another one, because the old one didn't detect a bug
41054 in gcc-3.4. Always use regparm 2, because the new test is still
41055 not enough for gcc-4.0. Someone must investigate a simple test
41056 case which detects a bug in gcc-4.0.
41057
8de3495c 410582005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41059
41060 * DISTLIST: Added normal/completion.c.
41061
41062 * normal/completion.c: New file.
f19dbdb7 41063
8de3495c 41064 * term/i386/pc/console.c (grub_console_getwh): New function.
41065 (grub_console_term): Assign grub_console_getwh to getwh.
41066
41067 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41068 function is defined in normal/completion.c as
41069 grub_normal_do_completion.
41070 (grub_cmdline_get): Use grub_normal_do_completion instead of
41071 grub_tab_complete.
41072
41073 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41074 returns non-zero, otherwise return 0.
41075 (grub_partition_iterate): First, probe the partition map. Then,
41076 call ITERATE only for this partition map.
41077
41078 * kern/misc.c (grub_strncmp): Rewritten.
41079
41080 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41081 returns non-zero. Otherwise return 0.
41082
41083 * include/grub/partition.h (grub_partition_map_iterate): Return
41084 int instead of void.
41085
41086 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41087
41088 * include/grub/misc.h (grub_strncmp): Change the type of N to
41089 grub_size_t.
41090
41091 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41092 of void.
41093
41094 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41095 unsigned explicitly before comparing it with I.
8de3495c 41096
41097 * kern/main.c (grub_env_write_root): Add the attribute unused into
41098 VAR.
41099
41100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41101 normal/completion.c.
41102 (normal_mod_SOURCES): Likewise.
41103 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41104 (normal_mod_SOURCES): Likewise.
41105
41106 * normal/command.c (grub_iterate_commands): If ITERATE returns
41107 non-zero, return one immediately.
41108
e85e144b 411092005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41110
41111 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41112 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41113 descriptions.
41114 (grub_vbe_get_controller_info): New function.
41115 (grub_vbe_get_mode_info): Likewise.
41116 (grub_vbe_set_mode): Likewise.
41117 (grub_vbe_get_mode): Likewise.
41118 (grub_vbe_set_memory_window): Likewise.
41119 (grub_vbe_get_memory_window): Likewise.
41120 (grub_vbe_set_scanline_length): Likewise.
41121 (grub_vbe_get_scanline_length): Likewise.
41122 (grub_vbe_set_display_start): Likewise.
41123 (grub_vbe_get_display_start): Likewise.
41124 (grub_vbe_set_palette_data): Likewise.
41125 * include/grub/i386/pc/vbe.h: New file.
41126
c46153d2 411272005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41128
41129 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41130 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41131 * DISTLIST: Likewise.
41132 * kern/ieee1275/of.c: Moved to ...
41133 * kern/ieee1275/ieee1275.c: ... here.
41134
0cb90c45 411352005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41136
41137 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41138 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41139 Pass 0 as `end' parameter to grub_strtoul().
41140
a19fb360 411412005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41142
41143 * include/grub/powerpc/ieee1275/console.h: Do not include
41144 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41145 ifdef.
41146 (grub_console_cur_color): Remove i386-specific prototype.
41147 (grub_console_real_putchar): Likewise.
41148 (grub_console_checkkey): Likewise.
41149 (grub_console_getkey): Likewise.
41150 (grub_console_getxy): Likewise.
41151 (grub_console_gotoxy): Likewise.
41152 (grub_console_cls): Likewise.
41153 (grub_console_setcursor): Likewise.
41154 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41155 Include <grub/machine/console.h>.
41156 * term/ieee1275/ofconsole.c: Likewise.
41157
4ac9bd04 411582005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41159
41160 * Makefile.in (LIBLZO): New variable.
41161
41162 * configure.ac: Check for LZO version 2.
41163
41164 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41165 lzo/lzo1x.h instead of lzo1x.h.
41166
41167 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41168 of -llzo.
41169
41170 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41171 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41172
41173 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41174 copying the data from PARTITION to P.
41175
f4917dfd 411762005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41177
41178 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41179 negative, unload the module.
41180
41181 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41182 map is "pc_partition_map" but not "pc".
41183 (usage): Fix the description. The options are --boot-image and
41184 --core-image but not --boot-file or --core-file.
41185 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41186 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41187 DEFAULT_DIRECTORY.
41188
41189 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41190 --core-file. Specify INSTALL_DEVICE as an argument.
41191
41192 * util/console.c: Include config.h.
41193 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41194 [HAVE_NCURSES_H]: Include ncurses.h.
41195 [HAVE_CURSES_H]: Include curses.h.
41196 [!A_NORMAL] (A_NORMAL): Defined as zero.
41197 [!A_STANDOUT] (A_STANDOUT): Likewise.
41198
41199 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41200 -lncurses.
41201 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41202
41203 * configure.ac: Check for curses libraries and headers.
41204
41205 * Makefile.in (LIBCURSES): New variable.
41206
41207 * genmk.rb (Script::rule): Set the executable bits.
41208
41209 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41210 name of the PC partition map is "pc_partition_map" but not "pc".
41211
0e143073 412122005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41213
41214 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41215 (modules): Likewise.
41216 (usage): Added descriptions for --modules and --grub-probefs.
41217 Handle --modules and --grub-probefs. Save the arguments in MODULES
41218 and GRUB_PROBEFS, respectively.
41219 Auto-detect a filesystem module against GRUBDIR. If the result is
41220 empty and modules are not specified explicitly, abort the
41221 installation. Add the result to MODULES.
41222
41223 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41224 disk/powerpc/ieee1275/ofdisk.c,
41225 include/grub/powerpc/ieee1275/init.h and
41226 term/powerpc/ieee1275/ofconsole.c.
41227 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41228 term/ieee1275/ofconsole.c.
41229
41230 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41231
41232 * COPYING: Upgraded to the latest version. Only the address of the
41233 FSF office has changed.
f19dbdb7 41234
efd6e6d5 412352005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41236
41237 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41238 kern/ieee1275.c with kern/ieee1275/of.c.
41239
41240 * kern/ieee1275.c: Moved to ...
41241 * kern/ieee1275/of.c: ... here.
41242
8ceafda2 412432005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41244
41245 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41246 readability.
8ceafda2 41247
41248 * config.guess: Updated to the latest version from gnulib.
41249 * config.sub: Likewise.
41250 * install.sh: Likewise.
41251 * mkinstalldirs: Likewise.
41252
41253 * include/grub/console.h: Removed. This file is arch-specific. Do
41254 not put this in include/grub.
41255
41256 * include/grub/i386/pc/console.h: Resurrected.
41257
41258 * util/console.c: Include grub/machine/console.h instead of
41259 grub/console.h.
41260 * util/grub-emu.c: Likewise.
41261
267f6cd9 412622005-08-04 Marco Gerards <metgerards@student.han.nl>
41263
41264 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41265 hardcoded value.
f19dbdb7 41266
267f6cd9 41267 From Vincent Pelletier <subdino2004@yahoo.fr>
41268 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41269 Redefined to use grub_getwh.
41270 (grub_term): New member named getwh.
41271 (grub_getwh): New prototype.
41272 * kern/term.c (grub_getwh): New function.
41273 * term/i386/pc/console.c (grub_console_getwh): New function.
41274 (grub_console_term): New member `getwh'.
41275 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41276 (grub_vga_term): New member `getwh'.
0b5abe02 41277 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41278 grub_ssize_t.
41279 (grub_ofconsole_getw): New function.
41280 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41281 (grub_ofconsole_term): New field named getwh and new initial
41282 value.
41283
3be7266d 412842005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41285
41286 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41287 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41288 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41289 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41290 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41291 of <grub/machine/ieee1275.h>.
41292 * commands/ieee1275/reboot.c: Likewise.
41293 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41294 * kern/ieee1275.c: ... to here. All users updated. Change all
41295 parameter structs to use new type `grub_ieee1275_cell_t'.
41296 * term/powerpc/ieee1275/ofconsole.c: Move ...
41297 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41298 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41299 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41300 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41301 to return int.
41302 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41303 Remove unused prototypes. All users updated.
41304 * include/grub/powerpc/ieee1275/console.h: Removed.
41305 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41306 `grub_ieee1275_cell_t'.
41307 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41308 Cast comparisons with -1 to the correct type.
41309 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41310 type to match `grub_ieee1275_entry_fn'.
41311
8b5f3938 413122005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41313
41314 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41315
41316 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41317 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41318 partmap/sun.c.
41319 (grub_probefs_SOURCES): New variable.
41320
41321 * util/i386/pc/grub-probefs.c: New file.
41322
41323 * util/i386/pc/grub-setup.c (main): Call
41324 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41325 grub_hfs_init and grub_jfs_init to initialize the system. Call
41326 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41327 grub_pc_partition_map_fini to finish the system.
41328
ea409713 413292005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41330
41331 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41332 function.
41333 (grub_multiboot_load_elf32): Likewise.
41334 (grub_multiboot_is_elf64): Likewise.
41335 (grub_multiboot_load_elf64): Likewise.
41336 (grub_multiboot_load_elf): Likewise.
41337 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41338 an ELF32 or ELF64 file.
41339 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41340
41341 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41342 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41343 NULL before calling FS->LABEL.
41344 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41345 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41346 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41347 before calling FS->LABEL.
41348
141a288b 413492005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41350
41351 * util/i386/pc/grub-install.in (datadir): New variable.
41352 (libdir): Removed.
41353 (pkgdatadir): New variable.
41354 (pkglibdir): Removed.
41355
0d5f8a54 413562005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41357
41358 * DISTLIST: Added util/i386/pc/grub-install.in.
41359
41360 * util/i386/pc/grub-install.in: New file.
41361
41362 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41363 (grub_install_SOURCES): Likewise.
41364
41365 * genmk.rb: Added support for scripts.
41366 (Script): New class.
41367 (scripts): New variable.
41368
41369 * Makefile.in (install-local): Install sbin_SCRIPTS by
41370 INSTALL_SCRIPT.
41371 (uninstall): Remove sbin_SCRIPTS.
41372
41373 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41374 device, try to get a GRUB device by
41375 grub_util_biosdisk_get_grub_dev.
41376 Free DEST_DEV.
41377
41378 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41379 description for --device-map.
41380
5f968e1e 413812005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41382
41383 Change the semantics of variable hooks. They now return strings
41384 instead of error values.
f19dbdb7 41385
5f968e1e 41386 * util/i386/pc/grub-setup.c: Include grub/env.h.
41387 (setup): Use grub_device_set_root instead of grub_env_set.
41388
41389 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41390 grub_env_get instead of grub_device_set_root and
41391 grub_device_get_root, respectively.
41392
41393 * kern/main.c (grub_env_write_root): New function.
41394 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41395 grub_env_set instead of grub_device_set_root.
41396
41397 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41398 many variables.
41399 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41400 rather than calling ENV->WRITE_HOOK afterwards.
41401 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41402 passing a pointer of a pointer.
41403 (grub_register_variable_hook): Change the types of "read_hook" and
41404 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41405 respectively.
41406 Allocate the default empty string on the heap, because this string
41407 may be freed later.
41408
41409 * kern/device.c: Include grub/env.h.
41410 (grub_device_set_root): Removed.
41411 (grub_device_get_root): Likewise.
41412 (grub_device_open): Use grub_env_get instead of
41413 grub_device_get_root.
41414
41415 * include/grub/env.h (grub_env_read_hook_t): New type.
41416 (grub_env_write_hook_t): Likewise.
41417 (grub_env_var): Change the types of "read_hook" and "write_hook"
41418 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41419 (grub_register_variable_hook): Likewise.
41420
41421 * include/grub/device.h (grub_device_set_root): Removed.
41422 (grub_device_set_root): Likewise.
41423
41424 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41425 make sure that DIRNAME terminates with '/', so that
41426 grub_fat_find_dir will fail if PATH is not a directory.
41427
41428 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41429 from DIRNAME.
41430 Use the qualifier auto for print_files and print_files_long.
41431 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41432 as a regular file.
41433 Put a newline only if there is no error.
41434 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41435 used.
41436
896f0afd 414372005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41438
41439 * kern/partition.c (grub_partition_probe): Initialize PART to
41440 NULL. Otherwise, when no partition map is registered, this returns
41441 a garbage.
41442
b28b81b2 414432005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41444
41445 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41446 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41447 valid.
41448
5f3607e0 414492005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41450
41451 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41452 information on each device, if it does not have partitions. Print
41453 "Device" instead of "Disk", because this function is not specific
41454 to disk devices.
41455
41456 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41457 static to ensure that it is put on the memory rather than a
41458 register.
41459
502c87e8 414602005-07-17 Yoshinori Okuji <okuji@enbug.org>
41461
41462 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41463 (grub_cat_init): Likewise.
41464 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41465 (options): Likewise.
41466 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41467 (grub_configfile_init): Likewise.
41468 * font/manager.c (GRUB_MOD_INIT): Likewise.
41469 * commands/help.c (GRUB_MOD_INIT): Likewise.
41470 (grub_help_init): Likewise.
41471 * normal/command.c (grub_command_init): Likewise.
41472 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41473 * disk/loopback.c (grub_loop_init): Likewise.
41474 (GRUB_MOD_INIT): Likewise.
41475 * commands/ls.c (grub_ls_init): Likewise.
41476 (GRUB_MOD_INIT): Likewise.
41477 (options): Likewise.
41478 * commands/boot.c (grub_boot_init): Likewise.
41479 (GRUB_MOD_INIT): Likewise.
41480 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41481 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41482 (GRUB_MOD_INIT): Likewise.
41483 * commands/cmp.c (grub_cmp_init): Likewise.
41484 (GRUB_MOD_INIT): Likewise.
41485
41486 * normal/arg.c: Use <> instead of "" to include header files.
41487 (SHORT_ARG_HELP): New macro.
41488 (SHORT_ARG_USAGE): Likewise.
41489 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41490 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41491 descriptions.
41492 (find_short): Check if C is 'h' or 'u' explicitly.
41493 (grub_arg_show_help): Use space characters instead of tabs. Treat
41494 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41495 are shown with --help and --usage only if they are not used for
41496 the command itself.
41497 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41498 'h' and 'u'.
41499
41500 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41501 const into "longarg". Change the type of "shortarg" to int.
41502
f806d18e 415032005-07-17 Yoshinori Okuji <okuji@enbug.org>
41504
41505 * boot/i386/pc/boot.S (boot_drive_check): New label.
41506
41507 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41508 macro.
41509
41510 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41511 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41512
e293232b 415132005-07-17 Yoshinori Okuji <okuji@enbug.org>
41514
41515 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41516 When turning off Gate A20, skip the check and return immediately,
41517 because this is not fatal usually.
41518
ebedfd00 415192005-07-17 Yoshinori Okuji <okuji@enbug.org>
41520
41521 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41522 be 0x7C00 instead of 0x8000.
41523
41524 * boot/i386/pc/pxeboot.S: Rewritten.
41525
41526 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41527 EXT_C.
41528 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41529 result.
41530
654fc59f 415312005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41532
41533 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41534 robustness. This routine now supports a BIOS call and System
41535 Control Port A to modify the gate A20.
41536
41537 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41538 Increased to 0x440.
41539
09f9923f 415402005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41541
41542 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41543 device path and resulting ihandle.
41544 (grub_ofdisk_close): dprintf the ihandle being closed.
41545 (grub_ofdisk_read): dprintf function parameters.
41546 * kern/mm.c (grub_mm_init_region): Likewise.
41547 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41548 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41549 size, and boot arguments.
41550 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41551 before loading into memory.
41552 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41553 before loading into memory.
41554
7ef504d8 415552005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41556
41557 * kern/mm.c: Added much documentation.
41558 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41559 8, set to 5 instead of 8.
41560
e0f050c2 415612005-07-10 Yoshinori Okuji <okuji@enbug.org>
41562
41563 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41564
41565 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41566 (grub_mkdevicemap_SOURCES): New variable.
41567
41568 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41569 lib/device.c of GRUB Legacy.
41570
7224189a 415712005-07-10 Yoshinori Okuji <okuji@enbug.org>
41572
41573 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41574 instead of PATH is NULL.
41575
68c864eb 415762005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41577
41578 * commands/cmp.c (BUFFER_SIZE): New macro.
41579 (grub_cmd_cmp): Close the right file at the right time. Compare
41580 only data just read. Don't report files of different size as
41581 identical. Dynamically allocate buffers. Move variable
41582 declarations at the beginning of function.
41583
e6f3e614 415842005-07-09 Yoshinori Okuji <okuji@enbug.org>
41585
41586 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41587 reverse.
41588
f8f1559a 415892004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41590
41591 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41592 when backspace is pressed at beginning of line.
41593
39c9d41d 415942005-07-03 Yoshinori Okuji <okuji@enbug.org>
41595
41596 * DISTLIST: Added genfslist.sh.
41597
41598 * normal/main.c (fs_module_list): New variable.
41599 (autoload_fs_module): New function.
41600 (read_fs_list): Likewise.
41601 (grub_normal_execute): Call read_fs_list.
41602
41603 * kern/fs.c (grub_fs_autoload_hook): New variable.
41604 (grub_fs_probe): Added support for auto-loading.
41605
41606 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41607 (grub_fs_module_list_t): New type.
41608
41609 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41610 (grub_fs_autoload_hook): New prototype.
41611
41612 * genfslist.sh: New file.
f19dbdb7 41613
39c9d41d 41614 * genmk.rb: Added a rule to generate a filesystem list.
41615
121c1d83 416162005-06-30 Marco Gerards <metgerards@student.han.nl>
41617
41618 * configure.ac: Fix the test for cross-compiling.
41619
41620 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41621 define GRUB_UTIL anymore.
41622
41623 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41624 so this function works on other systems than just big endian.
41625 (load_modules): Likewise.
41626 (add_segments): Likewise.
41627
e75d76e1 416282005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41629
41630 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41631 contains `l' modifier, get a long from va_arg().
41632
50b5a0a7 416332005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41634
41635 * kern/mm.c (grub_free): If the next free block which is being
41636 merged is the first free block, set the first block to the block
41637 being freed.
41638 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41639
89371b20 416402005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41641
41642 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41643 `grub_ieee1275_chosen'.
41644
168d6e58 416452005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41646
41647 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41648 (grub_ieee1275_chosen): New variable.
41649 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41650 `chosen'.
41651 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41652 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41653 Rename first argument to `phandle' for consistency.
41654 (grub_ieee1275_get_property_length): Likewise.
41655 (grub_ieee1275_next_property): Likewise. Change type of first argument
41656 to grub_ieee1275_phandle_t.
41657 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41658 Move export next to declaration.
41659 (grub_ieee1275_chosen): New variable.
41660 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41661 Correct cosmetic typo.
41662 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41663 `grub_ieee1275_chosen'.
41664 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41665 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41666 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41667 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41668 `grub_ieee1275_chosen'.
41669
ca5baa3f 416702005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41671
41672 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41673 /chosen/bootargs.
41674 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41675 /chosen/bootargs as "variable=value" pairs.
41676
708b345f 416772005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41678
41679 * include/grub/misc.h (grub_dprintf): New macro.
41680 (grub_real_dprintf): New prototype.
41681 (grub_strword): Likewise.
41682 (grub_iswordseparator): Likewise.
41683 * kern/misc.c (grub_real_dprintf): New function.
41684 (grub_strword): Likewise.
41685 (grub_iswordseparator): Likewise.
41686
f4c5e67c 416872005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41688
41689 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41690 (roundup): Remove macro.
41691 (grub_ieee1275_flags): Make static.
41692 (grub_ieee1275_realmode): Remove.
41693 (grub_ieee1275_test_flag): New function.
41694 (grub_ieee1275_set_flag): Likewise.
41695 (find_options): Rename to `grub_ieee1275_find_options'; update
41696 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41697 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41698 (cmain): New prototype.
41699 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41700 `grub_ieee1275_flags' directly.
41701 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41702 machine/biosdisk.h.
41703 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41704 Don't include grub/machine/init.h.
41705 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41706 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41707 Remove prototype.
41708 (grub_ieee1275_realmode): Likewise.
41709 (grub_ieee1275_flag): New enum.
41710 (grub_ieee1275_test_flag): New prototype.
41711 (grub_ieee1275_set_flag): New prototype.
41712 * include/grub/powerpc/ieee1275/init.h: Remove file.
41713 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41714 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41715 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41716 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41717 comment.
41718 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41719 `grub_ieee1275_test_flag'.
41720 (grub_ieee1275_encode_devname): Likewise.
41721
ed16607e 417222005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41723
41724 * include/grub/powerpc/ieee1275/ieee1275.h
41725 (grub_ieee1275_encode_devname): New prototype.
41726 (grub_ieee1275_get_filename): Likewise.
41727 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41728 function.
41729 (grub_set_prefix): Likewise.
41730 (grub_machine_init): Call grub_set_prefix.
41731 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41732 (grub_parse_type): New enum.
41733 (grub_ieee1275_get_devargs): New function.
41734 (grub_ieee1275_get_devname): Likewise.
41735 (grub_ieee1275_parse_args): Likewise.
41736 (grub_ieee1275_get_filename): Likewise.
41737 (grub_ieee1275_encode_devname): Likewise.
41738
be369920 417392005-03-30 Marco Gerards <metgerards@student.han.nl>
41740
41741 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41742 `grub_loader_unset'.
41743
a5ce3a4a 417442005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41745
41746 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41747 instead of grub_ieee1275_interpret.
41748 (grub_halt_init): New function.
41749 (grub_halt_fini): Likewise.
41750 (GRUB_MOD_INIT): Correct message grammar.
41751 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41752 instead of grub_ieee1275_interpret.
41753 (grub_reboot_init): New function.
41754 (grub_reboot_fini): Likewise.
41755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41756 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41757 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41758 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41759 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41760 function.
41761 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41762 Add prototype.
41763 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41764 prototype.
41765 (grub_halt): Likewise.
41766 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41767 (cmain): Remove __attribute__((unused)).
41768 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41769 (grub_heap_len): Likewise.
41770 (grub_machine_fini): New function.
41771 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41772 (grub_halt): Likewise.
41773 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41774 function.
41775 * util/powerpc/ieee1275/misc.c: New file.
41776
0058f771 417772005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41778
41779 * DISTLIST: New file.
41780 * gendistlist.sh: Likewise.
f19dbdb7 41781
0058f771 41782 * Makefile.in (COMMON_DISTFILES): Removed.
41783 (BOOT_DISTFILES): Likewise.
41784 (CONF_DISTFILES): Likewise.
41785 (DISK_DISTFILES): Likewise.
41786 (FS_DISTFILES): Likewise.
41787 (INCLUDE_DISTFILES): Likewise.
41788 (KERN_DISTFILES): Likewise.
41789 (LOADER_DISTFILES): Likewise.
41790 (TERM_DISTFILES): Likewise.
41791 (UTIL_DISTFILES): Likewise.
41792 (DISTFILES): Likewise.
41793 (uninstall): Uninstall files in $(pkgdata_DATA).
41794 (DISTLIST): New target.
41795 (distdir): Use the contents of the file DISTLIST to get a list of
41796 distributed files.
41797
46b3b8a5 417982005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41799
41800 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41801 descriptor. This is ported from GRUB Legacy.
41802
41803 * gencmdlist.sh: Added an extra semicolon to make it work with
41804 old sed versions. Reported by Robert Bihlmeyer
41805 <robbe@orcus.priv.at>.
41806
5822ff87 418072005-03-08 Yoshinori Okuji <okuji@enbug.org>
41808
41809 Automatic loading of commands is supported.
f19dbdb7 41810
5822ff87 41811 * normal/main.c (read_command_list): New function.
41812 (grub_normal_execute): Call read_command_list.
41813
41814 * normal/command.c (grub_register_command): Return zero or CMD.
41815 Allocate CMD->NAME from the heap.
41816 Initialize CMD->MODULE_NAME to zero.
41817 Find the same name as well. If the same command is found and it is
41818 a dummy command, overwrite members. If it is not a dummy command,
41819 return zero.
41820 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41821 (grub_command_find): If a dummy command is found, load a module
41822 and retry to find a command only once.
41823
41824 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41825 make sure that each command is loaded.
41826
41827 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41828 macro.
41829 (struct grub_command): Remove const from the member `name'.
41830 Add a new member `module_name'.
41831 (grub_register_command): Return grub_command_t.
41832
41833 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41834 sure that each command is loaded.
41835
41836 * genmk.rb (PModule::rule): Specify a module name without the
41837 suffix ".mod" to gencmdlist.sh.
41838
7b1f4b57 418392005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41840
41841 * gencmdlist.sh: New file.
f19dbdb7 41842
7b1f4b57 41843 * genmk.rb (PModule::rule): Generate a rule for a command list.
41844 Clean command.lst.
41845 Generate command.lst from $(COMMANDFILES).
41846
41847 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41848 (DATA): Added $(pkgdata_DATA).
41849 (install-local): Install files in $(pkgdata_DATA).
41850
062aaf39 418512005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41852
41853 * term/i386/pc/vga.c (debug_command): Removed.
41854 (GRUB_MOD_INIT): Do not register the command "debug".
41855
41856 From Hollis Blanchard:
41857 * commands/configfile.c: New file.
41858 * conf/i386-pc.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 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41864 commands/configfile.c.
41865 (pkgdata_MODULES): Added configfile.mod.
41866 (configfile_mod_SOURCES): New variable.
41867 (configfile_mod_CFLAGS): Likewise.
41868 * util/grub-emu.c (main): Call grub_configfile_init and
41869 grub_configfile_fini.
41870 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41871 prototype.
41872 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41873
cee01aa6 418742005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41875
41876 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41877 address.
41878
41879 * commands/help.c (grub_cmd_help): Do not print newlines after
41880 the last command in print_command_help.
41881
93f3a1d8 418822005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41883
41884 * commands/default.h: New file.
41885 * commands/timeout.h: Likewise.
41886 * normal/context.c: Likewise.
f19dbdb7 41887
93f3a1d8 41888 * util/misc.c: Do not include sys/times.h.
41889 Include sys/time.h and grub/machine/time.h.
41890 (grub_get_rtc): Rewritten with gettimeofday.
41891
41892 * util/grub-emu.c (main): Call grub_default_init and
41893 grub_timeout_init before grub_normal_init, and call
41894 grub_timeout_fini and grub_default_fini after grub_main.
41895
41896 * util/console.c (grub_ncurses_checkkey): Return the read
41897 character or -1.
41898
41899 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41900 timeouts.
41901
41902 * normal/main.c (read_config_file): Push MENU. If this fails,
41903 print an error and wait for a user input.
41904 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41905 If a menu is empty or an error occurs, pop MENU.
41906 (grub_normal_execute): Pop and free MENU after grub_menu_run
41907 returns.
41908
41909 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41910
41911 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41912 include time.h.
41913 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41914 without GRUB_UTIL.
41915 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41916 time.h.
41917 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41918 without GRUB_UTIL.
41919
41920 * include/grub/normal.h (struct grub_menu_list): New struct.
41921 (grub_menu_list_t): New type.
41922 (struct grub_context): New struct.
41923 (grub_context_t): New type.
41924 (grub_register_command): Got rid of EXPORT_FUNC.
41925 (grub_unregister_command): Likewise.
41926 (grub_context_get): New prototype.
41927 (grub_context_get_current_menu): Likewise.
41928 (grub_context_push_menu): Likewise.
41929 (grub_context_pop_menu): Likewise.
41930 [GRUB_UTIL] (grub_default_init): Likewise.
41931 [GRUB_UTIL] (grub_default_fini): Likewise.
41932 [GRUB_UTIL] (grub_timeout_init): Likewise.
41933 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41934
41935 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41936 commands/timeout.c and normal/context.c.
41937 (pkgdata_MODULES): Added default.mod and timeout.mod.
41938 (normal_mod_SOURCES): Added normal/context.c.
41939 (default_mod_SOURCES): New variable.
41940 (default_mod_CFLAGS): Likewise.
41941 (timeout_mod_SOURCES): Likewise.
41942 (timeout_mod_CFLAGS): Likewise.
41943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41944 conf/i386-pc.rmk.
41945 (pkgdata_MODULES): Added default.mod and timeout.mod.
41946 (normal_mod_SOURCES): Added normal/context.c.
41947 (default_mod_SOURCES): New variable.
41948 (default_mod_CFLAGS): Likewise.
41949 (timeout_mod_SOURCES): Likewise.
41950 (timeout_mod_CFLAGS): Likewise.
41951
41952 * Makefile.in (all-local): Added $(MKFILES).
41953
4ed2e1dd 419542005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41955
41956 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41957 (grub_emu_SOURCES): Likewise.
41958 (pkgdata_MODULES): Add `sun.mod'.
41959 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41961 `partmap/sun.c'.
41962 (pkgdata_MODULES): Add `sun.mod'.
41963 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41964 * include/grub/partition.h (grub_sun_partition_map_init): New
41965 prototype.
41966 (grub_sun_partition_map_fini): Likewise.
41967 * partmap/sun.c: New file.
41968 * util/grub-emu.c (main): Initialize and de-initialize the sun
41969 partitionmap support.
41970
4d4e372e 419712005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41972
41973 This implements an Emacs-like menu entry editor.
f19dbdb7 41974
4d4e372e 41975 * normal/menu_entry.c: New file.
f19dbdb7 41976
4d4e372e 41977 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41978 characters to ASCII.
41979 (saved_char): New variable.
41980 (grub_ncurses_checkkey): Rewritten completely.
41981 (grub_ncurses_getkey): Likewise.
41982 (grub_ncurses_init): Call raw instead of cbreak.
41983
41984 * normal/menu.c (print_entry): Do not put a space.
41985 (init_page): Renamed to ...
41986 (grub_menu_init_page): ... this. All callers changed.
41987 (edit_menu_entry): Removed.
41988 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41989
41990 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41991
41992 * kern/misc.c (grub_vprintf): Call grub_refresh.
41993
41994 * normal/menu.c (DISP_LEFT): Renamed to ...
41995 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41996 * normal/menu.c (DISP_UP): Renamed to ...
41997 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41998 * normal/menu.c (DISP_RIGHT): Renamed to ...
41999 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42000 * normal/menu.c (DISP_DOWN): Renamed to ...
42001 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42002 * normal/menu.c (DISP_HLINE): Renamed to ...
42003 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42004 * normal/menu.c (DISP_VLINE): Renamed to ...
42005 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42006 * normal/menu.c (DISP_UL): Renamed to ...
42007 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42008 * normal/menu.c (DISP_UR): Renamed to ...
42009 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42010 * normal/menu.c (DISP_LL): Renamed to ...
42011 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42012 * normal/menu.c (DISP_LR): Renamed to ...
42013 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42014 * normal/menu.c (TERM_WIDTH): Renamed to ...
42015 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42016 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42017 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42018 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42019 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42020 * normal/menu.c (TERM_MARGIN): Renamed to ...
42021 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42022 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42023 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42024 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42025 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42026 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42027 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42028 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42029 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42030 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42031 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42032 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42033 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42034 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42035 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42036 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42037 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42038 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42039 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42040 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42041 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42042 All callers changed.
42043
42044 * include/grub/normal.h: New prototype.
42045
42046 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42047 normal/menu_entry.c.
42048 (normal_mod_SOURCES): Likewise.
42049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42050 (normal_mod_SOURCES): Likewise.
42051
e6b92c8a 420522005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42053
42054 * include/grub/normal.h (grub_halt_init): New prototype.
42055 (grub_halt_fini): Likewise.
42056 (grub_reboot_init): Likewise.
42057 (grub_reboot_fini): Likewise.
42058
42059 * util/grub-emu.c: Include signal.h.
42060 (main_env): New global variable.
42061 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42062 catch C-c.
42063 (grub_machine_fini): New function.
42064 (main): Call grub_halt_init and grub_reboot_init before
42065 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42066 Call setjmp with MAIN_ENV to go back afterwards.
42067 Call grub_machine_fini right before return.
42068
42069 * include/grub/util/misc.h: Include setjmp.h.
42070 (main_env): New prototype.
42071
42072 * include/grub/kernel.h (grub_machine_fini): New prototype.
42073 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42074 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42075
42076 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42077 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42078 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42079
e6b92c8a 42080 * util/i386/pc/misc.c: New file.
f19dbdb7 42081
e6b92c8a 42082 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42083 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42084 commands/i386/pc/reboot.c.
42085
c642636f 420862005-02-14 Guillem Jover <guillem@hadrons.org>
42087
42088 * include/grub/dl.h (grub_dl_check_header): New prototype.
42089 (grub_arch_dl_check_header): Change return type to grub_err_t,
42090 remove size parameter and export function. Update all callers.
42091 * kern/dl.c (grub_dl_check_header): New function.
42092 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42093 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42094 are inside the core.
42095 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42096 independent ELF header checks.
42097 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42098 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42099 `grub_dl_check_header' instead of explicit checks. Check for the
42100 ELF type.
42101 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42102 `grub_dl_check_header' instead of explicit checks. Remove arch
42103 specific ELF header checks.
42104
e6b92c8a 42105 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42106 argument SIZE.
42107
5eabe94b 421082005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42109
42110 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42111 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42112
1b14a681 421132005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42114
42115 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42116 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42117 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42118 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42119 * partmap/amiga.c (amiga_partition_map_iterate): Return
42120 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42121 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42122
aca108aa 421232005-02-01 Guillem Jover <guillem@hadrons.org>
42124
42125 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42126 help info.
42127
c9f9c556 421282005-01-31 Marco Gerards <metgerards@student.han.nl>
42129
42130 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42131 Removed prototype.
42132 (grub_rescue_cmd_linux): New prototype.
42133 (grub_rescue_cmd_initrd): Likewise.
42134 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42135 `bi_rec'.
42136 (grub_linux_release_mem): Release the memory for the initrd.
42137 (grub_load_linux): Renamed from this...
42138 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42139 Changed `entry' not to be static. Loop over memory regions to
42140 find another one when the default fails.
42141 (grub_rescue_cmd_initrd): New function.
42142 (grub_linux_init): Remove function.
42143 (grub_linux_fini): Likewise.
42144 (GRUB_MOD_INIT): Register `initrd'.
42145 (GRUB_MOD_FINI): Unregister `initrd'.
42146 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42147 Function removed.
42148 (grub_linux_normal_fini): Likewise.
42149 (GRUB_MOD_INIT): Register `initrd'.
42150 (GRUB_MOD_FINI): Unregister `initrd'.
42151
990cf3aa 421522005-01-31 Marco Gerards <metgerards@student.han.nl>
42153
42154 * commands/help.c: New file.
42155 * normal/arg.c (show_help): Renamed to...
42156 (grub_arg_show_help): ... this.
42157 * commands/i386/pc/halt.c: New file.
42158 * commands/i386/pc/reboot.c: Likewise.
42159 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42160 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42161 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42162 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42163 variables.
42164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42165 `commands/help.c'.
42166 (pkgdata_MODULES): Add `help.mod'.
42167 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42168 * grub/i386/pc/init.h (grub_reboot): New prototype.
42169 (grub_halt): Likewise.
42170 * include/grub/normal.h (grub_arg_show_help): New prototype.
42171 (grub_help_init): Likewise.
42172 (grub_help_fini): Likewise.
42173 * util/grub-emu.c (main): Initialize and deinitialize the help
42174 command.
42175
42176 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42177
42178 * normal/command.c (grub_command_init): Fixed the description of
42179 the `set' and `unset' commands.
42180
421812005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42182
42183 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42184 function.
42185 * commands/ieee1275/halt.c: New file.
42186 * commands/ieee1275/reboot.c: Likewise.
42187 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42188 `__attribute__ ((unused))'. Some GCS related fixed.
42189 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42190 (grub_suspend_fini): Likewise.
42191 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42192 and `halt.mod'.
42193 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42194 (halt_mod_CFLAGS): New variables.
42195 * include/grub/powerpc/ieee1275/ieee1275.h
42196 (grub_ieee1275_interpret): New prototype.
42197
1ab09cc7 421982005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42199
42200 * include/grub/misc.h (memmove): New prototype.
42201 (memcpy): Likewise.
42202
8b8cbdb2 422032005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42204
42205 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42206 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42207
e3741a27 422082005-01-22 Marco Gerards <metgerards@student.han.nl>
42209
42210 * kern/misc.c (grub_strndup): Function rewritten.
42211
776bd780 422122005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42213
42214 * normal/menu.c (TERM_WIDTH): Macro redefined.
42215 (TERM_TOP_BORDER_Y): Likewise.
42216 (draw_border): Replaced while-loop by a for-loop. Make the number
42217 of lines consistent with the number of lines displayed in
42218 print_entries. Added a margin below the rectangle.
42219 (print_entry): Make the entry fit in the rectangle.
42220 (print_entries): Display the scroll arrows next to the right
42221 border.
42222
78026bce 422232005-01-21 Marco Gerards <metgerards@student.han.nl>
42224
42225 * fs/minix.c (grub_minix_find_file): Reserve more space for
42226 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42227 `grub_strncpy' to copy `path' into it.
42228
67bbaf0f 422292005-01-21 Marco Gerards <metgerards@student.han.nl>
42230
42231 Add the loopback device, a device via which files can be accessed
42232 as devices.
f19dbdb7 42233
67bbaf0f 42234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42235 (pkgdata_MODULES): Add loopback.mod.
42236 (loopback_mod_SOURCES): New variable.
42237 (loopback_mod_CFLAGS): Likewise.
42238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42239 `disk/loopback.c'.
42240 (pkgdata_MODULES): Add loopback.mod.
42241 (loopback_mod_SOURCES): New variable.
42242 (loopback_mod_CFLAGS): Likewise.
42243 * disk/loopback.c: new file.
42244 * include/grub/normal.h (grub_loop_init): New prototype.
42245 (grub_loop_fini): New prototype.
42246 * util/grub-emu.c (main): Initialize and de-initialize loopback
42247 support.
42248 * include/grub/disk.h (grub_disk_dev_id): Add
42249 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42250
6f1c18bd 422512005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42252
42253 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42254 function.
42255 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42256 (suspend_mod_SOURCES): New variable.
42257 (suspend_mod_CFLAGS): Likewise.
42258 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42259 New prototype.
42260 * commands/ieee1275/suspend.c: New file.
42261
b38551da 422622005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42263
42264 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42265 ((unused))' to `__attribute__ ((used))'.
b38551da 42266 (GRUB_MOD_FINI): Likewise.
42267 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42268 * genmk.rb (PModule): Assign space to common symbols when linking
42269 modules.
42270
777aff39 422712005-01-20 Marco Gerards <metgerards@student.han.nl>
42272
42273 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42274 `unsigned' arguments to `grub_size_t'.
42275 (grub_malloc): Likewise.
42276 (grub_realloc): Likewise.
42277 (grub_memalign): Likewise.
42278 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42279 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42280 * util/misc.c (grub_malloc): Likewise.
42281 (grub_realloc): Likewise.
42282 * kern/mm.c (get_header_from_pointer): Change the casts to
42283 `unsigned' into a cast to `grub_size_t'.
42284
42285 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42286 point to `currnode' when `currnode' is changed.
42287
42288 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42289 Schottelius <nico-linux@schottelius.org>.
42290
d0ff18e1 422912005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42292
42293 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42294 (note_path): Remove variable.
42295 (GRUB_IEEE1275_NOTE_NAME): New macro.
42296 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42297 (grub_ieee1275_note_hdr): New structure.
42298 (grub_ieee1275_note_desc): Likewise.
42299 (grub_ieee1275_note): Likewise.
42300 (load_note): Remove `dir' argument. All callers updated. Remove
42301 `note_img' and `path'. Do not load a file from `note_path'.
42302 Initialize a struct grub_ieee1275_note and write that to `out'.
42303 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42304
4ca7004c 423052005-01-05 Marco Gerards <metgerards@student.han.nl>
42306
42307 * util/misc.c (grub_util_read_image): Revert last change. It
42308 called `grub_util_read_at', which seeks from the beginning of the
42309 file.
42310
0b412211 423112005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42312
42313 * TODO: Add note about endianness in grub-mkimage.
42314 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42315 section.
42316 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42317 (grub_mkimage_SOURCES): New target.
42318 * include/grub/kernel.h (grub_start_addr): Remove variable.
42319 (grub_end_addr): Likewise.
42320 (grub_total_module_size): Likewise.
42321 (grub_kernel_image_size): Likewise.
42322 (GRUB_MODULE_MAGIC): New constant.
42323 (grub_module_info): New structure.
42324 (grub_arch_modules_addr): New prototype.
42325 (grub_get_end_addr): Remove prototype.
42326 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42327 * include/grub/powerpc/ieee1275/kernel.h: New file.
42328 * include/grub/util/misc.h (grub_util_get_fp_size): New
42329 prototype.
42330 (grub_util_read_at): Likewise.
42331 (grub_util_write_image_at): Likewise.
42332 * kern/main.c (grub_get_end_addr): Remove function.
42333 (grub_load_modules): Call grub_arch_modules_addr instead of using
42334 grub_end_addr. Look for a grub_module_info struct in memory. Use
42335 the grub_module_info fields instead of calling grub_get_end_addr
42336 as loop conditions. Move grub_add_unused_region code here.
42337 (grub_add_unused_region): Remove function.
42338 * kern/i386/pc/init.c: Include grub/cache.h.
42339 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42340 one call to add_mem_region.
42341 (grub_arch_modules_addr): New function.
42342 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42343 (grub_total_module_size): Likewise.
42344 Include grub/machine/kernel.h.
42345 (grub_arch_modules_addr): New function.
42346 * util/grub-emu.c (grub_end_addr): Remove variable.
42347 (grub_total_module_size): Likewise.
42348 (grub_arch_modules_addr): New function.
42349 * util/misc.c: Include unistd.h.
42350 (grub_util_get_fp_size): New function.
42351 (grub_util_read_at): Likewise.
42352 (grub_util_write_image_at): Likewise.
42353 (grub_util_read_image): Call grub_util_read_at.
42354 (grub_util_write_image): Call grub_util_write_image_at.
42355 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42356 additional memory in kernel_img for a struct grub_module_info.
42357 Fill in that grub_module_info.
42358 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42359
458786f8 423602005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42361
42362 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42363 New function.
42364 * include/grub/powerpc/ieee1275/ieee1275.h
42365 (grub_ieee1275_milliseconds): New prototype.
42366 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42367 Change to 1000.
42368 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42369 grub_ieee1275_milliseconds.
42370
ac507d1b 423712005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42372
42373 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42374 variable.
42375 (find_options): New function.
42376 (cmain): Call find_options.
42377 * include/grub/powerpc/ieee1275/ieee1275.h
42378 (grub_ieee1275_realmode): New extern variable.
42379 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42380 grub_map if grub_ieee1275_realmode is false.
42381
6b8fd1c4 423822004-12-29 Marco Gerards <metgerards@student.han.nl>
42383
42384 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42385 lines are inserted and make it work like readline. Reported by
42386 Vincent Pelletier <subdino2004@yahoo.fr>.
42387
8514a1e0 423882004-12-28 Marco Gerards <metgerards@student.han.nl>
42389
42390 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42391
42392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42393 `kern/powerpc/cache.S'.
42394
924b6140 423952004-12-27 Marco Gerards <metgerards@student.han.nl>
42396
42397 * genmk.rb: Handle the `Program' class in the main loop. Written
42398 by Johan Rydberg <jrydberg@gnu.org>.
42399 (Program): New class.
42400 (programs): New variable.
42401 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42402 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42403 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42404 (help_arch): Function removed.
42405 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42406 `powerpc/libgcc.h' and `loader.h'.
42407 (pkgdata_PROGRAMS): New variable.
42408 (sbin_UTILITIES): Variable removed.
42409 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42410 (grubof_SOURCES): Variable re-defined so it only includes the
42411 core functionality.
42412 (grubof_CFLAGS): Remove `-DGRUBOF'.
42413 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42414 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42415 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42416 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42417 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42418 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42419 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42420 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42421 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42422 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42423 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42424 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42425 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42426 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42427 (pc_mod_CFLAGS): New variables.
42428 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42429 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42430 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42431 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42432 Moved from here...
42433 * include/grub/i386/pc/init.h (grub_os_area_addr)
42434 (rub_os_area_size): ... to here.
42435 * include/grub/powerpc/ieee1275/ieee1275.h
42436 (grub_ieee1275_entry_fn): Export symbol.
42437 * include/grub/powerpc/ieee1275/init.h: New file.
42438 * include/grub/powerpc/libgcc.h: Likewise.
42439 * include/grub/cache.h: Likewise.
42440 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42441 <hollis@penguinppc.org>.
42442 * kern/dl.c: Include <grub/cache.h>.
42443 (grub_dl_flush_cache): New function.
42444 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42445 for this module.
42446 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42447 (grub_console_init): Removed prototypes.
42448 (grub_machine_init): Don't initialize the modules anymore.
42449 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42450 static.
42451 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42452 Macro undef removed.
42453 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42454 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42455 relocation `R_PPC_REL32'. Return an error when the relocation is
42456 unknown.
42457 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42458 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42459 * util/misc.c (grub_arch_sync_caches): Likewise.
42460
e4b47e0c 424612004-12-19 Marco Gerards <metgerards@student.han.nl>
42462
42463 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42464 `symlist.c', add `grubof_symlist.c'.
42465 (symlist.c): Variable removed.
42466 (grubof_HEADERS): Variable added.
42467 (grubof_symlist.c): New target.
42468 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42469 `kernel_img_HEADERS'.
42470 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42471 * kern/powerpc/dl.c: New file.
42472 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42473 Function removed.
42474 (grub_arch_dl_relocate_symbols): Likewise.
42475 (grub_register_exported_symbols): Likewise.
42476
4ceb3636 424772004-12-13 Marco Gerards <metgerards@student.han.nl>
42478
42479 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42480 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42481 to fail instead. Reported by Vincent Pelletier
42482 <subdino2004@yahoo.fr>.
42483
42484 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42485 it is not allocated. Reported by Vincent Pelletier
42486 <subdino2004@yahoo.fr>.
42487
42488 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42489 output so the output looks better.
f19dbdb7 42490
3f1578fe 424912004-12-04 Marco Gerards <metgerards@student.han.nl>
42492
42493 Modulize the partition map support and add support for the amiga
42494 partition map.
f19dbdb7 42495
3f1578fe 42496 * commands/ls.c: Include <grub/partition.h> instead of
42497 <grub/machine/partition.h>.
42498 * kern/disk.c: Likewise.
42499 * kern/rescue.c: Likewise.
42500 * loader/i386/pc/chainloader.c: Likewise.
42501 * normal/cmdline.c: Likewise.
42502 * kern/powerpc/ieee1275/init.c: Likewise.
42503 (grub_machine_init): Call `grub_pc_partition_map_init',
42504 `grub_amiga_partition_map_init' and
42505 `grub_apple_partition_map_init'.
42506 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42507 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42508 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42509 `partition.h' and `pc_partition.h'.
42510 (grub_setup_SOURCES): Remove
42511 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42512 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42513 (grub_emu_SOURCES): Likewise.
42514 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42515 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42516 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42518 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42519 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42520 (grubof_SOURCES): Likewise.
42521 * disk/i386/pc/partition.c: File removed.
42522 * disk/powerpc/ieee1275/partition.c: Likewise.
42523 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42524 * include/grub/i386/pc/partition.h: Likewise.
42525 * kern/partition.c: New file.
42526 * partmap/amiga.c: Likewise.
42527 * partmap/apple.c: Likewise.
42528 * partmap/pc.c: Likewise.
42529 * include/grub/partition.h: Likewise..
42530 * include/grub/pc_partition.h: Likewise.
42531 * util/grub-emu.c: Include <grub/partition.h> instead of
42532 <grub/machine/partition.h>.
42533 (main): Call `grub_pc_partition_map_init',
42534 `grub_amiga_partition_map_init' and
42535 `grub_apple_partition_map_init' and deinitialize afterwards.
42536 * util/i386/pc/biosdisk.c: Include `#include
42537 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42538 `<grub/machine/partition.h>'.
42539 * util/i386/pc/grub-setup.c: Likewise.
42540 * util/i386/pc/biosdisk.c: Likewise.
42541 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42542 partition information in case of a PC partition.
42543 * util/i386/pc/grub-setup.c: Include `#include
42544 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42545 `<grub/machine/partition.h>'.
42546 (setup): Only access the PC specific partition information in case
42547 of a PC partition.
42548
0ef4ced9 425492004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42550
0ef4ced9 42551 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42552 (grub_longjmp): Likewise.
42553 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42554 20.
42555 * normal/powerpc/setjmp.S: New file.
42556 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42557 `normal/powerpc/setjmp.S'.
42558 (grubof_CFLAGS): Add `-DGRUBOF'.
42559 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42560 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42561
19950e29 425622004-11-16 Marco Gerards <metgerards@student.han.nl>
42563
42564 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42565 property named `name'. Correctly handle the error returned by
42566 `grub_ieee1275_finddevice' if a device can not be opened.
42567
a2fea427 425682004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42569
42570 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42571 `actual' for negativity.
42572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42573 kern/fshelp.c.
42574
41ea0ea3 425752004-11-01 Marco Gerards <metgerards@student.han.nl>
42576
42577 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42578 (PAGE_OFFSET): New macro.
42579 (CRTC_ADDR_PORT): Likewise.
42580 (CRTC_DATA_PORT): Likewise.
42581 (START_ADDR_HIGH_REGISTER): Likewise.
42582 (START_ADDR_LOW_REGISTER): Likewise.
42583 (GRAPHICS_ADDR_PORT): Likewise.
42584 (GRAPHICS_DATA_PORT): Likewise.
42585 (READ_MAP_REGISTER): Likewise.
42586 (INPUT_STATUS1_REGISTER): Likewise.
42587 (INPUT_STATUS1_VERTR_BIT): Likewise.
42588 (page): New variable.
42589 (wait_vretrace): New function.
42590 (set_read_map): Likewise.
42591 (set_start_address): Likewise.
42592 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42593 the right page.
42594 (check_vga_mem): Take the page into account.
42595 (write_char): Likewise.
42596 (write_cursor): Likewise.
42597 (scroll_up): Likewise. Copy the page to the page that is not
42598 shown and switch between both pages.
42599 (grub_vga_putchar): Fix off by one error.
42600 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42601 account.
42602
ad0bd20b 426032004-11-01 Marco Gerards <metgerards@student.han.nl>
42604
42605 Add support for iso9660 (including rockridge).
f19dbdb7 42606
ad0bd20b 42607 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42608 (iso9660_mod_SOURCES): New variable.
42609 (iso9660_mod_CFLAGS): Likewise.
42610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42611 * include/grub/fs.h (grub_iso9660_init): New prototype.
42612 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42613 * fs/iso9660.c: New file.
42614
42615 * include/grub/misc.h (grub_strncat): New prototype.
42616 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42617
ad0bd20b 42618 * fs/hfs.c (grub_hfs_mount): Translate the error
42619 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42620 * fs/jfs.c (grub_jfs_mount): Likewise.
42621 * fs/ufs.c (grub_ufs_mount): Likewise.
42622
a5477a59 426232004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42624
42625 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42626 which initialized BAT registers.
42627 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42628 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42629 Move from here...
42630 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42631 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42632 ... to here.
42633 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42634 (grub_mapclaim): Likewise.
42635 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42636 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42637 hand.
42638
9304c1f8 426392004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42640
42641 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42642 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42643 -ffreestanding and -msoft-float.
42644
86f4ae25 426452004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42646
42647 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42648 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42649 set in grub_ieee1275_flags.
42650
38912228 426512004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42652
42653 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42654 prototype.
42655 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42656 grub_console_init first.
42657 Change the memory range used for grub_ieee1275_claim and
42658 grub_mm_init_region.
42659 Print an error message if the claim fails.
42660 Include <grub/misc.h>.
42661
d1923dc8 426622004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42663
42664 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42665 Call grub_children_iterate for device nodes of type `scsi',
42666 `ide', or `ata'.
42667 (grub_ofdisk_open): Remove manual device alias resolution.
42668 Fix memory leak when device cannot be opened.
f19dbdb7 42669 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42670 (grub_children_iterate): New prototype.
42671 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42672 New function.
42673 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42674 Return -1 if args.size was -1.
42675
4512e4f3 426762004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42677
42678 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42679 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42680 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42681 Open Firmware's memory for it; claim memory from _start to _end.
42682 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42683 (_end): New extern.
42684 (_start): Zero BSS from __bss_start to _end.
42685 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42686 New extern.
42687 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42688
4d61feb0 426892004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42690
ad0bd20b 42691 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42692 -1 if args.base was -1.
4d61feb0 42693
026fa2f9 426942004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42695
42696 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42697 escape sequence instead of a literal ^L. Also call
42698 grub_ofconsole_gotoxy.
42699
9f2220ef 427002004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42701
42702 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42703 void * arguments to grub_addr_t. All callers updated. Also make
42704 the `result' argument optional.
42705 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42706 All callers updated.
42707
8a572cd7 427082004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42709
42710 * commands/ls.c (grub_ls_list_files): Use the string following the
42711 initial ')', if present, as the filesystem path.
42712 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42713
42714 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42715
18aa81f2 427162004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42717
42718 Make the source code of the menu interface more readable.
f19dbdb7 42719
18aa81f2 42720 * normal/menu.c: Include grub/mm.h.
42721 (TERM_WIDTH): New macro.
42722 (TERM_HEIGHT): Likewise.
42723 (TERM_INFO_HEIGHT): Likewise.
42724 (TERM_MARGIN): Likewise.
42725 (TERM_SCROLL_WIDTH): Likewise.
42726 (TERM_TOP_BORDER_Y): Likewise.
42727 (TERM_LEFT_BORDER_X): Likewise.
42728 (TERM_BORDER_WIDTH): Likewise.
42729 (TERM_MESSAGE_HEIGHT): Likewise.
42730 (TERM_BORDER_HEIGHT): Likewise.
42731 (TERM_NUM_ENTRIES): Likewise.
42732 (TERM_FIRST_ENTRY_Y): Likewise.
42733 (TERM_ENTRY_WIDTH): Likewise.
42734 (TERM_CURSOR_X): Likewise.
42735 (draw_border): Use macros instead of magic numbers.
42736 (print_entry): Likewise.
42737 (print_entries): Likewise.
42738 (run_menu): Likewise. Also, handle the key 'e'.
42739 (run_menu_entry): Ignore empty command lines.
42740 (print_message): Added a new argument EDIT. If EDIT is true,
42741 print a different message.
42742 (init_page): Likewise.
42743 (edit_menu_entry): New function. Not implemented yet.
42744
b47efe30 427452004-09-17 Marco Gerards <metgerards@student.han.nl>
42746
42747 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42748 can be loaded from normal mode.
f19dbdb7 42749
b47efe30 42750 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42751 `multiboot.mod'.
42752 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42753 (multiboot_mod_CFLAGS): New variables.
42754 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42755 * loader/i386/pc/multiboot_normal.c: Likewise.
42756
b47efe30 42757 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42758 attribute `unused'.
f19dbdb7 42759
b47efe30 42760 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42761 `fdiro' to read the mode information from instead of `diro'.
42762
42763 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42764 looking up a symlink.
42765
42766 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42767 macro.
42768 * normal/command.c (grub_command_execute): Don't parse the
42769 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42770 flags of the command.
42771
42772 * normal/menu.c (grub_menu_run): Fix typo.
42773
da75ac71 427742004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42775
42776 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42777
42778 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42779 `y + 1' instead of `y - 1'.
42780
42781 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42782
062b24c2 427832004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42784
42785 From Hollis Blanchard <hollis@penguinppc.org>:
42786 * kern/misc.c (memmove): New alias for grub_memmove.
42787 (memcmp): New alias for grub_memcmp.
42788 (memset): New alias for grub_memset.
f19dbdb7 42789 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42790 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42791 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42792 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42793
8ddad845 427942004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42795
42796 Added normal mode command `chainloader' as module chain.mod, which
42797 depends on normal.mod and _chain.mod.
f19dbdb7 42798
8ddad845 42799 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42800 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42801 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42802 Deleted prototype.
42803 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42804 but arguments parsing moved to ...
42805 (grub_chainloader_cmd): ... here. New function.
42806 * include/grub/i386/pc/chainloader.h: New file.
42807 * loader/i386/pc/chainloader_normal.c: Likewise.
42808
2c1f4ce3 428092004-09-11 Marco Gerards <metgerards@student.han.nl>
42810
42811 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42812 (grub_mkimage_LDFLAGS): Likewise.
42813 (grub_emu_SOURCES): Likewise.
42814 (kernel_img_HEADERS): Added fshelp.h.
42815 * fs/ext2.c: Include <grub/fshelp.h>.
42816 (FILETYPE_REG): New macro.
42817 (FILETYPE_INO_REG): Likewise.
42818 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42819 Changed all users.
42820 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42821 all users.
42822 (grub_fshelp_node): New struct.
42823 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42824 to a pointer.
42825 (grub_ext2_get_file_block): Removed function.
42826 (grub_ext2_read_block): New function.
42827 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42828 This function was written.
42829 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42830 (grub_ext2_find_file): Removed function.
42831 (grub_ext2_read_symlink): New function.
42832 (grub_ext2_iterate_dir): Likewise.
42833 (grub_ext2_open): Rewritten.
42834 (grub_ext2_dir): Rewritten.
42835 * include/grub/fshelp.h: New file.
42836 * fs/fshelp.c: Likewise.
42837
3c52136a 428382004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42839
42840 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42841 (print_message): Add a missing newline.
42842 (run_menu): Added timeout support.
42843 (run_menu_entry): New local function.
42844 (grub_menu_run): Added support for booting.
42845
42846 * kern/loader.c (grub_loader_is_loaded): New function.
42847
42848 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42849 (grub_get_rtc): Exported.
42850
42851 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42852 (grub_get_rtc): Exported.
42853
42854 * include/grub/normal.h (struct grub_command_list): Remove
42855 constant from the member `command'.
42856
42857 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42858
42859 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42860
42861 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42862
aa033560 428632004-08-28 Marco Gerards <metgerards@student.han.nl>
42864
42865 Add support for the JFS filesystem.
42866
42867 * fs/jfs.c: New file.
42868 * include/grub/fs.h (grub_jfs_init): New prototype.
42869 (grub_jfs_fini): New prototype.
42870 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42871 (grub_emu_SOURCES): Likewise.
42872 (pkgdata_MODULES): Add jfs.mod.
42873 (jfs_mod_SOURCES): New variable.
42874 (jfs_mod_CFLAGS): Likewise.
42875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42876 (grubof_SOURCES): Likewise.
42877 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42878
42879 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42880 endian to the host endian.
42881 (grub_fat_utf16_to_utf8): Move function from there...
42882 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42883 the endianness of the source string anymore.
aa033560 42884 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42885
94bc45af 428862004-08-24 Marco Gerards <metgerards@student.han.nl>
42887
42888 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42889 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42890 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42891 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42892
94bc45af 42893 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42894 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42895 for `node_found' and `it_dir'.
42896 (grub_hfs_dir): Add prototype for `dir_hook'.
42897
42898 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42899 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42900 and `indir32' to silence a gcc warning.
42901
42902 * include/grub/fs.h (grub_hfs_init): New prototype.
42903 (grub_hfs_fini): Likewise.
f19dbdb7 42904
42905
97543f08 429062004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42907
42908 Each disk device has its own id now. This is useful to make use
42909 of multiple disk devices.
f19dbdb7 42910
97543f08 42911 * include/grub/disk.h (grub_disk_dev_id): New enum.
42912 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42913 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42914
42915 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42916 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42917
42918 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42919 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42920
42921 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42922 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42923
42924 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42925 "id" which is used by the cache manager.
42926
42927 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42928 of just "GRUB".
42929
64372eb4 429302004-08-18 Marco Gerards <metgerards@student.han.nl>
42931
42932 * fs/hfs.c: New file.
42933 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42934 (grub_emu_SOURCES): Likewise.
42935 (pkgdata_MODULES): Add hfs.mod.
42936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42937 (grubof_SOURCES): Likewise.
42938 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42939
42940 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42941 * kern/misc.c (grub_strncasecmp): Add function.
42942
cc61b58f 429432004-08-14 Marco Gerards <metgerards@student.han.nl>
42944
42945 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42946 with parentheses.
42947
42948 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42949 (grub_ext2_dir): In case the directory entry type is unknown, read
42950 it from the inode.
42951
0ef123f6 429522004-08-02 Peter Bruin <pjbruin@dds.nl>
42953
42954 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42955 grub_load_linux instead of grub_rescue_cmd_linux as second
42956 argument of grub_rescue_register_command.
42957
42958 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42959
a447c5df 429602004-07-27 Marco Gerards <metgerards@student.han.nl>
42961
42962 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42963 function.
42964 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42965 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42966 `loader/powerpc/ieee1275/linux.c',
42967 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42968 * include/grub/powerpc/ieee1275/ieee1275.h
42969 (grub_ieee1275_release): New prototype.
42970 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42971 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42972 normal, boot, linux and linux_normal.
42973 * loader/powerpc/ieee1275/linux.c: New file.
42974 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42975
5a9e3546 429762004-07-12 Marco Gerards <metgerards@student.han.nl>
42977
42978 * normal/arg.c (grub_arg_parse): Correct error handling after
42979 reallocating the argumentlist (check if `argl' is not null instead
42980 of checking if `args' is not null).
42981 * kern/mm.c (grub_realloc): Return the same pointer when using the
42982 same region, instead of returning the header address.
42983
e15199cb 429842004-07-11 Marco Gerards <metgerards@student.han.nl>
42985
42986 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42987 one block instead of two when looking for the initial partition.
42988 (grub_partition_probe): Initialize the local variable `p' with 0.
42989 Use base 10 for the grub_strtoul call.
42990 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42991 need for one local variable.
42992 (grub_strtoul): Don't add the new value to `num', instead of that
42993 just assign it.
42994
020616c2 429952004-07-11 Marco Gerards <metgerards@student.han.nl>
42996
42997 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42998 (pxeboot_img_SOURCES): New variable.
42999 (pxeboot_img_ASFLAGS): Likewise.
43000 (pxeboot_img_LDFLAGS): Likewise.
43001 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43002 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43003 <lode_leroy@hotmail.com>.
43004
6c51eb64 430052004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43006
43007 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43008 there was no input.
43009
cfb12aff 430102004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43011
43012 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43013 the history buffer logic.
43014
6eabba74 430152004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43016
43017 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43018 (FILETYPE_INO_SYMLINK): New macros.
43019 (grub_ext2_find_file): Check if the node is a directory using the
43020 inode stat information instead of using the filetype in the
43021 dirent. Exclude the first character of an absolute symlink.
43022 (grub_ext2_dir): Mask out the filetype part of the mode member of
43023 the inode.
43024
66e19ef8 430252004-05-24 Marco Gerards <metgerards@student.han.nl>
43026
43027 Add support for UFS version 1 and 2. Add support for the minix
43028 filesystem version 1 and 2, both the variants with 14 and 30 long
43029 filenames.
f19dbdb7 43030
66e19ef8 43031 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43032 fs/minix.c.
43033 (grub_emu_SOURCES): Likewise.
43034 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43035 (ufs_mod_SOURCES): New variable.
43036 (ufs_mod_CFLAGS): Likewise.
43037 (minix_mod_SOURCES): Likewise.
43038 (minix_mod_CFLAGS): Likewise.
43039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43040 fs/minix.c.
43041 (grubof_SOURCES): Likewise.
43042 * fs/ufs.c: New file.
43043 * fs/minix.c: New file.
43044 * include/grub/fs.h (grub_ufs_init): New prototype.
43045 (grub_ufs_fini): Likewise.
43046 (grub_minix_init): Likewise.
43047 (grub_minix_fini): Likewise.
43048 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43049 minix fs.
43050
cc2e748a 430512004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43052
43053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43054 commands/ls.c, commands/terminal.c, commands/boot.c,
43055 commands/cmp.c and commands/cat.c.
43056 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43057
43058 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43059 "env.h"
43060
4b13b216 430612004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43062
43063 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43064 and grub_, respectively. Because the conversion is trivial and
43065 mechanical, I omit the details here. Please refer to the CVS
43066 if you need more information.
43067
6a142551 430682004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43069
43070 * include/pupa: Renamed to ...
43071 * include/grub: ... this.
43072 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43073 * util/i386/pc/grub-mkimage.c: ... this.
43074 * util/i386/pc/pupa-setup.c: Renamed to ...
43075 * util/i386/pc/grub-setup.c: ... this.
43076 * util/pupa-emu.c: Renamed to ...
43077 * util/grub-emu.c: ... this.
43078
e56cdf21 430792004-03-29 Marco Gerards <metgerards@student.han.nl>
43080
43081 Add support for the newworld apple macintosh (PPC). This has been
43082 tested on the powerbook 2000 only. It only adds support for
43083 generic ieee1275 functions, console and disk support. This should
43084 be easy to port to other architectures with support for Open
43085 Firmware.
f19dbdb7 43086
e56cdf21 43087 * configure.ac: Accept the powerpc as host_cpu. In the case of
43088 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43089 specific tests are only executed while building for the i386.
43090 Inverse test for crosscompile.
43091 * genmk.rb (Utility): Allow assembler files.
43092 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43093 * conf/powerpc-ieee1275.rmk: New file.
43094 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43095 * disk/powerpc/ieee1275/partition.c: Likewise.
43096 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43097 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43098 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43099 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43100 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43101 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43102 * include/pupa/powerpc/ieee1275/loader.h
43103 * include/pupa/powerpc/setjmp.h: Likewise.
43104 * include/pupa/powerpc/types.h: Likewise.
43105 * kern/powerpc/ieee1275/init.c: Likewise.
43106 * kern/powerpc/ieee1275/openfw.c: Likewise.
43107 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43108
43109 These files were written by Johan Rydberg
43110 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43111
e56cdf21 43112 * boot/powerpc/ieee1275/cmain.c: New file.
43113 * boot/powerpc/ieee1275/crt0.S: Likewise.
43114 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43115 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43116
8c8cc205 431172004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43118
43119 * Makefile.in: Update copyright.
43120 * genmodsrc.sh: Likewise.
43121 * gensymlist.sh: Likewise.
43122 * term/i386/pc/vga.c: Indent correctly.
43123
43124 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43125 bugreporting address.
43126 * util/i386/pc/pupa-setup.c (usage): Likewise,
43127 (main): Call pupa_ext2_init and pupa_ext2_fini.
43128
f19dbdb7 43129 * fs/fat.c (log2): Renamed to ...
8c8cc205 43130 (fat_log2): ... this.
43131 All callers changed.
43132 * kern/misc.c (memcpy): Alias to pupa_memmove.
43133 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43134 lvalue cast.
43135 * util/console.c (pupa_ncurses_fini): Return 0.
43136
43137 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43138 Move fail label here.
43139 [__GNU__]: Don't warn when using stat.
43140 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43141 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43142 long int. Use strtol instead of strtoul.
f19dbdb7 43143
db1771cf 431442004-03-14 Marco Gerards <metgerards@student.han.nl>
43145
43146 * commands/boot.c: New file.
43147 * commands/cat.c: Likewise.
43148 * commands/cmp.c: Likewise.
43149 * commands/ls.c: Likewise.
43150 * commands/terminal.c: Likewise.
43151 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43152 (pupa_register_command): Changed interface to match the new
43153 argument parser.
43154 (pupa_command_execute): Changed (almost rewritten) so it uses
43155 pupa_split_command. Added support for setting variables using the
43156 syntax `foo=bar'.
43157 (rescue_command): Changed to work with the new argument parser.
43158 (terminal_command): Moved from here to commands/terminal.c.
43159 (set_command): New function.
43160 (unset_command): New function.
43161 (insmod_command): New function.
43162 (rmmod_command): New function.
43163 (lsmod_command): New function.
43164 (pupa_command_init): Don't initialize the command terminal
43165 anymore. Initialize the commands set, unset, insmod, rmmod and
43166 lsmod.
43167 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43168 (kernel_img_HEADERS): Add arg.h and env.h.
43169 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43170 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43171 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43172 normal/arg.c.
43173 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43174 terminal.mod.
43175 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43176 (boot_mod_SOURCES): New variable.
43177 (terminal_mod_SOURCES): Likewise.
43178 (ls_mod_SOURCES): Likewise.
43179 (cmp_mod_SOURCES): Likewise.
43180 (cat_mod_SOURCES): Likewise.
43181
43182 * normal/arg.c: New file.
43183 * kern/env.c: Likewise.
43184 * include/pupa/arg.h: Likewise.
43185 * include/pupa/env.h: Likewise.
43186 * font/manager.c (font_command): Changed to match argument parsing
43187 interface changes.
43188 (PUPA_MOD_INIT): Likewise.
43189 * hello/hello.c (pupa_cmd_hello): Likewise.
43190 (PUPA_MOD_INIT): Likewise.
43191 * include/pupa/disk.h: Include <pupa/device.h>.
43192 (pupa_print_partinfo): New prototype.
43193 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43194 (pupa_dl_get_prefix): Likewise.
43195 * include/pupa/misc.h: Include <pupa/err.h>.
43196 (pupa_isgraph): New prototype.
43197 (pupa_isdigit): Likewise.
43198 (pupa_split_cmdline): Likewise.
43199 * include/pupa/normal.h: Include <pupa/arg.h>.
43200 (pupa_command): Changed the prototype of the member `func' to
43201 match the argument parsing interface. Added member `options'.
43202 (pupa_register_command): Updated to match function.
43203 (pupa_arg_parse): New prototype.
43204 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43205 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43206 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43207 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43208 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43209 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43210 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43211 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43212 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43213 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43214 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43215 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43216 * kern/disk.c: Include <pupa/file.h>.
43217 (pupa_print_partinfo): New function.
43218 * kern/dl.c: Include <pupa/env.h>.
43219 (pupa_dl_dir): Variable removed.
43220 (pupa_dl_load): Use the environment variable `prefix' instead of
43221 the variable pupa_dl_dir.
43222 (pupa_dl_set_prefix): Function removed.
43223 (pupa_dl_get_prefix): Likewise.
43224 * kern/i386/pc/init.c: Include <pupa/env.h>.
43225 (pupa_machine_init): Use the environment variable `prefix' instead of
43226 using pupa_dl_set_prefix to set the prefix.
43227 * kern/main.c: Include <pupa/env.h>.
43228 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43229 using pupa_dl_get_prefix to get the prefix.
43230 * kern/misc.c: Include <pupa/env.h>.
43231 (pupa_isdigit): New function.
43232 (pupa_isgraph): Likewise.
43233 (pupa_ftoa): Likewise.
43234 (pupa_vsprintf): Added support for printing values of the type
43235 `double'. Make it possible to format variable output when using
43236 formatting like `%1.2%f'.
43237 (pupa_split_cmdline): New function.
43238 * kern/rescue.c: Include <pupa/env.h>.
43239 (next_word): Removed function.
43240 (pupa_rescue_cmd_prefix): Likewise.
43241 (pupa_rescue_cmd_set): New function.
43242 (pupa_rescue_cmd_unset): New function.
43243 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43244 split the command line instead of splitting it here. Added
43245 support for setting variables using the syntax `foo=bar'. Don't
43246 initialize the prefix command anymore. Initialized the set and
43247 unset commands.
43248 * normal/cmdline.c: Include <pupa/env.h>.
43249 (pupa_tab_complete): Added prototypes for print_simple_completion,
43250 print_partition_completion, add_completion, iterate_commands,
43251 iterate_dev, iterate_part and iterate_dir. Moved code to print
43252 partition information from here to kern/disk.c.
fe6b695a 43253 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43254 * normal/main.c: Include <pupa/env.h>.
43255 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43256 instead of using pupa_dl_get_prefix to get the prefix.
43257 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43258 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43259 warning.
43260 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43261 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43262 ((unused))' to silence a gcc warning.
43263 (pupa_vga_setcolor): Likewise.
43264 (debug_command): Changed to match argument parsing
43265 interface changes.
43266 * util/pupa-emu.c: Include <pupa/env.h>.
43267 (options): Added 0's for unused fields to silence a gcc warning.
43268 (argp): Likewise.
43269 (main): Use the environment variable `prefix' instead of using
43270 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43271 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43272 and terminal.
43273
43274 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43275 * util/misc.c: Include <malloc.h>.
43276 (pupa_malloc): Rewritten so errors are correctly reported.
43277 (pupa_realloc): Likewise.
43278 (pupa_memalign): Likewise.
43279 (pupa_mm_init_region): Declare unused variables with
43280 `__attribute__ ((unused))' to silence a gcc warning.
43281 * normal/i386/setjmp.S: Remove tab at the end of the file to
43282 silence a gcc warning.
43283 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43284 variables with `__attribute__ ((unused))' to silence a gcc
43285 warning.
43286 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43287 local variable i unsigned to silence a gcc warning.
43288
43289 * kern/term.c: Include <pupa/misc.h>.
43290 (pupa_more_lines): New variable.
43291 (pupa_more): Likewise.
43292 (pupa_putcode): When the pager is active pause at the end of every
43293 screen.
43294 (pupa_set_more): New function.
43295 * include/pupa/term.h (pupa_set_more): New prototype.
43296
43297
3b1139cb 432982004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43299
43300 Now this project is GRUB 2 rather than PUPA. The location of
43301 the CVS repository was moved to GRUB's.
f19dbdb7 43302
3b1139cb 43303 * configure.ac: Use bug-grub as the reporting address.
43304 Use GRUB instead of PUPA.
43305 Change the version number to 1.90.
43306
8367695c 433072004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43308
43309 * genkernsyms.sh: Updated copyright information.
43310 * genmk.rb: Likewise.
43311 * genmodsrc.sh: Likewise.
43312 * gensymlist.sh: Likewise.
43313 * boot/i386/pc/boot.S: Likewise.
43314 * boot/i386/pc/diskboot.S: Likewise.
43315 * disk/i386/pc/biosdisk.c: Likewise.
43316 * disk/i386/pc/partition.c: Likewise.
43317 * font/manager.c: Likewise.
43318 * fs/ext2.c: Likewise.
43319 * fs/fat.c: Likewise.
43320 * include/pupa/boot.h: Likewise.
43321 * include/pupa/device.h: Likewise.
43322 * include/pupa/disk.h: Likewise.
43323 * include/pupa/dl.h: Likewise.
43324 * include/pupa/elf.h: Likewise.
43325 * include/pupa/err.h: Likewise.
43326 * include/pupa/file.h: Likewise.
43327 * include/pupa/font.h: Likewise.
43328 * include/pupa/fs.h: Likewise.
43329 * include/pupa/kernel.h: Likewise.
43330 * include/pupa/loader.h: Likewise.
43331 * include/pupa/misc.h: Likewise.
43332 * include/pupa/mm.h: Likewise.
43333 * include/pupa/net.h: Likewise.
43334 * include/pupa/normal.h: Likewise.
43335 * include/pupa/rescue.h: Likewise.
43336 * include/pupa/setjmp.h: Likewise.
43337 * include/pupa/symbol.h: Likewise.
43338 * include/pupa/term.h: Likewise.
43339 * include/pupa/types.h: Likewise.
43340 * include/pupa/i386/setjmp.h: Likewise.
43341 * include/pupa/i386/types.h: Likewise.
43342 * include/pupa/i386/pc/biosdisk.h: Likewise.
43343 * include/pupa/i386/pc/boot.h: Likewise.
43344 * include/pupa/i386/pc/console.h: Likewise.
43345 * include/pupa/i386/pc/init.h: Likewise.
43346 * include/pupa/i386/pc/kernel.h: Likewise.
43347 * include/pupa/i386/pc/linux.h: Likewise.
43348 * include/pupa/i386/pc/loader.h: Likewise.
43349 * include/pupa/i386/pc/memory.h: Likewise.
43350 * include/pupa/i386/pc/multiboot.h: Likewise.
43351 * include/pupa/i386/pc/partition.h: Likewise.
43352 * include/pupa/i386/pc/time.h: Likewise.
43353 * include/pupa/i386/pc/vga.h: Likewise.
43354 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43355 * include/pupa/util/getroot.h: Likewise.
43356 * include/pupa/util/misc.h: Likewise.
43357 * include/pupa/util/resolve.h: Likewise.
43358 * kern/device.c: Likewise.
43359 * kern/disk.c: Likewise.
43360 * kern/dl.c: Likewise.
43361 * kern/err.c: Likewise.
43362 * kern/file.c: Likewise.
43363 * kern/fs.c: Likewise.
43364 * kern/loader.c: Likewise.
43365 * kern/main.c: Likewise.
43366 * kern/misc.c: Likewise.
43367 * kern/mm.c: Likewise.
43368 * kern/rescue.c: Likewise.
43369 * kern/term.c: Likewise.
43370 * kern/i386/dl.c: Likewise.
43371 * kern/i386/pc/init.c: Likewise.
43372 * kern/i386/pc/lzo1x.S: Likewise.
43373 * kern/i386/pc/startup.S: Likewise.
43374 * loader/i386/pc/chainloader.c: Likewise.
43375 * loader/i386/pc/linux.c: Likewise.
43376 * loader/i386/pc/multiboot.c: Likewise.
43377 * normal/cmdline.c: Likewise.
43378 * normal/command.c: Likewise.
43379 * normal/main.c: Likewise.
43380 * normal/menu.c: Likewise.
43381 * normal/i386/setjmp.S: Likewise.
43382 * term/i386/pc/console.c: Likewise.
43383 * term/i386/pc/vga.c: Likewise.
43384 * util/console.c: Likewise.
43385 * util/genmoddep.c: Likewise.
43386 * util/misc.c: Likewise.
43387 * util/pupa-emu.c: Likewise.
43388 * util/resolve.c: Likewise.
43389 * util/unifont2pff.rb: Likewise.
43390 * util/i386/pc/biosdisk.c: Likewise.
43391 * util/i386/pc/getroot.c: Likewise.
43392 * util/i386/pc/pupa-mkimage.c: Likewise.
43393 * util/i386/pc/pupa-setup.c: Likewise.
43394
e6eced71 433952004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43396
43397 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43398 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43399 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43400 reading and reset it after reading.
43401 (pupa_ext2_close): Return PUPA_ERR_NONE.
43402
43403 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43404 Correct value.
43405 (struct linux_kernel_header): Add kernel_version and
43406 initrd_addr_max.
43407 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43408 pupa_file_read succeeds.
43409 (pupa_rescue_cmd_initrd): Implement.
43410
5aded270 434112003-12-03 Marco Gerards <metgerards@student.han.nl>
43412
43413 * fs/ext2.c (pupa_ext2_label): New function.
43414 (pupa_ext2_fs): Added label.
43415 * fs/fat.c (pupa_fat_label): New function.
43416 (pupa_fat_fs): Added label.
43417 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43418
43419 * kern/misc.c (pupa_strndup): New function.
43420 * include/pupa/misc.h (pupa_strndup): New prototype.
43421
43422 * include/pupa/normal.h: Include <pupa/err.h>.
43423 (pupa_set_history): New prototype.
43424 (pupa_iterate_commands): New prototype.
43425 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43426 <pupa/disk.h>, <pupa/file.h>.
43427 (hist_size): New variable.
43428 (hist_lines): Likewise.
43429 (hist_end): Likewise.
43430 (hist_used): Likewise.
43431 (pupa_set_history): New function.
43432 (pupa_history_get): Likewise.
43433 (pupa_history_add): Likewise.
43434 (pupa_history_replace): Likewise.
43435 (pupa_tab_complete): Likewise.
43436 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43437 completion shows partitionnames while completing partitions, this
43438 feature was suggested by Jeff Bailey.
43439 * normal/command.c (pupa_iterate_commands): New function.
43440 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43441 (pupa_normal_init): Initialize history buffer.
43442 (PUPA_MOD_INIT): Likewise.
43443 (pupa_normal_fini): Free the history buffer.
43444 (PUPA_MOD_FINI): Likewise.
43445
43446 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43447 key.
43448
43449 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43450 * configure.ac [i386]: Check for regparam bug.
43451 (NESTED_FUNC_ATTR) [! i386]: Defined.
43452
1f7315a3 434532003-11-17 Marco Gerards <metgerards@student.han.nl>
43454
43455 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43456 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43457 (pupa_emu_SOURCES): New variable.
43458 (pupa_emu_LDFLAGS): Likewise.
43459 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43460 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43461 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43462 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43463 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43464 (pupa_jmp_buf): New typedef.
43465 (pupa_setjmp) [PUPA_UTIL]: New macro.
43466 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43467 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43468 (pupa_refresh): New prototype.
43469 * include/pupa/util/getroot.h: New file.
43470 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43471 it.
43472 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43473 (pupa_rescue_cmd_cat): Likewise.
43474 (pupa_rescue_cmd_ls): Likewise.
43475 (pupa_rescue_cmd_testload): Likewise.
43476 (pupa_rescue_cmd_lsmod): Likewise.
43477 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43478 * normal/menu.c (run_menu): Likewise.
43479 * kern/term.c (pupa_cls): Likewise.
43480 (pupa_refresh): New function.
43481 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43482 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43483 * util/console.c: New file.
f19dbdb7 43484
1f7315a3 43485 * util/i386/pc/getroot.c: New file.
43486 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43487 (pupa_putchar): New function.
43488 (pupa_refresh): Likewise.
43489 (xgetcwd): Function moved to ...
43490 (strip_extra_slashes): Likewise.
43491 (get_prefix): Likewise.
f19dbdb7 43492 * util/i386/pc/getroot.c: ... here.
1f7315a3 43493 (find_root_device): Function moved and renamed to...
43494 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43495 Changed all callers.
43496 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43497 and renamed to...
43498 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43499 Changed all callers.
43500 * util/misc.c (pupa_memalign): New function.
43501 (pupa_mm_init_region): Likewise.
43502 (pupa_register_exported_symbols): Likewise.
43503 (pupa_putchar): Function removed.
43504 * util/pupa-emu.c: New file.
43505
9a5c1ade 435062003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43507
43508 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43509 (_multiboot_mod_SOURCES): New variable.
43510 (_multiboot_mod_CFLAGS): Likewise.
43511 * loader/i386/pc/multiboot.c: New file.
43512 * include/pupa/i386/pc/multiboot.h: Likewise.
43513 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43514 (pupa_multiboot_real_boot): New function.
43515 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43516 (pupa_multiboot_real_boot): New prototype.
43517 (pupa_rescue_cmd_multiboot): Likewise
43518 (pupa_rescue_cmd_module): Likewise.
43519
43520 * kern/loader.c (pupa_loader_set): Continue when
43521 pupa_loader_unload_func() fails.
43522 (pupa_loader_unset): New function.
43523 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43524
43525 * kern/misc.c (pupa_stpcpy): New function.
43526 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43527
8e72a9c0 435282003-11-12 Marco Gerards <metgerards@student.han.nl>
43529
43530 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43531 for available extensions.
43532
43533 * include/pupa/i386/pc/time.h: New file.
43534 * kern/disk.c: Include <pupa/machine/time.h>.
43535 (PUPA_CACHE_TIMEOUT): New macro.
43536 (pupa_last_time): New variable.
43537 (pupa_disk_open): Flush the cache when there was a timeout.
43538 (pupa_disk_close): Reset the timer.
43539 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43540 pupa_currticks.
43541 * util/misc.c: Include <sys/times.h>
43542 (pupa_get_rtc): New function.
43543
c4adbd32 435442003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43545
43546 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43547 as blocks.
43548 (pupa_ext2_get_file_block): Use blocks member.
43549
43550 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43551 first block. Return -1 instead of pupa_errno on error.
43552
bfd30f06 435532003-10-27 Marco Gerards <metgerards@student.han.nl>
43554
43555 * README: In the pupa-mkimage example use _chain instead of chain
43556 and ext2 instead of fat.
43557 * TODO: Replace ext2fs with jfs as an example. Add an item for
43558 adding journal playback for ext2fs.
43559 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43560 (pkgdata_MODULES): Added ext2.mod.
43561 (ext2_mod_SOURCES): New variable.
43562 (ext2_mod_CFLAGS): Likewise.
43563 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43564 * include/pupa/misc.h (pupa_strncpy): New prototype.
43565 (pupa_strcat): Likewise.
43566 (pupa_strncmp): Likewise.
43567 * kern/misc.c (pupa_strcat): Enable function.
43568 (pupa_strncpy): New function.
43569 (pupa_strncmp): Likewise.
43570 * fs/ext2.c: New file.
f19dbdb7 43571
bfd30f06 43572 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43573 when the read failed before retrying.
43574 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43575 (_FILE_OFFSET_BITS): Likewise.
43576 * configure.ac: Added AC_SYS_LARGEFILE.
43577
98d15063 435782003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43579
43580 * genmk.rb (PModule#rule): Make sure to get only symbol names
43581 from the output of nm.
59cad637 43582 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43583
18d9c7cd 435842003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43585
43586 I forgot to check in these changes for a long time. This adds
43587 incomplete support for VGA console, and this is still very
43588 buggy. Also, a lot of consideration is required for I18N,
43589 UNICODE, and VGA font issues. Therefore, assume that this is
43590 such that "better than nothing".
f19dbdb7 43591
18d9c7cd 43592 * font/manager.c: New file.
43593 * include/pupa/font.h: Likewise.
43594 * include/pupa/i386/pc/vga.h: Likewise.
43595 * term/i386/pc/vga.c: Likewise.
43596 * util/unifont2pff.rb: Likewise.
43597
43598 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43599 (pkgdata_MODULES): Added vga.mod and font.mod.
43600 (vga_mod_SOURCES): New variables.
43601 (vga_mod_CFLAGS): Likewise.
43602 (font_mod_SOURCES): Likewise.
43603 (font_mod_CFLAGS): Likewise.
43604
43605 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43606
43607 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43608 (struct pupa_term): Added init and fini.
18d9c7cd 43609 Changed the argument of putchar to pupa_uint32_t.
43610
43611 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43612 (pupa_console_real_putchar): New prototype.
43613 (pupa_console_putchar): Removed.
43614 (pupa_console_checkkey): Exported.
43615 (pupa_console_getkey): Likewise.
43616
43617 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43618 characters.
43619
43620 * kern/term.c (pupa_term_set_current): Rewritten.
43621 (pupa_putchar): Likewise.
43622 (pupa_putcode): New function.
43623
43624 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43625 (pupa_console_real_putchar): ... this.
43626 (pupa_vga_set_mode): New function.
43627 (pupa_vga_get_font): Likewise.
43628
43629 * normal/command.c: Include pupa/term.h.
43630 (terminal_command): New function.
43631 (pupa_command_init): Register the command "terminal".
43632
43633 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43634 (DISP_UP): Likewise.
43635 (DISP_RIGHT): Likewise.
43636 (DISP_DOWN): Likewise.
43637 (DISP_HLINE): Likewise.
43638 (DISP_VLINE): Likewise.
43639 (DISP_UL): Likewise.
43640 (DISP_UR): Likewise.
43641 (DISP_LL): Likewise.
43642 (DISP_LR): Likewise.
43643
43644 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43645
977329f5 436462003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43647
43648 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43649 FIX. Reverse the path_list.
43650
43651 * include/pupa/normal.h: Export pupa_register_command and
43652 pupa_unregister_command.
43653
43654 * hello/hello.c (pupa_cmd_hello): New module.
43655 * conf/i386-pc.rmk: Added hello.mod.
43656
1f5ab428 436572003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43658
43659 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43660
1f5ab428 43661 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43662 (compress_kernel): New variable.
43663 (generate_image): Heavily modified to support compressing a
43664 large part of the core image.
43665
43666 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43667 leak.
43668 (pupa_util_load_image): New function.
43669
43670 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43671 (pupa_compressed_size): New variable.
43672 (codestart): Enable Gate A20 here.
43673 Decompress the compressed part of the core image.
43674 Rearrange the code to put functions and variables which are
43675 required for initialization in the non-compressed part.
43676 Include lzo1x.S.
43677
43678 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43679 here.
43680
43681 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43682
f19dbdb7 43683 * include/pupa/i386/pc/kernel.h
1f5ab428 43684 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43685 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43686 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43687 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43688 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43689
43690 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43691
43692 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43693 (Utility#rule): Likewise.
43694
43695 * configure.ac: Check if LZO is available.
43696
ce5bf700 436972003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43698
43699 * include/pupa/normal.h: New file.
43700 * include/pupa/setjmp.h: Likewise.
43701 * include/pupa/i386/setjmp.h: Likewise.
43702 * normal/cmdline.c: Likewise.
43703 * normal/command.c: Likewise.
43704 * normal/main.c: Likewise.
43705 * normal/menu.c: Likewise.
43706 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43707
ce5bf700 43708 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43709 (pupa_rescue_cmd_initrd): Likewise.
43710
43711 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43712 Likewise.
43713
43714 * kern/i386/pc/startup.S (translation_table): New variable.
43715 (translate_keycode): New function.
43716 (pupa_console_getkey): Call translate_keycode.
43717
43718 * kern/rescue.c (attempt_normal_mode): New function.
43719 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43720 it failed, print a message.
43721
43722 * kern/mm.c (pupa_real_malloc): Print more information when a
43723 free magic is broken.
43724 (pupa_free): If the first free header is not free actually, set
43725 it to P.
43726
43727 * kern/main.c (pupa_load_normal_mode): Just load the module
43728 "normal".
43729 (pupa_main): Don't print the message
43730 "Entering into rescue mode..." here.
43731
43732 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43733 Declared.
43734 (pupa_rescue_cmd_initrd): Likewise.
43735 (pupa_rescue_cmd_initrd): Likewise.
43736
43737 * include/pupa/symbol.h (FUNCTION): Specify the type.
43738 (VARIABLE): Likewise.
43739
43740 * include/pupa/err.h (pupa_err_t): Added
43741 PUPA_ERR_UNKNOWN_COMMAND.
43742
43743 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43744 (pupa_dl_get_prefix): Likewise.
43745
43746 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43747 Added _chain.mod and _linux.mod instead of chain.mod and
43748 linux.mod.
43749 (chain_mod_SOURCES): Renamed to ...
43750 (_chain_mod_SOURCES): ... this.
43751 (chain_mod_CFLAGS): Renamed to ...
43752 (_chain_mod_CFLAGS): ... this.
43753 (linux_mod_SOURCES): Renamed to ...
43754 (_linux_mod_SOURCES): ... this.
43755 (linux_mod_CFLAGS): Renamed to ...
43756 (_linux_mod_CFLAGS): ... this.
43757 (normal_mod_SOURCES): New variable.
43758 (normal_mod_CFLAGS): Likewise.
43759 (normal_mod_ASFLAGS): Likewise.
43760
437612003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43762
43763 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43764 possible.
43765
fe6b695a 43766 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43767 recursively.
43768 (pupa_dl_unref): Unrefer depending modules recursively.
43769 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43770 a module is unloaded before one depending on that module is
43771 unloaded.
43772 (pupa_dl_unload): Unload depending modules explicitly,
43773 if possible.
43774
c04da074 437752003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43776
43777 * include/pupa/i386/pc/linux.h: New file.
43778 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43779
c04da074 43780 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43781 Removed.
43782 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43783 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43784 of PUPA_CHAINLOADER_BOOT_SECTOR.
43785
43786 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43787 (pupa_linux_prot_size): New variable.
43788 (pupa_linux_tmp_addr): Likewise.
43789 (pupa_linux_real_addr): Likewise.
43790 (pupa_linux_boot_zimage): New function.
43791 (pupa_linux_boot_bzimage): Likewise.
43792
43793 * kern/i386/pc/init.c (struct mem_region): New structure.
43794 (MAX_REGIONS): New macro.
43795 (mem_regions): New variable.
43796 (num_regions): Likewise.
43797 (pupa_os_area_addr): Likewise.
43798 (pupa_os_area_size): Likewise.
43799 (pupa_lower_mem): Likewise.
43800 (pupa_upper_mem): Likewise.
43801 (add_mem_region): New function.
43802 (compact_mem_regions): Likewise.
43803 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43804 the size of the conventional memory and that of so-called upper
43805 memory (before the first memory hole).
43806 Instead of adding each found region to free memory, use
43807 add_mem_region and add them after removing overlaps.
43808 Also, add only 1/4 of the upper memory to free memory. The rest
43809 is used for loading OS images. Maybe this is ad hoc, but this
43810 makes it much easier to relocate OS images when booting.
43811
43812 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43813 (pupa_enter_rescue_mode): Don't register initrd and module.
43814
43815 * kern/mm.c: Include pupa/dl.h.
43816
43817 * kern/main.c: Include pupa/file.h and pupa/device.h.
43818
43819 * kern/loader.c (pupa_loader_load_module_func): Removed.
43820 (pupa_loader_load_module): Likewise.
43821
43822 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43823 ``.o''.
43824
43825 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43826 (pupa_linux_tmp_addr): Likewise.
43827 (pupa_linux_real_addr): Likewise.
43828 (pupa_linux_boot_zimage): Likewise.
43829 (pupa_linux_boot_bzimage): Likewise.
43830
43831 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43832 (pupa_upper_mem): Likewise.
43833 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43834 module is too dangerous.
43835
43836 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43837 (pupa_os_area_size): Likewise.
43838 (pupa_loader_set): Remove the first argument. Loader doesn't
43839 manage modules or initrd any longer.
43840 (pupa_loader_load_module): Removed.
43841
43842 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43843 (linux_mod_SOURCES): New variable.
43844 (linux_mod_CFLAGS): Likewise.
43845
a13f9237 438462003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43847
43848 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43849 the length of a blocklist correctly.
43850
43851 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43852 Use ioctl only if the OS file is a block device.
43853 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43854 not very useful for normal files.
43855
43856 * kern/main.c (pupa_set_root_dev): New function.
43857 (pupa_load_normal_mode): Likewise.
43858 (pupa_main): Call those above.
43859
43860 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43861 pupa_uint16_t.
43862
43863 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43864
a5ffe966 438652003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43866
43867 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43868 (setup): Configure the installed partition information and the
43869 dl prefix.
43870
43871 * loader/i386/pc/chainloader.c (my_mod): New variable.
43872 (pupa_chainloader_unload): New function.
43873 (pupa_rescue_cmd_chainloader): Refer itself.
43874 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43875
43876 * kern/i386/pc/startup.S (install_partition): Removed.
43877 (version_string): Likewise.
43878 (config_file): Likewise.
43879 (pupa_install_dos_part): New variable.
43880 (pupa_install_bsd_part): Likewise.
43881 (pupa_prefix): Likewise.
43882 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43883
43884 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43885 and pupa/misc.h.
43886 (make_install_device): New function.
43887 (pupa_machine_init): Set the dl prefix.
43888
43889 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43890 (buf): Renamed to ...
43891 (linebuf): ... this.
43892 (pupa_rescue_cmd_prefix): New function.
43893 (pupa_rescue_cmd_insmod): Likewise.
43894 (pupa_rescue_cmd_rmmod): Likewise.
43895 (pupa_rescue_cmd_lsmod): Likewise.
43896 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43897 rmmod and lsmod.
43898
43899 * kern/mm.c (pupa_memalign): If failed even after invalidating
43900 disk caches, unload unneeded modules and retry.
43901
43902 * kern/misc.c (pupa_memmove): New function.
43903 (pupa_memcpy): Removed.
43904 (pupa_strcpy): New function.
43905 (pupa_itoa): Made static.
43906
43907 * kern/dl.c (pupa_dl_iterate): New function.
43908 (pupa_dl_ref): Likewise.
43909 (pupa_dl_unref): Likewise.
43910 (pupa_dl_unload): Return if succeeded or not.
43911 (pupa_dl_unload_unneeded): New function.
43912 (pupa_dl_unload_all): Likewise.
43913 (pupa_dl_init): Renamed to ...
43914 (pupa_dl_set_prefix): ... this.
43915 (pupa_dl_get_prefix): New function.
43916
43917 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43918 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43919 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43920 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43921 (pupa_install_dos_part): Declared.
43922 (pupa_install_bsd_part): Likewise.
43923 (pupa_prefix): Likewise.
43924 (pupa_boot_drive): Likewise.
43925
43926 * include/pupa/types.h: Fix a typo.
43927
43928 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43929 pupa_memmove.
43930 (pupa_memmove): Declared.
43931 (pupa_strcpy): Likewise.
43932
43933 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43934 pupa_mod_init takes one argument, its own module.
43935 (pupa_dl_unload_unneeded): Declared.
43936 (pupa_dl_unload_all): Likewise.
43937 (pupa_dl_ref): Likewise.
43938 (pupa_dl_unref): Likewise.
43939 (pupa_dl_iterate): Likewise.
43940 (pupa_dl_init): Renamed to ...
43941 (pupa_dl_set_prefix): ... this.
43942 (pupa_dl_get_prefix): Declared.
43943
43944 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43945 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43946 unloaded.
43947 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43948 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43949
43950 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43951 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43952
012d7999 439532003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43954
43955 * util/i386/pc/pupa-setup.c (setup): Define the internal
43956 function find_first_partition_start at the top level, because GCC
43957 3.0.x cannot compile internal functions in deeper scopes
43958 correctly.
43959 (find_root_device): Use lstat instead of stat.
43960 Don't follow symbolic links.
43961 Fix the path-constructing code.
43962
43963 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43964 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43965 by a BLKGETSIZE ioctl first, because block devices don't fill
43966 the member st_mode of the structure stat on Linux.
43967 [__linux__] (linux_find_partition): Use a temporary buffer
43968 REAL_DEV for the working space. Copy it to DEV before returning.
43969 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43970 buffer cache consistent.
43971 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43972 strncmp. The previous value was merely wrong.
43973 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43974
43975 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43976 FAT size is 12. The previous value was merely wrong.
43977
43978 * kern/main.c (pupa_main): Don't split the starting message from
43979 newlines.
43980
43981 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43982 LF, because BIOS goes crazy about character attributes in this
43983 case.
43984
1cc73a62 439852003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43986
43987 * include/i386/pc/util/biosdisk.h: New file.
43988 * util/i386/pc/biosdisk.c: Likewise.
43989 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43990
1cc73a62 43991 * Makefile.in (INCLUDE_DISTFILES): Added
43992 include/pupa/i386/pc/util/biosdisk.h.
43993 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43994 directory util/i386/pc.
43995 (install-local): Added a rule for sbin_UTILITIES.
43996 (uninstall): Likewise.
43997
43998 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43999
44000 * util/misc.c (xrealloc): New function.
44001 (pupa_malloc): Likewise.
44002 (pupa_free): Likewise.
44003 (pupa_realloc): Likewise.
44004 (pupa_stop): Likewise.
44005 (pupa_putchar): Likewise.
44006
44007 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44008
44009 * include/pupa/util/misc.h (xrealloc): Declared.
44010
44011 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44012 macro.
44013 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44014 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44015
44016 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44017 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44018
44019 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44020 way should be implemented.
44021 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44022
44023 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44024 the size of NAME for safety.
44025 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44026 0x88.
44027
44028 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44029 (pupa_setup_SOURCES): Likewise.
44030
44031 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44032
08b70fe8 440332002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44034
44035 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44036 bunch of pushl's from pusha, because this destroys the return
44037 value.
44038
62ddcc8f 440392002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44040
44041 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44042 This means that any missing prototypes could be fatal. Also, you
44043 must take care when writing assembly code. See the comments at
44044 the beginning of startup.S, for more details.
f19dbdb7 44045
62ddcc8f 44046 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44047 compilation mechanism.
44048 (pupa_chainloader_real_boot): Likewise.
44049 (pupa_biosdisk_rw_int13_extensions): Likewise.
44050 (pupa_biosdisk_rw_standard): Likewise.
44051 (pupa_biosdisk_check_int13_extensions): Likewise.
44052 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44053 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44054 (pupa_get_memsize): Likewise.
44055 (pupa_get_mmap_entry): Likewise.
44056 (pupa_console_putchar): Likewise.
44057 (pupa_console_setcursor): Likewise.
44058 (pupa_getrtsecs): Use pushl instead of push.
44059
44060 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44061 memory instead of the stack for a mmap entry, because some
44062 BIOSes may ignore the maximum size and overflow.
44063
44064 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44065
44066 * genmk.rb (PModule#rule): Compile automatically generated
44067 sources with module-specific CFLAGS as well as other sources.
44068
9962ed99 440692002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44070
44071 * configure.ac: Check ld.
44072 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44073 respectively, before checking endianness and sizes.
44074
44075 * Makefile.in (LD): New variable.
f19dbdb7 44076
abdfc3c5 440772002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44078
44079 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44080
6a161fa9 440812002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44082
44083 * Changelog: New file.
44084