]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/commands/lsacpi.c (options): Add missing terminator.
[grub2.git] / ChangeLog
CommitLineData
6d36a236
VS
12012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/commands/lsacpi.c (options): Add missing terminator.
4
9576977e
VS
52012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8 after 29th of February.
9576977e 9
d73ff15d
VS
102012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Fix exfat endianness handling.
13
14 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
15 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
16 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
17 Byte-swap utf16 when necessary.
18 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
19
bbb39a45
AB
202012-03-31 Anton Blanchard <anton@samba.org>
212012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22
23 Fix btrfs endianness handling.
24
25 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
26 (lower_bound): Make root uint64_t. Use root in le.
27 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
28 (find_path): Fix template key init.
29 (grub_btrfs_dir): Fix mtime byteswap.
30 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
31
354e0af7
VS
322012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
35 recursion_depth. Break infinite resursions. All users updated.
36
4e75f21c
VS
372012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
40 after free.
41 Reported by: Peter Jones.
42
25581802
AB
432012-03-31 Anton Blanchard <anton@samba.org>
44
45 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
46 8 bit values.
47
08fbf92e
VS
482012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * util/grub-install.in: Fix nvram call for PreP.
51
5d1182a6
VS
522012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
55 the error when some elements are missing into a warning.
56
3f8cdd90
VS
572012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
60
51006716
CW
612012-03-28 Colin Watson <cjwatson@ubuntu.com>
62
63 * docs/grub.texi (Invoking grub-probe): New section.
64 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
65
e1bd676b
VS
662012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
67
68 Fix tab and wide character handling in editor and menu.
69
70 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
71 agglomerate control characters with combining marks.
72 (bidi_line_wrap): Allow break on tab.
73 (grub_unicode_get_comb_start): New function.
74 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
75 and tab correctly.
76 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
77 with a space.
78 * grub-core/normal/term.c (print_ucs4_terminal): New argument
79 fixed_tab_size. All users updated.
80 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
81 (grub_term_getcharwidth): Handle \t.
82 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
83 and copy.
84
22e6a774
VS
852012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
86
87 Handle big-endian mdraid.
88
89 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
90 * grub-core/Makefile.core.def (mdraid09_be): New module.
91 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
92 rather than grub_le_to_cpu* and grub_cpu_to_le*.
93 * grub-core/disk/mdraid_linux_be.c: New file.
94
3c0eae66
VS
952012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
98
b6cf74c9
VS
992012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
102 missing quotes which caused confusion among translators.
103
83c93b9c
VS
1042012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * util/grub-mkconfig_lib.in: Fix typo.
107
ac6fd218
VS
1082012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
111 spaces.
112 * tests/grub_script_leading_whitespace.in: New file.
113 * Makefile.util.def (grub_script_leading_whitespace): New test.
114
ba287dd8
VS
1152012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
118 to work.
119
d2d58d0a
VS
1202012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
123 starts with control character.
124
0382d9bb
VS
1252012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
128 overflow.
129 (grub_gdb_outbuf): Likewise.
130
d83ff9f9
VS
1312012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
134 zero terminator. Fixes a crash.
135
2282da4a
VS
1362012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
139 beyond 4 GiB.
140 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
141 images independently of preffered adderss field.
142
0ae4f0bd
VS
1432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
146 * grub-core/commands/regexp.c: Likewise.
147 * grub-core/loader/i386/linux.c: Likewise.
148 * grub-core/partmap/msdos.c: Likewise.
149 * grub-core/script/execute.c: Likewise.
150 * grub-core/term/gfxterm.c: Likewise.
151
546fbe9b
VS
1522012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
153
154 Add variable parsing in $"..." and fix several mismatches with bash.
155
156 * Makefile.util.def (grub_script_gettext): New test.
157 * grub-core/script/execute.c (parse_string): New function.
158 (gettext_append): Likewise.
159 (grub_script_arglist_to_argv): Use gettext_append.
160 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
161 * tests/grub_script_gettext.in: New file.
162
9fdb2d7b
VS
1632012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
164
165 Fix handling of leading spaces in scripts.
166
167 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
168 spaces.
169 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
170 other than skipping \r. All users updated.
171 * tests/grub_script_echo1.in: Add space-related tests.
172 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
173
1a1ac4f6
VS
1742012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
177
b63d89b6
VS
1782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * configure.ac: Bump up the version to beta2.
181
17f38c0f
VS
1822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
183
184 Fix gettext reload bugs (e.g. inability to disable gettext
185 once enabled).
186
187 * grub-core/gettext/gettext.c: Encapsulate all static variables in
188 main_context and secondary_context. All functions updated.
189 (grub_gettext_translate): Rename to ...
190 (grub_gettext_translate_real): ... this. Return NULL on failed
191 translate.
192 (grub_gettext_translate): Handle secondary context.
193 (grub_gettext_delete_list): Close file and zero-out the context.
194 (grub_mofile_open): Don't call grub_gettext_delete_list.
195 Don't close file.
196 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
197 if locale="" to avoid pointless error message.
198 (grub_gettext_env_write_lang): Update lang even if load fails.
199 Handle secondary context.
200 (grub_gettext_reread_prefix): New function.
201 (read_main): Likewise.
202 (read_secondary): Likewise.
203 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
204 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
205 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
206 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
207
8e56f870
VS
2082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * configure.ac: Decrease warning level to avoid spurious warnings and
211 to be able to compile with GCC 4.2.
212 * Makefile.util.def: Remove -Wno-error=logical-op.
213
82f6d455
WB
2142012-03-10 William Bittner <william.bittner@gmail.com>
215
216 * util/import_unicode.py: Add missing brackets around string for
217 python 3 support.
218
1ecd61a4
VS
2192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
220
221 Fix efi chainloader on network root.
222
223 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
224 network devices.
225 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
226 New function.
227
14361ee8
VS
2282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
231 unused show_text member.
232 * docs/grub.texi: Document "text" property.
233
922aabf3
VS
2342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
237 in dprintf.
238
ec316771
VS
2392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
240
241 Fix IMSM handling on Fedora.
242
243 * util/getroot.c (grub_util_is_imsm): New function.
244 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
245
0f021838
VS
2462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * Makefile.am: Strip gold section.
249 * conf/Makefile.common: Likewise.
250 * gentpl.py: Likewise.
251 * grub-core/Makefile.core.def: Likewise.
252 * grub-core/genmod.sh.in: Likewise.
253
1039c8eb
VS
2542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
257 * util/grub.d/20_linux_xen.in: Likewise.
258 Based on Debian patch.
259
6dd412cd
VS
2602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * util/grub.d/10_linux.in: Fix syntax error resulting in
263 Richard Laager's patch.
264 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
265
3fd8bae5
VS
2662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
269 dependencies.
270
7eea1671
RL
2712012-03-10 Richard Laager <rlaager@wiktel.com>
272
273 * util/grub.d/10_linux.in: Fix ZFS root passing.
274
e8e0566b
VS
2752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
278 * grub-core/commands/xnu_uuid.c: Likewise.
279 * grub-core/loader/efi/appleloader.c: Likewise.
280 * grub-core/script/execute.c: Likewise.
281 * grub-core/script/main.c: Likewise.
282 * util/grub-mkfont.c: Likewise.
283
1acc5b1f
VS
2842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * util/grub-mkfont.c (options): Use more appropriate "select" that
287 "set" for face index.
288
35d70620
VS
2892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * util/grub-editenv.c (options): Gettextize command summaries.
292
c9eb96b5
VS
2932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
296 "out of memory" error messagge.
297
1f493136
VS
2982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
301 of diskfilter for diskfilter on diskfilter support.
302
6d790129
VS
3032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
306
005f46c9
VS
3072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * util/grub-install.in: Check for themes/starfield/theme.txt and not
310 themes/starfield.
311
c8f778a0
VS
3122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
315
de1e64eb
VS
3162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
319
c6d54211
VS
3202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
323 of error message.
324
dd390777
VS
3252012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
328
5fd1c522
VS
3292012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
332 message.
c6d54211 333 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 334
fae01f6c
VS
3352012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
338 Gettextize.
339 * util/grub-mount.c (options): Likewise.
340
292fdaff
VS
3412012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
344 gettextize.
345 * grub-core/commands/search_wrap.c (options): Likewise.
346
ecdbae77
VS
3472012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
350
52bfedfa
VS
3512012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
354 size calculation.
355 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
356 none is known.
357
55b20e58
VS
3582012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
361 "temporary" since it's used in identifier and is limited in space.
362
fda9d101
VS
3632012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * po/POTFILES.in: Regenerate. Include *.h since they contain
366 translatable strings as well.
367
6a0295e2
VS
3682012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
371 byte-swap on big-endian.
372 Reported by: Lennart Sorensen
373
807fb77c
VS
3742012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
377 (allocate_pages): Improve dprintf.
378 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
379 code32_start. Fill code32_start and kernel_alignment in params.
380 (grub_cmd_initrd): Use prot_init_space.
381
61ac50ba
VS
3822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
385
abdd26dd
VS
3862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * util/grub-install.in: Add missing dot at the end of sentence.
389
6e69da9c
VS
3902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
393 * grub-core/commands/videotest.c: Likewise.
394 * grub-core/loader/i386/linux.c: Likewise.
395
4a929343
VS
3962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
399 sentence.
400 Reported by: Milo Casagrande.
401
bb51c6c6
VS
4022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
405 * grub-core/commands/gptsync.c: Likewise.
406 * grub-core/commands/hashsum.c: Likewise.
407 * grub-core/commands/i386/pc/sendkey.c: Likewise.
408 * grub-core/commands/legacycfg.c: Likewise.
409 * grub-core/io/gzio.c: Likewise.
410 * grub-core/net/net.c: Likewise.
411 * grub-core/term/gfxterm.c: Likewise.
412 * grub-core/term/terminfo.c: Likewise.
413 * grub-core/tests/test_blockarg.c: Likewise.
414 * grub-core/video/video.c: Likewise.
415 * util/grub-install.in: Likewise.
416 * util/grub-mkfont.c: Likewise.
417
b2b149cb
VS
4182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
421
c7c080ad
VS
4222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 425 Reported by: David Prévot.
c7c080ad 426
f2e243c0
VS
4272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
430 description.
431
09963c76
VS
4322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * util/grub-script-check.c (main): Fix a syntax error message which was
435 unclear.
436
a50514a8
VS
4372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
440
4650daec
VS
4412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
444 messages.
445
4462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
447
448 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
449 without argument.
450 * util/grub-mount.c (options): Likewise.
451
bbc5a342
VS
4522012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
455
ef292a87
VS
4562012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/net/http.c: Add TRANSLATORS comments.
459 * grub-core/normal/cmdline.c: Likewise.
460 * grub-core/normal/misc.c: Likewise.
461 * grub-core/partmap/msdos.c: Likewise.
462 * grub-core/parttool/msdospart.c: Likewise.
463 * grub-core/script/execute.c: Likewise.
464 * grub-core/script/main.c: Likewise.
465 * grub-core/term/terminfo.c: Likewise.
466 * grub-core/video/bitmap.c: Likewise.
467 * util/grub-install.in: Likewise.
468 * util/grub-mkimage.c: Likewise.
469 * util/grub-mklayout.c: Likewise.
470 * util/grub-setup.c: Likewise.
471
0fc19bd0
VS
4722012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
475 with similar messages in grub-fstest.
476
d95862ef
VS
4772012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * util/grub-install.in: Unify "option requires an argument" message
480 with similar messages in other files.
481 * util/grub-mkconfig.in: Likewise.
482
b7308f90
VS
4832012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * util/grub-set-default.in: Replace printf with gettext_printf (the
486 string in in question is already translated from grub-reboot)
487
559dc587
VS
4882012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * configure.ac: Bump up the version to beta1.
491
1a11761f
VS
4922012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
495 case when min_align = 0.
496
24539abd
VS
4972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
500 and fix a case when line_start overflows.
501
32bd735b
VS
5022012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * util/grub-reboot.in (usage): Mention id posibility.
505 * util/grub-set-default.in (usage): Likewise.
506
1a2fd1e6
VS
5072012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
510 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
511 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
512 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
513 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
514 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
515 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
516
90eeab76
VS
5172012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/commands/menuentry.c (options): Remove
520 GRUB_ARG_OPTION_REPEATABLE.
521 Reported by: Andreas Vogel
522
5ad1be82
AV
5232012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
524
525 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
526
cb055286
HE
5272012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
528
529 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
530 error.
531
93b1cd79
VS
5322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
533
534 Use sort -V by the idea of Georgi Georgiev.
535
536 * util/grub-mkconfig_lib.in (version_sort): New function.
537 (version_test_numeric): Use version_sort.
538
0cdc126c
VS
5392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
540
541 Use submenus in grub-mkconfig.
542
543 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
544 * util/grub-mkconfig_lib.in (grub_quote): New function.
545 (gettext_printf): Use gettext and not gettext_quoted to fix several
546 messages.
547 * util/grub.d/10_hurd.in: Use submenus.
548 * util/grub.d/10_kfreebsd.in: Likewise.
549 * util/grub.d/10_linux.in: Likewise.
550 * util/grub.d/10_netbsd.in: Likewise.
551 * util/grub.d/20_linux_xen.in: Likewise.
552 * util/grub.d/30_os-prober.in: Likewise.
553 * util/grub.d/10_illumos.in: Add missing quoting.
554 * util/grub.d/10_windows.in: Likewise.
555
d9bef9bc
VS
5562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
557
558 Fix menu title instability bug.
559
560 * grub-core/commands/menuentry.c (options): New option --id.
561 (grub_normal_add_menu_entry): New argument id. All users updated.
562 (grub_cmd_menuentry): Handle --id.
563 (grub_menu_init): Accept unknown arguments.
564 * grub-core/normal/main.c (features): Add feature_menuentry_id and
565 feature_menuentry_options.
566 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
567 saved_entry.
568 (get_entry_number): Match with id as well.
569 * include/grub/menu.h (grub_menu_entry): New member id.
570 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
571 * util/grub.d/00_header.in: Define menuentry_id_option.
572 * util/grub.d/10_hurd.in: Define id.
573 * util/grub.d/10_illumos.in: Likewise.
574 * util/grub.d/10_kfreebsd.in: Likewise.
575 * util/grub.d/10_linux.in: Likewise.
576 * util/grub.d/10_netbsd.in: Likewise.
577 * util/grub.d/10_windows.in: Likewise.
578 * util/grub.d/20_linux_xen.in: Likewise.
579 * util/grub.d/30_os-prober.in: Likewise.
580
5812012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
582
583 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
584 "scope" with "body".
585
7c8d0ce7
VS
5862012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
589 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
590 prot_size and prot_file_size.
591
49de079b
VS
5922012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
595 All users updated. If easily=1 require raid-5/-6 to be full.
596 (is_node_readable): Likewise.
597 (scan_devices): Scan incomplete but readable LVs at the end.
598 (grub_diskfilter_memberlist): Pull missing devices.
599 (insert_array): Skip scanning until device is complete or scan is
600 done otherwise.
601 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
602 check.
603 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
604 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
605
aff05d45
MG
6062012-03-03 Matthew Garrett <mjg@redhat.com>
6072012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
608
609 Avoid EFI boot services when loading Linux.
610
611 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
612 avoid_efi_bootservices. All users updated.
613 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
614 argument avoid_efi_bootservices. All users updated.
615 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
616 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
617 align, min_align, relocatable, prefered_address. All users updated.
618 Allocate avoiding boot services if kernel is relocatable.
619 (grub_cmd_linux): Check if kernel is relocatable.
620 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
621 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
622 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
623 avoid_efi_boot_services.
624 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
625 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
626 (linux_kernel_params): Likewise.
627
3935dde2
MG
6282012-03-03 Matthew Garrett <mjg@redhat.com>
6292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
630
631 Use EDID on EFI.
632
633 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
634 datasize_out.
635 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
636 modes. Set gop_handle.
637 (grub_video_gop_get_edid): New function.
638 (grub_gop_get_preferred_mode): Likewise.
639 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
640 (grub_video_efi_gop_adapter): Set .get_edid.
641 * include/grub/efi/edid.h: New file.
642 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
643
32107ec0
VS
6442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/grub-install.in: Load efivars unconditionally.
647
e70a2c50
VS
6482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * po/Rules-piglatin: Change suffix from .po-update-en to
651 .po-update-en-piglatin.
652
8f9cace1
VS
6532012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
654
655 Add a pig farm.
656
657 * po/piglatin.sed: New file.
658 * po/en@piglatin.header: Likewise.
659 * po/Rules-piglatin: Likewise.
660 * po/README: Add en@piglatin to autogenerated languages.
661
8f95d002
VS
6622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
665 "Command for ...".
666 * grub-core/commands/hdparm.c (options): Use "Display" rather than
667 "Check" since we don't check anything.
668 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
669 is 64-bit one.
670 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
671 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
672 (grub_md_sha512_real): Likewise.
673
805a8dcc
VS
6742012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/commands/gptsync.c: Fix typographic quoting.
677 * grub-core/commands/ieee1275/suspend.c: Likewise.
678 * grub-core/commands/parttool.c: Likewise.
679 * grub-core/commands/search_wrap.c: Likewise.
680 * grub-core/commands/videoinfo.c: Likewise.
681 * grub-core/gfxmenu/gui_label.c: Likewise.
682 * grub-core/hello/hello.c: Likewise.
683 * grub-core/kern/emu/main.c: Likewise.
684 * grub-core/net/net.c: Likewise.
685 * grub-core/normal/menu.c: Likewise.
686 * grub-core/normal/menu_text.c: Likewise.
687 * grub-core/normal/misc.c: Likewise.
688 * util/grub-editenv.c: Likewise.
689 * util/grub-install.in: Likewise.
690 * util/grub-kbdcomp.in: Likewise.
691 * util/grub-mkconfig.in: Likewise.
692 * util/grub-mknetdir.in: Likewise.
693 * util/grub-mkrescue.in: Likewise.
694 * util/grub-mkstandalone.in: Likewise.
695 * util/grub-reboot.in: Likewise.
696 * util/grub-set-default.in: Likewise.
697 * util/grub-setup.c: Likewise.
698 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
699
40211ab8
VS
7002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
703 * grub-core/commands/keystatus.c: Likewise.
704 * grub-core/commands/loadenv.c: Likewise.
705 * grub-core/commands/probe.c: Likewise.
706 * grub-core/commands/regexp.c: Likewise.
707 * grub-core/commands/true.c: Likewise.
708 * grub-core/commands/videoinfo.c: Likewise.
709 * grub-core/disk/cryptodisk.c: Likewise.
710 * grub-core/disk/ldm.c: Likewise.
711 * grub-core/disk/loopback.c: Likewise.
712 * grub-core/disk/luks.c: Likewise.
713 * grub-core/fs/zfs/zfsinfo.c: Likewise.
714 * grub-core/kern/disk.c: Likewise.
715 * grub-core/kern/emu/hostdisk.c: Likewise.
716
0c7d99c7
VS
7172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
720 * util/grub-install.in: Add missing quote in the comment.
721
e7d2559b
VS
7222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
725 * grub-core/commands/lsmmap.c: Likewise.
726 * grub-core/commands/minicmd.c: Likewise.
727 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
728 * grub-core/commands/regexp.c: Likewise.
729 * grub-core/gdb/gdb.c: Likewise.
730 * grub-core/term/gfxterm.c: Likewise.
731 * util/grub-mkconfig.in: Likewise.
732 * util/grub-mkfont.c: Likewise.
733 * util/grub-mklayout.c: Likewise.
734 * util/grub-mknetdir.in: Likewise.
735 * util/grub-mkrescue.in: Likewise.
736 * util/grub.d/30_os-prober.in: Likewise.
737
49ce9e50
VS
7382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
741 with "Direct color" and "Packed" with "Packed pixel".
742 (grub_cmd_videoinfo): Simplify legend.
743
e4b791fa
VS
7442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
747 absolutely unclear error message.
748
fd1265cb
VS
7492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * util/grub-mkstandalone.in: Remove confusing leftover print.
752
8822a8a0
VS
7532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
756 comments.
757 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
758 (GRUB_MOD_INIT): Likewise.
759 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
760 VGA mode.
761 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
762 comments.
763 * util/grub-install.in (usage): Likewise.
764 Spell ID in whole letters.
765 Add missing ending dot.
766 Quote variables.
767 * util/grub-reboot.in: Fix capitalisation.
768 * util/grub-set-default.in: Likewise.
769
937fd0cc
VS
7702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
773 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
774 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
775 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
776 Disable -Werror for -Wdeprecated-declarations.
777 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
778 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
779 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
780 (grub_util_get_grub_dev): Make luks handling dependent on
781 HAVE_DEVICE_MAPPER and not __linux__.
782 (get_win32_path): Fix format security.
783 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
784 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
785 Don't try grub_find_zpool_from_dir.
786 (grub_make_system_path_relative_to_its_root) [!__linux__]:
787 #ifdef-out paresdir.
788
1bab1ae3
VS
7892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * util/grub-pe2elf.c (usage): Add missing noreturn.
792 (write_section_data): Rename name to shname to avoid shadowing.
793 (write_symbol_table): Rename name to symname to avoid shadowing.
794 Fix write_reloc_section call.
795
ef023e42
VS
7962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
799 to ensure that it's after the last byte of .text.
800
48afcb75
VS
8012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * util/ieee1275/ofpath.c (my_isdigit): New function.
804 (trailing_digits): Use my_isdigit.
805 (strip_trailing_digits): Likewise.
806
88d51eff
VS
8072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
810 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
811
17edc2ba
VS
8122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/kern/i386/pc/startup.S: Define __start.
815
ad5518d7
VS
8162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
819 strip already transforms he format.
820
9e95e1bf
VS
8212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
824
9cc3ee5c
VS
8252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * util/grub-install.in: Add missing gettext init.
828 * util/grub-kbdcomp.in: Likewise.
829 * util/grub-mkconfig.in: Likewise.
830 * util/grub-mknetdir.in: Likewise.
831 * util/grub-mkrescue.in: Likewise.
832 * util/grub-mkstandalone.in: Likewise.
833 * util/grub-reboot.in: Likewise.
834 * util/grub-set-default.in: Likewise.
835 * util/grub.d/00_header.in: Likewise.
836 * util/grub.d/10_hurd.in: Likewise.
837 * util/grub.d/10_windows.in: Likewise.
838 * util/grub.d/30_os-prober.in: Likewise.
839 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
840
49e08a06
VS
8412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * po/Rules-swiss: Fix header comment.
844
3809cb41
AV
8452012-02-29 Andreas Vogel <anvoit>
846
847 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
848 resulted in leak of arguments.
849
fa6ec573
VS
8502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/boot/i386/pc/startup_raw.S: Use separate
853 reed_solomon_size const definition instead of computing it since
854 Apple assembler doesn't support the later.
855
22899b9c
VS
8562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * gentpl.py (kernel): Rewrite Apple part.
859
a132afc3
VS
8602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * include/grub/kernel.h (FOR_MODULES): Check module magic.
863
9d742bd4
VS
8642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * util/grub-mkimagexx.c (locate_sections): Support non-standard
867 ELF section gap.
868 (load_image): Likewise.
869
f04a9a21
VS
8702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * configure.ac: Fix a typo in previous commit.
873
46cf439c
VS
8742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
875
876 Don't add -Wl,-N on Apple platform.
877
878 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
879 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
880
c4c48c54
VS
8812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/Makefile.core.def (lzma_decompress): Use
884 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
885
31a12124
VS
8862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/genmod.sh.in: Rewrite the Apple part.
889
4f3aa1af
VS
8902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
893 comparison.
894
7bd8b0c7
VS
8952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * acinclude.m4 (grub_CHECK_PIC): New test.
898 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
899
97304d7c
VS
9002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
903 to avoid the warning.
904
fb883812
VS
9052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
908 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
909 after. All users updated.
910
a121c964
VS
9112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
912
913 Use the common size routine in hostfs so we can read disks as well.
914
915 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
916 (grub_util_get_fd_size): ... this. Return size in bytes.
917 All users updated.
918 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
919 grub_util_get_fd_size.
920
c66d6410
VS
9212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
924 Add blocksize retrieval.
925
dfc8aeb0
VS
9262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * configure.ac: Restore CFLAGS after efiemu check.
929
403e25a5
VS
9302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
933 Apple bug.
934
382775d1
VS
9352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
938
6fd4e6e4
VS
9392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
942 (grub_cmd_halt): Likewise.
943
bea359d6
VS
9442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
947 for local arithmetics.
948 Break %sp init into 2 instructions.
949 Add 0 byte at the end.
950
32eb6ee1
VS
9512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/disk/diskfilter.c (read_segment): Initialise err
954 before loops.
955
e8377389
VS
9562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
959 for context.
960
8cb17de7
VS
9612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/disk/ldm.c (make_vg): Init part.name.
964 (grub_ldm_detect): Silence spurious warning.
965 (grub_util_is_ldm): Likewise.
966
595717e6
VS
9672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
970 sane value to avoid a spurious warning.
971
c4b7e588
VS
9722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
975 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
976
59824957
VS
9772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
980 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
981
70115b99
VS
9822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
985 hardcoding the relevant info.
986
56733740
VS
9872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
990 missing const qualifiers.
991 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
992
43481481
VS
9932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * util/getroot.c [__APPLE__]: Add missing includes.
996 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
997
3cb38f01
VS
9982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1001
d9dbf11e
VS
10022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1005 avoid conflicts.
1006
0c42a45d
VS
10072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1010
46c34eb0
VS
10112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1014 and grub_file_close call.
1015
99ce1597
VS
10162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 Add LZSS Mach-O support (needed for new xnu kernelcache).
1019
1020 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1021 * grub-core/loader/lzss.c: New file.
1022 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1023 on Mach-O open failure.
1024 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1025 Don't free cmdsXX in uncompressedXX is set.
1026 (grub_macho_file): Init new fields.
1027 New argument is_64bit. All users updated.
1028 Handle compressed. Error out if no suitable architecture is found.
1029 Don't close file.
1030 (grub_macho_open): New argument is_64bit. All users updated.
1031 * grub-core/loader/macho32.c: Add defines for new fields.
1032 * grub-core/loader/macho64.c: Likewise.
1033 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1034 (grub_macho_parse): Handle compressed.
1035 Defer actual processing if compressed.
1036 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1037 "filename". All users updated.
1038 (grub_macho_size): New argument "filename". All users updated.
1039 (grub_macho_get_entry_point): Likewise.
1040 (grub_macho_load): Handle compressed.
1041 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1042 (GRUB_MACHO_LZSS_OFFSET): New define.
1043 (grub_decompress_lzss): New proto.
1044 * include/grub/machoload.h (grub_macho_file): New fields to handle
1045 compressed.
1046 (grub_macho_contains_macho64): Remove proto.
1047 (grub_macho_contains_macho32): Likewise.
1048 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1049
ebd17d6f
VS
10502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1053
2702b4e4
VS
10542012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Fix make dist.
1057
1058 * Makefile.am (starfield_theme_files): New var.
1059 (starfield_DATA): Use starfield_theme_files.
1060 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1061 Add bootcheck-related files.
1062 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1063 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1064 and font_char_metrics.txt.
1065 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1066 (setjmp): Add lib/ia64/longjmp.S.
1067 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1068 * po/POTFILES.in: Regenerate.
1069 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1070 DISTFILES.common.extra1.
1071 * util/devicemap.c: Removed.
1072 * grub-core/lib/i386/relocator_backward.S: Likewise.
1073 * util/import_gcry.py: Remove unused files. Add extra_dist for
1074 ChangeLog.
1075
cf1adfdf
VS
10762012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1079 grub_gettext_delete_list before changing grub_gettext_max to avoid
1080 running out of array bounds.
1081
10822012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1083
1084 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1085 grub_vga_text_init/grub_vga_text_fini.
1086
cf1adfdf 10872012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1088
1089 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1090
541d92e9
VS
10912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * configure.ac: Bump to 2.00~beta0.
1094
7931dddf
VS
10952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1098 missing initialisation.
1099
f1b16fa3
VS
11002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1103
83ddae23
VS
11042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 Support v2 xnu boot arguments.
1107
1108 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1109 New argument fsbfreq_out.
1110 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1111 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1112 be used.
1113 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1114 darwin_version.
1115 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1116 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1117 (grub_xnu_boot_params): Rename to ...
1118 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1119 (grub_xnu_boot_params_v2): New struct.
1120
dc693fe6
VS
11212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1124 zeroing of CRC field before computing CRC.
1125
5a6e39c2
VS
11262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1129 Change order of allocations to decrease fragmentation.
1130
6c21f5d7
VS
11312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1134
cfe456dc
CW
11352012-02-27 Colin Watson <cjwatson@ubuntu.com>
1136
1137 Use write-combining MTRR to speed up video with buggy BIOSes.
1138
1139 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1140 (cpuid): New define.
1141 (rdmsr): Likewise.
1142 (wrmsr): Likewise.
1143 (mtrr_base): Likewise.
1144 (mtrr_mask): Likewise.
1145 (grub_vbe_enable_mtrr_entry): New function.
1146 (grub_vbe_enable_mtrr): Likewise.
1147 (grub_vbe_disable_mtrr): Likewise.
1148 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1149 control off to BIOS.
1150 (grub_video_vbe_init): Fill mtrr.
1151 (grub_video_vbe_fini): Disable mtrr.
1152 (grub_video_vbe_get_info_and_fini): Likewise.
1153 (grub_video_vbe_setup): Enable mtrr.
1154
e3c78337
CW
11552012-02-27 Colin Watson <cjwatson@ubuntu.com>
1156
1157 * include/grub/partition.h (grub_partition_map): Change prototype of
1158 embed to take a maximum value for nsectors.
1159 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1160 * include/grub/fs.h (grub_fs): Likewise.
1161 * grub-core/partmap/msdos.c (embed_signatures): New array.
1162 (pc_partition_map_embed): Check for and avoid sectors matching any
1163 of the signatures in embed_signatures, up to max_nsectors.
1164 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1165 returned sector map to max_nsectors.
1166 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1167 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1168 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1169 * util/grub-setup.c (setup): Allow for the embedding area being
1170 split into multiple blocklists. Tell dest_partmap->embed the
1171 maximum number of sectors we care about.
1172
11732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1176 Specify blocklist_install and reserver_first_sector for all fs.
1177 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1178 blocklists.
1179
984b973f
VS
11802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * util/grub-install.in: Clarify strings.
1183 Fix source dir check.
1184
f122e0d6
RL
11852012-02-27 Richard Laager <rlaager@wiktel.com>
1186
1187 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1188 "zfs" and "fuse.zfs" as synonyms.
1189
071114bb
VS
11902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * configure.ac: Put platform and target_cpu substitutions back since
1193 they are used for directories.
1194
817e6abc
RL
11952012-02-27 Richard Laager <rlaager@wiktel.com>
11962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1199 * util/grub.d/20_linux_xen.in: Likewise.
1200
897b7419
RL
12012012-02-27 Richard Laager <rlaager@wiktel.com>
1202
1203 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1204 with full paths.
1205
a414bd15
RL
12062012-02-27 Richard Laager <rlaager@wiktel.com>
1207
1208 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1209 unescape.
1210
30ac48c4
VS
12112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Don't use insecure popen in getroot.
1214
1215 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1216 (exec_pipe): ... here.
1217 (find_root_devices_from_poolname): Use exec_pipe.
1218
53f13848
VS
12192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 Remove platform and target_cpu replacement.
1222
1223 * configure.ac: Remove platform and target_cpu substitutions.
1224 * tests/util/grub-shell.in: Use modinfo.
1225 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1226 explicitly.
1227
90cb2803
VS
12282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 Autodetect platform in grub-install but allow override.
1231
1232 * util/grub-install.in: Autodetect platform. Support --target and
1233 --directory. Read platform from modinfo.sh.
1234
b9136427
VS
12352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 Support btrfs multi-volume probe.
1238
1239 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1240 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1241 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1242 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1243 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1244 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1245 grub_find_root_devices_from_btrfs if on btrfs.
1246
c36e5cd1
VS
12472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 Remove any awareness of *.c util files about target.
1250
1251 * Makefile.util.def (grub-setup): Split to ...
1252 (grub-bios-setup): ... and this.
1253 (grub-sparc64-setup): ... and this.
1254 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1255 * docs/man/grub-setup.h2m: Split into ...
1256 * docs/man/grub-sparc64-setup.h2m: ... this.
1257 * docs/man/grub-bios-setup.h2m: ... and this.
1258 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1259 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1260 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1261 (grub_target_addr_t): Remove.
1262 (grub_target_size_t): Remove.
1263 (grub_target_ssize_t): Remove.
1264 * util/grub-install.in: Use new grub-*-setup.
1265 * util/grub-mkimagexx.c (Elf_Word): New define.
1266 (Elf_Half): Likewise.
1267 (Elf_Section): Likewise.
1268 (ELF_ST_TYPE): Likewise.
1269 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1270 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1271
584b2f8a
VS
12722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 Replace grub_target_addr with more appropriate types.
1275
1276 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1277 grub_target_addr with grub_addr.
1278 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1279 grub_target_addr with grub_port.
1280 (grub_cmd_write): Likewise.
1281 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1282 grub_target_addr with grub_addr.
1283 (grub_cmd_write): Likewise.
1284 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1285
5a0dc6fb
VS
12862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1289 const qualifier for vendor_guid.
1290
786aff6e
VS
12912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1294 const qualifier.
1295 (efiemu_memequal): Likewise.
1296 (find_variable): Likewise.
1297
49017b17
VS
12982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 Fix missing console prototype on qemu-mips.
1301
1302 * include/grub/mips/qemu_mips/console.h: New file.
1303
c5988629
MG
13042012-02-27 Matthew Garrett <mjg@redhat.com>
13052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1308 * include/grub/efi/efi.h: Likewise.
1309 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1310 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1311 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1312 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1313 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1314 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1315
e33f8d69
MG
13162012-02-27 Matthew Garrett <mjg@redhat.com>
1317
1318 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1319
fb312cd9
VS
13202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1323 error.
1324
7134247c
VS
13252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * configure.ac: Remove inappropriate use of program_transform_name
1328 on grubdir and bootdir but allow explicit specification of those
1329 variables.
1330
6a313124
VS
13312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * util/grub-mknetdir.in (grub_prefix): Removed.
1334 (subdir): Use @bootdirname@ and @grubdirname@.
1335
2311c5ca
VS
13362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1339
7d5d60f7
VS
13402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * po/POTFILES.in: Regenerated.
1343
8151bc82
VS
13442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Remove improper use of program_transform_name on pkglibrootdir.
1347
1348 * configure.ac (pkglibrootdir): Removed.
1349 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1350 * util/grub-mkimage.c: Likewise.
1351
b4a6a533
VS
13522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1355 warning.
1356
668f304f
VS
13572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * util/grub-install.in: Use file identifier if no UUID is available
1360 or user explicitly prompted for it.
1361
665f2341
NP
13622012-02-27 Navdeep Parhar <nparhar@gmail.com>
1363
1364 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1365 (freebsd_get_zfs): New function.
1366 (grub_freebsd_boot): Pass zfs UUID.
1367 (grub_cmd_freebsd): Set zfs UUID.
1368
8151bc82 13692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1370
1371 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1372 pkglibrootdir.
1373
e4c498a1
MG
13742012-02-27 Mike Gilbert <floppym@gentoo.org>
1375
1376 Add configure flag to control libzfs integration.
1377
1378 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1379
1e9a9a3f
VS
13802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1383 device.
1384 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1385 small devices.
1386
036985b8
VS
13872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1390 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1391 be used on non-modules.
1392
1393 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1394 Rename to grub_boot_init.
1395 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1396 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1397 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1398 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1399 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1400 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1401 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1402 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1403 includes.
1404 (grub_machine_init): Remove empty inits.
1405 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1406 includes.
1407 (grub_machine_init): Remove empty inits.
1408 * grub-core/term/arc/console.c: Remove explicit proto.
1409 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1410 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1411 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1412 grub_at_keyboard_fini.
1413 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1414 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1415 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1416 grub_gfxterm_fini.
1417 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1418 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1419 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1420 grub_vgatext_fini.
1421 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1422 * grub-core/term/serial.c (GRUB_MOD_INIT)
1423 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1424 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1425 grub_serial_fini.
1426 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1427 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1428 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1429 grub_terminfo_fini.
1430 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1431 (GRUB_MOD_FINI): Likewise.
1432 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1433 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1434 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1435 grub_video_radeon_fuloong2e_fini.
1436 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1437 [LOONGSON]: Rename to grub_video_sis315pro_init.
1438 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1439 grub_video_sis315pro_fini.
1440 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1441 [LOONGSON]: Rename to grub_video_sm712_init.
1442 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1443 grub_video_sm712_fini.
1444 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1445 (grub_at_keyboard_fini): Likewise.
1446 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1447 Don't declare grub_{modname}_init.
1448 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1449 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1450 New proto.
1451 (grub_keylayouts_fini) [!EMU]: Likewise.
1452 * include/grub/serial.h (grub_serial_init) [!EMU]:
1453 New proto.
1454 (grub_serial_fini) [!EMU]: Likewise.
1455 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1456 New proto.
1457 (grub_terminfo_fini) [!EMU]: Likewise.
1458 * include/grub/video.h (grub_font_init) [!EMU]:
1459 New proto.
1460 (grub_font_fini) [!EMU]: Likewise.
1461 (grub_gfxterm_init) [!EMU]: Likewise.
1462 (grub_gfxterm_fini) [!EMU]: Likewise.
1463 (grub_video_sm712_init) [!EMU]: Likewise.
1464 (grub_video_sm712_fini) [!EMU]: Likewise.
1465 (grub_video_sis315pro_init) [!EMU]: Likewise.
1466 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1467 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1468 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1469
d5534665
VS
14702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 Make nand a prefix for nand devices.
1473
1474 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1475
10133b5f
VS
14762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1479 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1480
8e307a62
VS
14812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * include/grub/env.h (grub_env_find): Remove prototype.
1484 * grub-core/kern/env.c (grub_env_find): Make static.
1485 (grub_env_set): Remove useless set.
1486
a4c65f34
VS
14872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/kern/i386/realmode.S: Remove useless align.
1490
d87893d5
VS
14912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * include/grub/dl.h (grub_dl_load_file): Don't export.
1494
50159add
VS
14952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1498 grub_dprintf.
1499
b2582b84
VS
15002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1503 grub_errors.
1504 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1505 not reloading whole superblock but only the part which is really needed.
1506 Remove useless grub_errors.
1507 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1508 grub_errors.
1509
e2a83395
VS
15102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 Don't export grub_get_rtc.
1513
1514 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1515 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1516
e7d2a906
VS
15172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1520
6cf1363b
VS
15212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1524 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1525
eece3349
VS
15262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 Remove prio_list.
1529
1530 * include/grub/list.h (grub_prio_list): Removed.
1531 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1532 GRUB_COMMAND_PRIO_MASK.
1533 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1534 GRUB_COMMAND_FLAG_ACTIVE.
1535 (grub_prio_list_insert): Removed.
1536 (grub_prio_list_remove): Likewise.
1537 (GRUB_AS_PRIO_LIST): Likewise.
1538 (GRUB_AS_PRIO_LIST_P): Likewise.
1539 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1540 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1541 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1542 * grub-core/kern/command.c (grub_register_command_prio): Inline
1543 the prio_list code.
1544 (grub_unregister_command): Likewise.
1545
94f064b4
VS
15462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 Fix interrupt mixup from previous commit.
1549
1550 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1551 (grub_realidt): New var.
1552 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1553 Load idt.
1554 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1555 New declaration.
1556 (grub_relocator16_boot): Set grub_relocator16_idt.
1557 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1558 (LOCAL(realidt)): ... this.
1559 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1560 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1561 (grub_realidt): New variable.
1562
27317084
VS
15632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1566 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1567 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1568 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1569 Gettextize.
1570 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1571 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1572 * po/POTFILES.in: Regenerate.
1573
47b40053
VS
15742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1577 errors.
1578
2b343101
VS
15792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1582 \0.
1583 (add_length): Likewise.
1584
ff27c3dd
LK
15852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15862012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1587
1588 GDB serial and backtrace support.
1589
1590 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1591 (prot_to_real): Likewise.
1592 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1593 * grub-core/Makefile.core.def (backtrace): New module.
1594 (gdb): Likewise.
1595 * grub-core/gdb/cstub.c: New file.
1596 * grub-core/gdb/gdb.c: Likewise.
1597 * grub-core/gdb/i386/idt.c: Likewise.
1598 * grub-core/gdb/i386/machdep.S: Likewise.
1599 * grub-core/gdb/i386/signal.c: Likewise.
1600 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1601 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1602 * include/grub/backtrace.h: Likewise.
1603 * include/grub/gdb.h: Likewise.
1604 * include/grub/i386/gdb.h: Likewise.
1605
16062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1607
1608 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1609 New function.
1610 (add_length): Likewise.
1611 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1612 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1613 proto.
1614 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1615 __argp_get_display_len.
1616
ff27c3dd 16172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1618
1619 $"..." support in scripts.
1620
1621 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1622 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1623 * grub-core/script/yylex.l: Likewise.
1624 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1625 value.
1626
ff27c3dd 16272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1628
1629 * gentpl.py: Remove obsolete pkglib_DATA handling.
1630
ff27c3dd 16312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1632
1633 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1634 mailing list.
1635
1636 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1637 * util/grub-kbdcomp.in: Likewise.
1638 * util/grub-mkconfig.in: Likewise.
1639 * util/grub-mkconfig_lib.in: Likewise.
1640 * util/grub-mknetdir.in: Likewise.
1641 * util/grub-mkrescue.in: Likewise.
1642 * util/grub-mkstandalone.in: Likewise.
1643 * util/grub-reboot.in: Likewise.
1644 * util/grub-set-default.in: Likewise.
1645 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1646
ff27c3dd 16472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1648
1649 Remove GRUB_PREFIX.
1650
1651 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1652 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1653 used for backward compatibility.
1654
ff27c3dd 16552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1656
1657 Add new all_video module.
1658
1659 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1660 * grub-core/Makefile.core.def (all_video): New module.
1661 * grub-core/genmoddep.awk: Generate dependency of all_video from
1662 video.lst.
1663 * grub-core/lib/fake_module.c: New file.
1664 * grub-core/normal/main.c (features): Add feature_all_video_module.
1665 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1666 don't do explicit search again.
47454da5 1667 insmod all_video in load_video if available.
22c7ce85 1668
ff27c3dd 16692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1670
1671 Another round of string clarification and adding TRANSLATORS comments.
1672
ff27c3dd 16732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1674
1675 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1676
ff27c3dd 16772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1678
1679 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1680 to grub_ssize_t.
1681 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1682 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1683
ff27c3dd 16842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1685
1686 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1687 trailing newline implicitly. All users updated.
1688
ff27c3dd 16892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1690
1691 Implement serial on IEEE1275 and EFI.
1692
1693 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1694 on emu. Mention arc and emu as the only platforms without serial
1695 support.
1696 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1697 ieee1275 platforms.
1698 * grub-core/term/efi/serial.c: New file.
1699 * grub-core/term/ieee1275/serial.c: Likewise.
1700 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1701 specification if no ns8250 driver is available.
1702 (grub_cmd_serial): Likewise.
1703 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1704 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1705 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1706 (grub_efi_parity_type_t): New type.
1707 (grub_efi_stop_bits_t): Likewise.
1708 (grub_efi_serial_io_interface): New struct.
1709 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1710 available for all interfaces.
1711 Add EFI and IEEE1275 fields.
1712 (grub_ofserial_init): New proto.
1713 (grub_efiserial_init): Likeiwse.
1714 * util/grub.d/00_header.in: Don't check for the presence of serial
1715 module.
1716
ff27c3dd 17172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1718
1719 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1720 name as if it was an alias.
1721
114076ef
VS
17222012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/commands/lsacpi.c (options): Fix typo.
1725
6a656b0e
VS
17262012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 Convert grub-emu to argp.
1729
1730 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1731 emu.
1732 * util/argp_common.c: Rename to ...
1733 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1734 Add missing includes.
1735 * grub-core/kern/emu/main.c: Convert to argp.
1736 * po/POTFILES.in: Regenerate.
1737 * util/grub-install.in (usage): Make first letter lowcase in messages
1738 for uniformity.
1739 * util/grub-setup.c (options): Likewise.
1740
1e3f8ae8
VS
17412012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1744 Put back accidently commented-out code.
1745
ed167a80
VS
17462012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1749 loop check using Brent algorithm.
1750 (grub_hfsplus_btree_search): Likewise.
1751
6753c0ec
VS
17522012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * util/grub-install.in: Fix usage of wrong device for PreP install.
1755
4e27343f
VS
17562012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * conf/Makefile.common (CFLAGS_GNULIB): Add
1759 -Wno-unsafe-loop-optimizations.
1760 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1761 on tools.
1762 * grub-core/commands/legacycfg.c: Add pragma to skip
1763 -Wunsafe-loop-optimizations.
1764 (check_password_md5_real): Fix loop counter type.
1765 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1766 reading.
1767 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1768 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1769 loop condition.
1770 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1771 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1772 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1773 condition.
1774 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1775 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1776 avoid possible infinite loops.
1777 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1778 and -Wunsafe-loop-optimizations.
1779 * grub-core/script/yylex.l: Likewise.
1780 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1781 (print_glyphs): Avoid infinite loops.
1782 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1783
697f18b0
GS
17842012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1785
1786 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1787 to avoid infinite loop.
1788 (disp_acpi_rsdt_table): Likewise.
1789
274416e8
VS
17902012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/font/font.c (grub_font_load): Add support for default
1793 path for fonts ($prefix/fonts).
1794 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1795 for checking if string is a path.
1796 * grub-core/normal/main.c (features): Add feature_default_font_path.
1797 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1798 * util/grub.d/00_header.in: Use default directory if possible.
1799 * util/grub-install.in: Install unicode.pf2.
1800
b3e08622
VS
18012012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1804 * po/Rules-swiss: New file.
1805 * po/swiss.sed: Likewise.
1806
fe42ce09
VS
18072012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/fs/btrfs.c (find_device): Fix typos.
1810 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1811 * util/grub-mkrelpath.c (argp_parser): Likewise.
1812 Reported by: Yuri Chornoivan.
1813
72f1d065
DO
18142012-02-23 Dalet Omega <daletomega@gmail.com>
1815
1816 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1817 for usual informative messages.
1818
c5884973
DO
18192012-02-23 Dalet Omega <daletomega@gmail.com>
1820
1821 Starfield theme.
1822
1823 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1824 * conf/Makefile.common: Define starfielddir.
1825 * configure.ac: Configure starfield.
1826 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1827 * themes/starfield/README: Likewise.
1828 * themes/starfield/blob_w.png: Likewise.
1829 * themes/starfield/boot_menu_c.png: Likewise.
1830 * themes/starfield/boot_menu_e.png: Likewise.
1831 * themes/starfield/boot_menu_n.png: Likewise.
1832 * themes/starfield/boot_menu_ne.png: Likewise.
1833 * themes/starfield/boot_menu_nw.png: Likewise.
1834 * themes/starfield/boot_menu_s.png: Likewise.
1835 * themes/starfield/boot_menu_se.png: Likewise.
1836 * themes/starfield/boot_menu_sw.png: Likewise.
1837 * themes/starfield/boot_menu_w.png: Likewise.
1838 * themes/starfield/slider_c.png: Likewise.
1839 * themes/starfield/slider_n.png: Likewise.
1840 * themes/starfield/slider_s.png: Likewise.
1841 * themes/starfield/src/blob_nw.xcf: Likewise.
1842 * themes/starfield/src/bootmenu/: Likewise.
1843 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1844 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1845 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1846 * themes/starfield/src/slider_c.xcf: Likewise.
1847 * themes/starfield/src/slider_n.xcf: Likewise.
1848 * themes/starfield/src/slider_s.xcf: Likewise.
1849 * themes/starfield/src/terminalbox/: Likewise.
1850 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1851 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1852 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1853 * themes/starfield/starfield.png: Likewise.
1854 * themes/starfield/terminal_box_c.png: Likewise.
1855 * themes/starfield/terminal_box_e.png: Likewise.
1856 * themes/starfield/terminal_box_n.png: Likewise.
1857 * themes/starfield/terminal_box_ne.png: Likewise.
1858 * themes/starfield/terminal_box_nw.png: Likewise.
1859 * themes/starfield/terminal_box_s.png: Likewise.
1860 * themes/starfield/terminal_box_se.png: Likewise.
1861 * themes/starfield/terminal_box_sw.png: Likewise.
1862 * themes/starfield/terminal_box_w.png: Likewise.
1863 * themes/starfield/theme.txt: Likewise.
1864
17d73325
VS
18652012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * util/grub.d/00_header.in: Add missing export theme.
1868
dbebaf92
VS
18692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1872 already included.
1873 Reported by: Eren D.
1874
3d68bffb
VS
18752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * conf/Makefile.common (grubdatadir): Removed.
1878 (Makefile.am): Move eveything grubdata to pkgdata.
1879
4b59234d
VS
18802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/commands/acpihalt.c (get_sleep_type):
1883 Remove unused variable.
1884
463dcadc
VS
18852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1888 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1889 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1890 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1891 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1892 i18n with gettext no-op.
1893 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1894 GRUB_ACPI_OPCODE_STRING_CONST.
1895 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1896 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1897
e5b90c82
VS
18982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * po/POTFILES.in: Regenerate.
1901
2a704ca9
VS
19022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1905 -Wno-error=missing-noreturn.
1906
84f9d341
VS
19072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1910 condition to avoid possibly infinite loops.
1911 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1912 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1913
d46683f9
VS
19142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1917 condition to avoid possibly infinite loops.
1918
c44866b2
VS
19192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1922 on show_error.
1923
96790539
VS
19242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1927
1ba7e295
VS
19282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1931
21ffe8f1
VS
19322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * util/bin2h.c (usage): Add missing attribute noreturn.
1935
0ccb6b3c
VS
19362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1939 if the size isn't divisible by 512.
1940
b00d7fb6
VS
19412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 Make list_push and list_remove functions rather than inline functions
1944 to decrease size and avoid aliasing violations.
1945
1946 * include/grub/list.h (grub_list_push): Move to ...
1947 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1948 * include/grub/list.h (grub_list_remove): Move to ...
1949 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1950
9d369087
VS
19512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1954 and -Wunused-result.
1955
af0250d9
VS
19562012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1959 Reported by: Seth Goldberg
1960
aad32b14
VS
19612012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1964
ac96441c
ST
19652012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1966
1967 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1968 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1969 command line.
1970 * docs/grub.texi (Simple configuration): Document
1971 GRUB_CMDLINE_GNUMACH.
1972
19732012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1974
1975 * conf/Makefile.common (platform_SCRIPTS): New variable.
1976 (platform_PROGRAMS): Likewise.
1977 * gentpl.py: Mark *,module and *.image for install.
1978 * grub-core/gdb_grub.in: Add a notice of expected environment.
1979 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1980 (gmodule.pl): Likewise.
1981
ac96441c 19822012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1983
1984 Replace grub_checkkey with grub_getkey_noblock.
1985
1986 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1987 (grub_getkey_noblock): ... this. All users updated.
1988
ac96441c 19892012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1990
1991 * grub-core/kern/emu/console.c: Move to ...
1992 * grub-core/term/emu/console.c: ...here.
1993 (grub_ncurses_getkey): Fix return value if no key is detected.
1994
e51b5666
VS
19952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1998 (grub_unit_test_fini): Likewise.
1999 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2000
20012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * include/grub/test.h (GRUB_UNIT_TEST)
2004
d9a62292
VS
20052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2008 Better error handling.
2009 (grub_script_return): Likewise.
2010 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2011
77c9182f
VS
20122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2015 rimplicit redifinition.
2016
edb13cf9
VS
20172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2020 GRUB.
2021
a9e9dc7c
VS
20222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2025 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2026 prompt here.
2027
b4ba8e02
VS
20282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2031 as GRUB_ERR_BUG. Don't malloc if no device is available.
2032
dded5540
VS
20332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2036 Mark calling with invalid term as GRUB_ERR_BUG.
2037
0cf69874
VS
20382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2041 packets rather than raising an error.
2042
59bfe502
VS
20432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2046 in if.
2047
db5fc596
VS
20482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2051 diagnostic to dprintf.
2052 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2053
e4b7f404
VS
20542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2057 device name.
2058
e7b02f9e
VS
20592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2062 (grub_ntfs_iterate_dir): Likewise.
2063
0331e102
VS
20642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 Efiemu stylistic fixes and gettext.
2067
2068 * grub-core/efiemu/i386/loadcore32.c
2069 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2070 * grub-core/efiemu/i386/loadcore64.c
2071 (grub_arch_efiemu_relocate_symbols64): Likewise.
2072 * grub-core/efiemu/i386/pc/cfgtables.c
2073 (grub_machine_efiemu_init_tables): Likewise.
2074 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2075 (grub_efiemu_loadcore_initXX): Add a filename argument.
2076 All users updated.
2077 Improved error message.
2078 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2079 Add a filename argument.
2080 All users updated.
2081 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2082 Reclassify double relocation as GRUB_ERR_BUG.
2083
306fc074
VS
20842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2087 handling.
2088
794d8ef2
VS
20892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2092 on partition.
2093
20942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2095
2096 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2097
794d8ef2 20982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2099
2100 Improve string. Gettextize.
2101
78dde88e
VS
21022012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2105 utils.
2106 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2107
4786a90f
VS
21082012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2111 [GRUB_UTIL]: New function.
2112 (insert_array) [GRUB_UTIL]: Store partmaps.
2113 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2114 partmaps.
2115 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2116 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2117 (probe_abstraction): Print diskfilter and not raid.
2118 Reported by: Lennart Sorensen
2119
0b6225bd
VS
21202012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2123 * util/grub-mkimagexx.c (MASK3): New define.
2124 (add_value_to_slot_20b): Use MASK3.
2125 (add_value_to_slot_21): Likewise.
2126 (relocate_addresses): Fix format specification.
2127 (load_image): Explicitly init symtab_section.
2128
b055f8f6
VS
21292012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2132 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2133
b77c2fb7
VS
21342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2137 on powerpc.
2138 Reported by: Lennart Sorensen
2139
e3ec28ab
VS
21402012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * gentpl.py: Add missing license header.
2143 * docs/grub.texi: Update copyright year.
2144
c8d9ead6
GS
21452012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2146
2147 Source grub-mkconfig_lib from the build directory at build time.
2148 Suggested by: Vladimir Serbinenko.
2149
2150 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2151 * util/grub-install.in: Define pkgdatadir if not already set, and source
2152 grub-mkconfig_lib from there.
2153 * util/grub-kbdcomp.in: Likewise.
2154 * util/grub-mkconfig.in: Likewise.
2155 * util/grub-mknetdir.in: Likewise.
2156 * util/grub-mkrescue.in: Likewise.
2157 * util/grub-mkstandalone.in: Likewise.
2158 * util/grub-reboot.in: Likewise.
2159 * util/grub-set-default.in: Likewise.
2160 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2161
ebcecdf1
VS
21622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 Increase warning level.
2165
2166 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2167 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2168 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2169 (TARGET_CFLAGS): Likewise.
2170 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2171 * grub-core/Makefile.core.def (decompressor_xz): Add
2172 -Wno-unreachable-code.
2173 (normal): Add -Wno-redundant-decls.
2174 (xzio): Add -Wno-unreachable-code.
2175 (lzopio): Add -Wno-redundant-decls -Wno-error.
2176 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2177 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2178 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2179 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2180 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2181 * grub-core/kern/i386/coreboot/init.c: Add exception to
2182 -Wsuggest-attribute=noreturn.
2183 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2184 * grub-core/kern/ia64/dl_helper.c: Likewise.
2185 * grub-core/kern/mips/dl.c: Likewise.
2186 * grub-core/kern/sparc64/dl.c: Likewise.
2187 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2188 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2189 (memcmp): Likewise.
2190 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2191 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2192 * grub-core/loader/mips/linux.c: Likewise.
2193 * grub-core/loader/multiboot_elfxx.c: Likewise.
2194 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2195 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2196 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2197 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2198 fixme.
2199 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2200 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2201 Fix prototype.
2202
37bb97fe
VS
22032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2206 address.
2207
29a3550b
VS
22082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2211 Avoid improper use of strings.
2212 (grub_cmd_legacy_initrdnounzip): Likewise.
2213
dfdffd0d
VS
22142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2217 attribute.
2218 (grub_util_info): Likewise.
2219 (grub_util_error): Likewise.
2220
102fae4a
VS
22212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2224 * util/grub-fstest.c (fstest): Likewise.
2225
7e94d044
VS
22262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2229 (grub_md_sha512_real): Likewise.
2230 (grub_util_get_geli_uuid): Likewise.
2231 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2232 (grub_util_biosdisk_open): Fix format specification.
2233 Respect format security.
2234 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2235 (xrealloc): Likewise.
2236 (xasprintf): Likewise.
2237
5ebd9769
VS
22382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * util/import_gcry.py: Include grub/crypto.h in init.c.
2241
495fc8c1
VS
22422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2245 (generate_image): Make prefix a const char *.
2246 Fix format specifications. Respect format security.
2247 Avoid void * arithmetics.
2248 Avoid shadowing.
2249 (argp_parser): Remove unused variable. Respect format security.
2250 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2251 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2252 (count_funcs): Remove unused variable.
2253 (relocate_addresses): Fix format specification.
2254 Disable x86-64 with elf32. Remove unused variables.
2255 (add_fixup_entry): Avoid shadowing.
2256 (make_reloc_section): Fix format specification.
2257 Use assert.
2258 (locate_sections): Fix format specifications.
2259 (load_image): Avoid shadowing.
2260
043c2ea3
VS
22612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2264 Fix format specifications. Respect format security.
2265 Don't translate already translated grub_errmsg.
2266 (argp_parser): Remove unused variable
2267
3ec65a81
VS
22682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2271
a4d9fe4a
VS
22722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2275 (main): Likewise. Use xmalloc. Respect format security.
2276
15b81d49
VS
22772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2280 a const char *.
2281 (argp_parser): Remove unused variable.
2282
31731fc0
VS
22832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2286 (add_pixel): Make static.
2287 (add_font): Likewise.
2288 (write_string_section): Make name and str a const char *.
2289 (write_be16_section): Make name a const char *.
2290 (print_glyphs): Make static.
2291 (write_font_ascii_bitmap): Likewise.
2292 (write_font_width_spec): Likewise.
2293 (write_font_pf2): Likewise.
2294 (argp_parser): Remove unused variable.
2295 Respect format security.
2296 (main): Avoid shadowing. Respect format security.
2297
0809527b
VS
22982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * util/grub-editenv.c (argp_parser): Make static.
2301 (create_envblk_file): Use xmalloc.
2302 (open_envblk_file): Likewise.
2303 Resepect format security.
2304 (set_variables): Respect format security.
2305
45b0c8b7
VS
23062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * util/getroot.c (grub_find_device): Respect format security.
2309 (get_mdadm_uuid): Remove unused variable.
2310 (grub_util_pull_device): Dont call gettext on already translated
2311 grub_errmsg.
2312 (find_system_device): Remove unused variable.
2313 (grub_util_get_grub_dev): Likewise.
2314 (grub_make_system_path_relative_to_its_root): Respect format security.
2315
1b024b4e
VS
23162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * util/grub-fstest.c (execute_command): Make first argument
2319 a const char *.
2320 (read_file): Avoid shadowing.
2321 Reuse underlying error message if device open fails.
2322 (cmd_cmp): Respect format security.
2323 (root): Make const char *.
2324 (fstest): Remove args argument and use global copy.
2325 Respect format security.
2326 (argp_parser): Make static.
2327 (main): Make default_root const char *.
2328
5d1d4e28
VS
23292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * util/grub-mount.c (root): Make const char *.
2332 (execute_command): Make first argument a const char *.
2333 (fuse_init): Respect format security.
2334 (argp_parser): Make static. Remove unused variable.
2335 (main): Make default_root a const char *.
2336 Respect format security.
2337
36eb7379
VS
23382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * util/grub-probe.c (probe): Don't call gettext on already translated
2341 grub_errmsg.
2342 Remove unused variables.
2343 (argp_parser): Remove unused variable.
2344
76fb2ea9
VS
23452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * util/grub-script-check.c (argp_parser): Remove unused variable.
2348 (main): Rename read to curread to avoid shadowing.
2349
56c98584
VS
23502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * util/misc.c (grub_util_write_image_at): Fix format specification.
2353 (grub_util_write_image): Likewise.
2354 (grub_script_execute_argument_to_string): Removed (unused).
2355 (grub_script_execute_menuentry): Likewise.
2356 (grub_putchar): Likewise.
2357
164ebb48
VS
23582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2361 (FUNCTION) [GRUB_UTIL]: Likewise.
2362 (VARIABLE) [GRUB_UTIL]: Likewise.
2363
44318d61
VS
23642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2367 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2368
31a26002
VS
23692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2372 buffer.
2373
23742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2377 (LzmaEnc_SaveState): Removed (unused).
2378 (LzmaEnc_RestoreState): Likewise.
2379 (LzmaEnc_InitPriceTables): Made static.
2380 (LzmaEnc_Construct): Likewise.
2381 (LzmaEnc_FreeLits): Likewise.
2382 (LzmaEnc_Destruct): Likewise.
2383 (LzmaEnc_Init): Likewise.
2384 (LzmaEnc_InitPrices): Likewise.
2385 (LzmaEnc_Finish): Likewise.
2386 (LzmaEnc_PrepareForLzma2): Removed (unused).
2387 (LzmaEnc_MemPrepare): Likewise.
2388 (LzmaEnc_GetNumAvailableBytes): Likewise.
2389 (LzmaEnc_GetCurBuf): Likewise.
2390 (LzmaEnc_CodeOneMemBlock): Likewise.
2391
6fa67967
VS
23922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2395 (grub_util_ldm_embed): Likewise.
2396
9a7428e6
VS
23972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * util/grub-editenv.c (print_var): Rename name to varname to
2400 avoid shadowing.
2401 (main): Rename index to curindex to avoid shadowing.
31a26002 2402 Make filename a const char *.
9a7428e6 2403
4f96abd1
VS
24042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2407 to arg_getline to avoid shadowing.
2408
44d10dad
VS
24092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2412 disk_ to avoid shadowing.
2413
340ba63e
VS
24142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2417 curindex to avoid shadowing.
2418 Make static.
2419 (MatchFinder_GetNumAvailableBytes): Make static.
2420
22965bce
VS
24212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2424 avoid shadowing.
2425
7b5784d4
VS
24262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2429 argument from encrypt to do_encrypt to avoid shadowing.
2430
6f48ca01
VS
24312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2434 incorrect nesting of #if's.
2435
a4ea2dff
VS
24362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2439 checks which are always false on some platforms.
2440 (grub_cmd_lsacpi): Likewise.
2441 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2442 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2443 Likewise.
2444
def9fc1b
VS
24452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2448 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2449
a67b2a04
VS
24502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2453 re_dfa_t to avoid breaking alignment invariants.
2454 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2455 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2456
44c6828d
VS
24572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2460 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2461
bebe0dd0
VS
24622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2465 Fix declaration.
2466
a9cdb3cf
VS
24672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2470 conserve alignment invariants.
2471 (grub_ehci_ehcc_read16): Likewise.
2472 (grub_ehci_oper_read32): Likewise.
2473 (grub_ehci_oper_write32): Likewise.
2474 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2475 Conserve alignment invariants.
2476
ccc3b1b8
VS
24772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2480 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2481 declarations.
2482
987fbd95
VS
24832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2486 Remove unused variable.
2487
0df363f3
VS
24882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2491 Remove set in if.
2492
b2c0c4a6
VS
24932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * include/grub/net.h: Remove double declarations.
2496
690c531f
VS
24972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 Remove "payload" command in ia64 Linux loader since I couldn't
2500 find any evidence of it being used for anything.
2501 Replace "relocate" command with an environment variable
2502
2503 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2504 fields.
2505 (ia64_boot_payload): Removed.
2506 (last_payload): Likewise.
2507 (RELOCATE_OFF): Likewise.
2508 (RELOCATE_ON): Likewise.
2509 (RELOCATE_FORCE): Likewise.
2510 (relocate): Likewise.
2511 (free_pages): Don't free payloads.
2512 (grub_load_elf64): Use common error messages.
2513 Use "linux_relocate" variable.
2514 Increase the space after boot_params.
2515 (grub_cmd_payload): Removed.
2516 (grub_cmd_relocate): Likewise.
2517 (grub_cmd_fpswa): Improve messages.
2518 (cmd_payload): Removed.
2519 (cmd_relocate): Likewise.
2520 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2521 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2522
01783768
VS
25232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 Convert UHCI to DMA framework.
2526
2527 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2528 (grub_uhci_pci_iter): Fill new members
2529 (grub_alloc_td): Use P2V and V2P functions.
2530 (grub_free_queue): Likewise.
2531 (grub_alloc_qh): Likewise.
2532 (grub_uhci_setup_transfer): Likewise.
2533 (grub_uhci_check_transfer): Likewise.
2534
43206939
VS
25352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2538 Remove assignment in if while on it.
2539
571e140e
VS
25402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * util/grub-mkstandalone.in: Fix modules directory.
2543
a9d96eeb
VS
25442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2547 on i386-pc target.
2548 (argp_parser): Accept "auto" as compression specification.
2549
e4e37e8d
VS
25502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Fix `help' with unloaded modules.
2553
2554 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2555 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2556 (grub_dyncmd_dispatcher): Small stylistic fix.
2557 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2558 explicit help is requested.
2559
e1ea3ade
VS
25602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2563 Explicitly init restart while on it.
2564
27556881
VS
25652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2568 uninited variable.
2569
d65f6b36
VS
25702012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * util/grub-mknetdir.in: Use . rather than source for POSIX
2573 compatibility.
2574
0a1e473c
VS
25752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2578
ce6647c8
VS
25792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2582 variable.
2583
66747894
VS
25842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2587 without quotes.
2588
71645f6e
VS
25892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2592
0e1c1f61
VS
25932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2596 iteration of partitions.
2597
9c4b5c13
VS
25982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 Improve gettext support. Stylistic fixes and error handling fixes while
2601 on it.
2602
215c90cb
VS
26032012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2606 part. Instead setup the correct stack in RM.
2607 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2608 for stack.
2609 * include/grub/i386/relocator_private.h: New file.
2610
b5c1f9bf
VS
26112012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2614 argument.
2615 * util/grub-fstest.c (options): Add missing DEVICE part.
2616
b525fd83
VS
26172012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 Clarify and unify messages.
2620
2621 * grub-core/commands/hashsum.c (options): Unify messages.
2622 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2623 literal-only message as translatable.
2624 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2625 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2626 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2627 commands.
2628 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2629 key, not the key used to unlock. Clarify what it's used for.
2630 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2631 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2632 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2633 * util/grub-editenv.c (options): Unify "verbose" message.
2634 * util/grub-fstest.c (read_file): Unify error message.
2635 (fstest): Add quotes around commands.
2636 (options): Unify "verbose" message.
2637 * util/grub-install.in: Add quotes around variable name.
2638 * util/grub-kbdcomp.in: Unify error message.
2639 * util/grub-mkfont.c (main): Likewise.
2640 * util/grub-mkrescue.in: Likewise.
2641 * util/grub-mklayout.c (options): Unify "verbose" message.
2642 * util/grub-mkstandalone.in: Unify help and verbose messages.
2643 * util/grub-mount.c (options): Unify "verbose" message.
2644 * util/grub-probe.c (options): Likewise.
2645 * util/grub-script-check.c (options): Likewise.
2646 * util/grub-setup.c (setup): Unify no-terminator message.
2647 (options): Use DEVICE and not DEV.
2648 Unify "verbose" message.
2649 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2650
0ae70393
VS
26512012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 Improve and unify messages.
2654
2655 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2656 name. All users updated.
2657 Print filename in error.
2658 (read_device_map): Print filename in error.
2659 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2660 (grub_util_get_os_disk): Likewise.
2661 (grub_util_biosdisk_get_grub_dev): Likewise.
2662 (grub_util_check_block_device): Likewise.
2663 (grub_util_check_char_device): Likewise.
2664 (grub_make_system_path_relative_to_its_root): Likewise.
2665 * util/grub-editenv.c (create_envblk_file): Likewise.
2666 (open_envblk_file): Likewise.
2667 (write_envblk): Likewise.
2668 * util/grub-fstest.c (cmd_cp): Likewise.
2669 (cmd_cat): Likewise.
2670 (cmd_cmp): Likewise.
2671 * util/grub-menulst2cfg.c (main): Likewise.
2672 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2673 (write_font_width_spec): Likewise.
2674 (write_font_pf2): Likewise.
2675 * util/grub-mkimage.c (generate_image): New argument outname.
2676 All users updated.
2677 Remove unreacheable message.
2678 (options): Unify messages.
2679 (help_filter): Likewise.
2680 * util/grub-mklayout.c (usage): Removed (unused).
2681 (main): Print filename in error.
2682 * util/grub-mkrescue.in: Fix wrong quoting.
2683 * util/grub-setup.c (setup): Print filename in error.
2684 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2685 (check_sas): Likewise.
2686 * util/misc.c (grub_util_get_fp_size): Removed.
2687 (grub_util_get_image_size): Print filename in error.
2688 (grub_util_read_at): Removed.
2689 (grub_util_read_image): Print filename in error.
2690 (grub_util_load_image): Likewise.
2691 (grub_util_write_image_at): New argument filename. All users updated.
2692 Print filename in error.
2693 (grub_util_write_image): New argument filename. All users updated.
2694 Print filename in error.
2695 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2696 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2697
0a96117d
VS
26982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/Makefile.core.def (pxechain): New module.
2701 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2702 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2703 function.
2704 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2705 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2706
aca002f7
VS
27072012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2710 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2711 * include/grub/err.h (grub_error_saved): New struct.
2712 (grub_errmsg): Make array size explicit.
2713 * include/grub/misc.h (grub_error_save): New function.
2714 (grub_error_load): Likewise.
2715 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2716 (grub_error_push): Update `errno' member name.
2717 (grub_error_pop): Likewise
2718 * grub-core/net/tftp.c (tftp_data): New member save_err.
2719 (tftp_receive): Save error.
2720 (tftp_open): Restore error.
2721
a51dab13
VS
27222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2725 to real mode down to execute A20-related code in protected mode as
2726 intended.
2727
eb6e6649
GS
27282012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2729
2730 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2731 NULL when the argument `level' has an unexpected value.
2732
92cd0f6e
VS
27332012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 Move platform-dependent files from $prefix to $prefix/$platform.
2736
2737 * config.h.in (GRUB_TARGET_CPU): New definition.
2738 (GRUB_PLATFORM): Likewise.
2739 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2740 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2741 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2742 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2743 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2744 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2745 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2746 * grub-core/normal/term.c (read_terminal_list): Likewise.
2747 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2748 $prefix/locale.
2749 (grub_gettext_init_ext): Likewise.
2750 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2751 grub_platform.
2752 * util/grub-install.in: Update directories.
2753 * util/grub-mknetdir.in: Likewise.
2754 * util/grub-mkrescue.in: Likewise.
2755
db606889
VS
27562012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2759 grub_error framework. All users updated.
2760
c39992a4
VS
27612012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2764 lists (by always binsearching), improve caching (cache strings
2765 used for binsearch, not only results), improve
2766 maintainability (by using more structured binary search) and correct
2767 error handling.
2768
1e5ec32f
VS
27692012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/script/execute.c (grub_script_return): Fix warning.
2772
ac576cde
VS
27732012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * grub-core/script/execute.c (grub_script_return): Fix potential
2776 NULL-dereference.
2777 Reported by: Jim Meyering.
2778
498453f6
VS
27792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * po/POTFILES.in: Regenerate.
2782 * util/grub-install.in: Gettextize the strings missed in first pass.
2783
8be63f2e
VS
27842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * Makefile.util.def (grub-mkdevicemap): Removed.
2787 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2788 * include/grub/util/deviceiter.h: Removed.
2789 * util/deviceiter.c: Likewise.
2790 * util/getroot.c (grub_util_get_os_disk): New function.
2791 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2792 replacement for EFI.
2793 * util/grub-mkdevicemap.c: Removed.
2794 * util/grub-probe.c (probe): Handle PRINT_DISK.
2795 (argp_parser): Handle -t disk.
2796
8e1e4e39
VS
27972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * util/grub-mkfont.c: Migrate to argp.
2800 * util/grub-mklayout.c: Likewise.
2801 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2802 * util/grub-mkrelpath.c: Likewise.
2803 * util/grub-probe.c: Likewise.
2804 * util/grub-script-check.c: Likewise.
2805
4459819a
VS
28062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * util/grub-reboot.in: Add missing datarootdir.
2809 Add missing newline.
2810 * util/grub-set-default.in: Add missing datarootdir.
2811 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2812 * util/grub-mkrescue.in: Likewise.
2813
f65741c7
VS
28142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2817
c1a33466
VS
28182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * util/grub-kbdcomp.in: Add decent help and gettextize.
2821 * docs/man/grub-kbdcomp.h2m: New file.
2822
c76899a0
VS
28232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 Migrate grub-mkimage.c to argp.
2826
2827 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2828 (grub-setup): Likewise.
2829 * util/grub-setup.c (print_version): Move to ...
2830 * util/argp_common.c (print_version): ... here.
2831 * util/grub-setup.c (argp_program_version_hook): Move to ...
2832 * util/argp_common.c (argp_program_version_hook): ... here.
2833 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2834 safety.
2835 * util/grub-mkimage.c (main): Migrate to argp.
2836
57db0757
VS
28372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * util/grub-mkrescue.in: Use same message as
2840 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2841 for better translations.
2842
18534ad9
VS
28432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2846 options with generic grub-mkrescue.in with the goal of future
2847 merge.
2848
c84ba308
VS
28492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/kern/mm.c: Add missing include of i18n.h
2852 * grub-core/lib/relocator.c: Likewise.
2853
347998c2
VS
28542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2857 error.
2858 (allocate_pages): Check return value.
2859 Replace fatal with error.
2860 (grub_linux_boot): Replace printf with dprintf.
2861 Check find_mmap_size return value.
2862 Replace fatal with error.
2863 Don't call grub_machine_fini.
2864 (grub_load_elf64): Replace printf with dprintf.
2865 (grub_cmd_linux): Likewise.
2866 (grub_cmd_initrd): Likewise.
2867 (grub_cmd_payload): Likewise.
2868
c779226e
VS
28692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2872 message.
2873 * grub-core/video/radeon_fuloong2e.c
2874 (grub_video_radeon_fuloong2e_setup): Likewise.
2875 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2876 * grub-core/video/video.c (grub_video_set_mode): Don't override
2877 standard out of memory message.
2878
dc87d45a
GS
28792012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2880
2881 NetBSD disk wedge support.
2882
2883 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2884 [__NetBSD__]: Handle NetBSD disk wedges.
2885 * util/getroot.c (convert_system_partition_to_system_disk)
2886 [__NetBSD__]: Likewise.
2887
055f856f
MW
28882012-02-03 Mark Wooding <mdw@distorted.org.uk>
2889
2890 * util/grub-mkconfig.in: Use umask rather than chmod to create
2891 grub.cfg.new to avoid insecure grub.cfg.
2892
4a9f8346
VS
28932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/commands/ls.c: Gettextize.
2896 * grub-core/commands/setpci.c: Likewise.
2897 * grub-core/commands/videotest.c: Likewise.
2898 * grub-core/disk/geli.c: Likewise.
2899 * grub-core/kern/mm.c: Likewise.
2900 * grub-core/lib/relocator.c: Likewise.
2901 * grub-core/loader/efi/appleloader.c: Likewise.
2902 * grub-core/loader/i386/xnu.c: Likewise.
2903 * grub-core/loader/ia64/efi/linux.c: Likewise.
2904 * grub-core/loader/xnu.c: Likewise.
2905 * grub-core/net/dns.c: Likewise.
2906 * grub-core/net/net.c: Likewise.
2907 * grub-core/script/lexer.c: Likewise.
2908 * grub-core/script/parser.y: Likewise.
2909 * grub-core/script/yylex.l: Likewise.
2910 * util/getroot.c: Likewise.
2911 * util/grub-setup.c: Likewise.
2912
a646a366
VS
29132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2916 number.
2917
54e2be26
VS
29182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2921
f7c71e68
VS
29222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2925 macro.
2926 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2927 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2928
a32d5c71
VS
29292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2932 * util/grub-install.in: Gettextize.
2933 * util/grub-mkconfig.in: Likewise.
2934 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2935 if not available.
2936 (grub_warn): Gettextize.
2937 * util/grub-mknetdir.in: Gettextize.
2938 * util/grub-mkrescue.in: Likewise.
2939 * util/grub-mkstandalone.in: Likewise.
2940 * util/grub-reboot.in: Likewise.
2941 * util/grub-set-default.in: Likewise.
2942 * util/grub.d/00_header.in: Likewise.
2943 * util/grub.d/10_hurd.in: Likewise.
2944 * util/grub.d/10_kfreebsd.in: Likewise.
2945 * util/grub.d/10_linux.in: Likewise.
2946 * util/grub.d/10_netbsd.in: Likewise.
2947 * util/grub.d/10_windows.in: Likewise.
2948 * util/grub.d/20_linux_xen.in: Likewise.
2949 * util/grub.d/30_os-prober.in: Likewise.
2950 * po/POTFILES-shell.in: Regenerate.
2951
69edd81a
RL
29522012-02-03 Richard Laager <rlaager@wiktel.com>
2953
2954 * util/grub-mkimage.c (main): Fix format-security warning.
2955 * util/grub-mkrelpath.c (main): Likewise.
2956 * util/grub-probe.c (main): Likewise.
2957
65f08dbf
RL
29582012-02-03 Richard Laager <rlaager@wiktel.com>
2959
2960 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2961 failure.
2962 Put back lost PRINT_DRIVE.
2963
e9084abe
RL
29642012-02-03 Richard Laager <rlaager@wiktel.com>
2965
2966 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2967 (grub_guess_root_devices): Replace strlen with sizeof.
2968 Avoid crash.
2969 (find_root_devices_from_poolname): Remove unused variable.
2970 Handle raidzN.
2971
cf5f7ee7
VS
29722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 Support install on multi-device filesystems.
2975
2976 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2977 (grub_guess_root_devices): ...this. Return char **. All users updated.
2978 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2979 Removed.
2980 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2981 (find_root_devices_from_poolname): ... here.
2982 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2983 Support zfs-fuse.
2984 (grub_guess_root_device): Rename to ...
2985 (grub_guess_root_devices): ... this. Return char **. All users updated.
2986 * util/grub-install.in: Handle multi-device filesystems.
2987 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2988 argument. All users updated.
2989 Handle multi-device filesystems.
2990 Use 'delim' as separator.
2991 Remove device check to allow filesystems on file.
2992 (main): Support -0 argument. Handle multi-device.
2993 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2994 Fix a cross-device check while on it.
2995 (arguments): Remove root_dev.
2996 (argp_parser): Remove -r.
2997 (main): Remove root_dev.
2998
2f53a9ed
VS
29992012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3002
17e1d934
VS
30032012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3006 symbol.
3007 Reported by: NODA, Kai <nodakai>.
3008
d3e3fab5
VS
30092012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 Fix ehci on amd64.
3012
3013 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3014 pointers.
3015 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3016 (grub_ehci_setup_qh): Likewise.
3017 (grub_ehci_find_qh): Likewise.
3018 (grub_ehci_transaction): Likewise.
3019 (grub_ehci_setup_transfer): Likewise.
3020 (grub_ehci_check_transfer): Likewise.
3021 (grub_ehci_portstatus): Likewise.
3022 (grub_ehci_detect_dev): Likewise.
3023 (grub_ehci_transfer_controller_data): New field td_last_phys.
3024 (grub_ehci_setup_transfer): Fill td_last_phys.
3025 (grub_ehci_check_transfer): Use td_last_phys.
3026
3008675b
SG
30272012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3028
3029 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3030 if no submenu is present.
3031
fc9b5652
AN
30322012-02-01 Aleš Nesrsta <starous@volny.cz>
3033
3034 CBI support.
3035
3036 * include/grub/usb.h (grub_usbms_protocol_t): New values
3037 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3038 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3039 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3040 (grub_usbms_dev): Add subclass, protocol and intrpt.
3041 Remove in_maxsz and out_maxsz.
3042 (grub_usbms_reset): Rename to ...
3043 (grub_usbms_bo_reset): .. this.
3044 (grub_usbms_cbi_cmd): New function.
3045 (grub_usbms_cbi_reset): Likewise.
3046 (grub_usbms_reset): Likewise.
3047 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3048 (grub_usbms_transfer): Rename to ...
3049 (grub_usbms_transfer_bo): ... this.
3050 (grub_usbms_transfer_cbi): Likewise.
3051 (grub_usbms_transfer): Likewise.
3052
a2b81d53
AN
30532012-02-01 Aleš Nesrsta <starous@volny.cz>
30542012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3057 the support for the CS5536 modification thereos and few bugfixes.
3058
3059 * grub-core/Makefile.core.def (ehci): New module.
3060 * grub-core/bus/usb/ehci.c: New file.
3061 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3062 port and hubaddr. All users updated.
3063 Save port and hubaddr into dev structure.
3064 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3065 define.
3066 * include/grub/pci.h (grub_dma_phys2virt): New function.
3067 (grub_dma_virt2phys): Likewise.
3068 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3069
b1d51f02
VS
30702012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3073 check as some mkfs implementations omit it.
3074
fc694106
VS
30752012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3078
6c0920e3
VS
30792012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3082 Add new member volname2.
3083 (grub_jfs_label): Use volname2 if available.
3084
d1a46f9a
VS
30852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3088 over last_mounted as seen in image generated by mkfs.nilfs2.
3089 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3090
dec8ed14
VS
30912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3094 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3095 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3096
7397c69b
VS
30972012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3100 over the sector.
3101
b3fe42ad
VS
31022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3105 subvolume name (by removing a bogus and useless check).
3106
10476bb0
VS
31072012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3110 sizeof while on it.
3111
9c08ad87
VS
31122012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3115 (grub_scsi_read_capacity10): ... this.
3116 (grub_scsi_read_capacity16): New function.
3117 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3118 0xffffffff.
3119 Fix off-by-one error.
3120 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3121 64-bit unsigned.
3122 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3123 (grub_scsi_read_capacity10): ... this.
3124 (grub_scsi_read_capacity_data): Rename to ...
3125 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3126 (grub_scsi_read_capacity16): New struct.
3127 (grub_scsi_read_capacity16_data): Likewise.
3128 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3129 grub_scsi_cmd_read_capacity10.
3130 New command grub_scsi_cmd_read_capacity16.
3131
bc8d0f45
VS
31322012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 SCSI >2TiB support.
3135
3136 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3137 (grub_scsi_write16): Likewise.
3138 (grub_scsi_read): Use read16 when necessary.
3139 (grub_scsi_write): Likewise.
3140 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3141 (grub_scsi_write16): Likewise.
3142 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3143
cc774926
VS
31442012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 SCSI write support (for usbms mainly).
3147
3148 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3149 a const pointer.
3150 (grub_scsi_write): Implement.
3151 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3152
67639fd7
VS
31532012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3156 variable.
3157
9079d3ed
VS
31582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3161
c6a6f204
VS
31622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * po/POTFILES.in: Regenerate.
3165
ecbf8cd1
VS
31662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3169 with grub_printf to avoid unnecessary fatal failure.
3170
0b3b3b38
VS
31712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3174 (INT_MAX): Likewise.
3175 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3176 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3177 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3178 (strcpy): Likewise.
3179 (strstr): Likewise.
3180 (strchr): Likewise.
3181 (strncpy): Likewise.
3182 (strcat): Likewise.
3183 (strncat): Likewise.
3184 (strcoll): Likewise.
3185 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3186 (GRUB_INT_MAX): Likewise.
3187
db7337a3
VS
31882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3191 unexpected error.
3192 (optimize_utf8): Likewise.
3193 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3194
f37c87e1
VS
31952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/boot/i386/pc/lnxboot.S: Use
3198 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3199 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3200 location.
3201 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3202 definition.
3203 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3204
63fe43f3
VS
32052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3208 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3209 now to avoid double free.
3210 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3211 hostdisk.
3212 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3213 * util/grub-probe.c (escape_of_path): Always return a new copy.
3214 (print_full_name): Escape path.
3215 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3216 Fix hints on abstractions.
3217
ebe2c961
VS
32182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3221 Don't add "root" line if no compatibility hont is available.
3222 Suggested by: Seth Goldberg.
3223
2b5336a2
VS
32242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3227 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3228 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3229 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3230
74310bd8
VS
32312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3234
c30582ba
VS
32352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * util/grub-pe2elf.c (ehdr): Make static.
3238 (shdr): Likewise.
3239 (num_sections): Likewise.
3240 (offset): Likewise.
3241
5f47782c
VS
32422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 Eliminate ofpath limits and possible overflows.
3245
3246 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3247 (OF_PATH_MAX): Removed.
3248 (MAX_DISK_CAT): New const.
3249 (find_obppath): Use allocated rather than preallocated buffer.
3250 Return result. Argument of_path removed. All users updated.
3251 Add missing fdstat.
3252 (xrealpath): New function.
3253 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3254 Allocate rather than use preallocated buffer. All users updated.
3255 (__of_path_common): Use allocated rather than preallocatecd buffer.
3256 Return result. Argument of_path removed. All users updated.
3257 (vendor_is_ATA): Read only needed part form the file.
3258 (check_sas): Allocate depending on contents rather than fixed.
3259 (main) [STANDALONE]: Handle NULL result.
3260
f990cbf9
VS
32612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3264
9c6e84b8
VS
32652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 Cryptodisk write support.
3268
3269 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3270 (grub_cryptodisk_decrypt): Moved logic to ...
3271 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3272 (grub_cryptodisk_write): Implement.
3273 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3274 (grub_util_fd_write): ... this. Make global.
3275 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3276
87cf9744
VS
32772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * include/grub/list.h (grub_list_remove): Don't crash if element is
3280 removed twice.
3281
ca8c0baf
VS
32822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 Rename ofconsole to console.
3285
3286 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3287 as sysnonym to console.
3288 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3289 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3290 Rename grub_ofconsole_ to grub_console_. All users updated
3291 (grub_console_term_output): Rename "ofconsole" to "console".
3292 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3293 as "console".
3294
64c8b8f6
VS
32952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3298 handling.
3299 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3300 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3301 GRUB_DISK_DEVICE_FILE_ID.
3302
f6c434d5
VS
33032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3306 and improve performance.
3307
5858b42d
VS
33082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3311 missing ieee1275/ prefix on whole disk.
3312
4ed3c26b
VS
33132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3316 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3317
df71143e
VS
33182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3321
076e7c0f
VS
33222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 Merge common RAID and LVM logic to an abstract diskfilter.
3325 Add LDM support using the same framework.
3326
3327 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3328 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3329 (libgrubmods): Remove grub-core/disk/raid.c and
3330 grub-core/partmap/gpt.c.
3331 * grub-core/Makefile.core.def (ldm): New module.
3332 (raid): Renamed to diskfilter. All users updated.
3333 * grub-core/disk/raid.c: Moved to ...
3334 * grub-core/disk/diskfilter.c: ... here.
3335 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3336 (lv_num): New var.
3337 (find_array): Renamed to ...
3338 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3339 (grub_is_array_readable): Renamed to ...
3340 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3341 (insert_array): New argument id.
3342 (is_node_readable): New function.
3343 (scan_device): Rename to ...
3344 (scan_disk): .. this. Restrict to one disk.
3345 (scan_devices): New function.
3346 (grub_diskfilter_iterate): Support multi-LV.
3347 Skip invisible and nameless LVs.
3348 (grub_diskfilter_memberlist): Support multi-LV.
3349 (grub_diskfilter_read_node): New function.
3350 (grub_raid_read): Most of logic moved to ...
3351 (read_segment): ... here
3352 (read_lv): New function.
3353 (grub_diskfilter_get_vg_by_uuid): New function.
3354 (grub_diskfilter_make_raid): Likewise.
3355 * grub-core/disk/ldm.c: New file.
3356 * grub-core/disk/lvm.c (vg_list): Removed.
3357 (lv_count): Likewise.
3358 (scan_depth): Likewise.
3359 (is_lv_readable): Likewise.
3360 (grub_lvm_getvalue): Advance pointer past the number.
3361 (find_lv): Removed.
3362 (do_lvm_scan): Refactored into ...
3363 (grub_lvm_detect): ... this. Support raid.
3364 (grub_lvm_iterate): Removed.
3365 (grub_lvm_memberlist): Likewise.
3366 (grub_lvm_open): Likewise.
3367 (grub_lvm_close): Likewise.
3368 (read_lv): Likewise.
3369 (read_node): Likewise.
3370 (is_node_readable): Likewise.
3371 (is_lv_readable): Likewise.
3372 (grub_lvm_read): Likewise.
3373 (grub_lvm_write): Likewise.
3374 (grub_lvm_dev): Use diskfilter
3375 (GRUB_MOD_INIT): Likewise.
3376 (GRUB_MOD_FINI): Likewise.
3377 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3378 new interface.
3379 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3380 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3381 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3382 grub_diskfilter_read_node.
3383 Fix a bug with xor.
3384 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3385 grub_diskfilter_read_node.
3386 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3387 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3388 (grub_disk_dev_iterate): Move from here...
3389 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3390 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3391 Make global.
3392 (grub_hostdisk_find_partition_start): Likewise.
3393 (grub_hostdisk_os_dev_to_grub_drive): New function.
3394 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3395 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3396 * util/getroot.c (make_device_name): ... here.
3397 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3398 Move to ...
3399 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3400 * grub-core/kern/emu/hostdisk.c
3401 (convert_system_partition_to_system_disk): Move to ...
3402 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3403 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3404 * util/getroot.c (device_is_wholedisk): ... here.
3405 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3406 * util/getroot.c (find_system_device): ... here.
3407 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3408 Move to ...
3409 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3410 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3411 Move to ...
3412 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3413 Handle LDM.
3414 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3415 Move to ...
3416 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3417 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3418 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3419 DISKFILTER.
3420 * include/grub/raid.h: Renamed to ...
3421 * include/grub/diskfilter.h: ... this.
3422 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3423 (GRUB_RAID_LAYOUT_*): Make into array.
3424 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3425 (grub_diskfilter_vg): New struct.
3426 (grub_diskfilter_pv_id): Likewise.
3427 (grub_raid_member): Removed.
3428 (grub_raid_array): Likewise.
3429 (grub_diskfilter_pv): New struct.
3430 (grub_diskfilter_lv): Likewise.
3431 (grub_diskfilter_segment): Likewise.
3432 (grub_diskfilter_node): Likewise.
3433 (grub_diskfilter_get_vg_by_uuid): New proto.
3434 (grub_raid_register): Inline.
3435 (grub_diskfilter_unregister): Likewise.
3436 (grub_diskfilter_make_raid): New proto.
3437 (grub_diskfilter_vg_register): Likewise.
3438 (grub_diskfilter_read_node): Likewise.
3439 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3440 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3441 (grub_util_is_ldm): Likewise.
3442 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3443 (grub_hostdisk_find_partition_start): Likewise.
3444 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3445 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3446 New definition.
3447 (grub_gpt_partition_map_iterate): New proto.
3448 * include/grub/lvm.h (grub_lvm_vg): Removed.
3449 (grub_lvm_pv): Likewise.
3450 (grub_lvm_lv): Likewise.
3451 (grub_lvm_segment): Likewise.
3452 (grub_lvm_node): Likewise.
3453 * util/getroot.c [...]
3454 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3455 (probe_abstraction): Likewise.
3456 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3457 (main): Remove dead logic.
3458
8a7f9b9c
VS
34592012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 Simplify root device discover and don't fail when trying to open
3462 incorrect devices.
3463
3464 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3465 function.
3466 (get_diskname_from_path): Likewise.
3467 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3468 of iterating.
3469
30545b85
VS
34702012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3473
28ea58cf
VS
34742012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3477 pastthe end.
3478
692dabca
VS
34792012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * util/grub-install.in: Add missing \.
3482 Reported by: gentoofan
3483
f6e4ea70
VS
34842012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3487 (direct_read): Use correct compressed size.
3488 (grub_squash_read_data): Likewise.
3489
34902012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3491
3492 * docs/grub.texi (Platform limitations): New section.
3493 (Platform-specific operations): Likewise.
3494 * docs/grub-dev.texi (Porting): Likewise.
3495
76261110
VS
34962012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 IEEE1275 disk write support.
3499
3500 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3501 const void *.
3502 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3503 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3504 and seek loginc to ...
3505 (grub_ofdisk_prepare): ... here.
3506 (grub_ofdisk_write): Implement.
3507
fc36d603
VS
35082012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 ARC disk write support.
3511
3512 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3513 (reopen): New argument writable. All users updated.
3514 Handle required access mode.
3515 (grub_arcdisk_write): Implement.
3516 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3517 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3518
e06c2e7a
VS
35192012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3522 (read_sblock): Don't attempt to read superblocks outside the disk size.
3523
ff447958
VS
35242012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3527 first superblock to find the second one when possible.
3528
9e88df39
VS
35292012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * util/grub-install.in: Fix an ARC bug.
3532 Print a warning if no platform-specific setup is available.
3533
bb26e4ff
VS
35342012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 Use static allocation rather than scratch pointer in reed_solomon.
3537 It decreases its size significantly and avoids a variable in .text.
3538
3539 * grub-core/lib/reed_solomon.c (scratch): Removed.
3540 (chosenstat): New const or static array.
3541 (sigma): Likewise.
3542 (errpot): Likewise.
3543 (errpos): Likewise.
3544 (sy): Likewise.
3545 (mstat): Likewise.
3546 (errvals): Likewise.
3547 (eqstat): Likewise.
3548 (pol_evaluate): Replace x with log_x argument. All users updated.
3549 (syndroms): Removed.
3550 (gauss_solve): Use statically allocated arrays.
3551 (rs_recover): Likewise.
3552 Calculate syndroms directly.
3553 (decode_block): Use statically allocated arrays.
3554 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3555 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3556
2e13ede5
VS
35572012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 Eliminate fixed limit on reed solomon decoder length.
3560
3561 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3562 rather than hardcoding the address.
3563 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3564 no_reed_solomon_length.
3565 Move gate_a20 to no-reed-solomon part.
3566 Don't force a particular size of no reed-solomon part.
3567 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3568 Removed.
3569 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3570 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3571
f8a9ab12
VS
35722012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * grub-core/commands/wildcard.c (match_files): Handle filenames
3575 without explicit device.
3576 (wildcard_expand): Don't add explicit device if not already present.
3577 * tests/grub_script_echo1.in: Add a new expansion test.
3578
87edb894
VS
35792012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 Replace single-linked with double-linked lists. It results in more
3582 compact and more efficient code.
3583
3584 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3585 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3586 (grub_list_remove): Moved from here ...
3587 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3588 (grub_prio_list_insert): Set prev.
3589 * include/grub/list.h (grub_list): Add prev. All users updated.
3590
48b391e9
VS
35912012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 Handle newer autotools. Add some missing quotes while on it.
3594
3595 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3596 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3597 (pkgdata_DATA): ... here.
3598 * Makefile.util.def (update-grub_lib): Removed.
3599 * conf/Makefile.common (pkglib_DATA): Removed.
3600 (pkglib_SCRIPTS): Likewise.
3601 (pkgdata_DATA): New variable.
3602 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3603 needed.
3604 Add missing quotes.
3605 Remove unused variable while on it.
3606 * tests/util/grub-shell.in: Likewise.
3607 * util/grub-install.in: Likewise.
3608 * util/grub-mkconfig.in: Likewise.
3609 * util/grub-mknetdir.in: Likewise.
3610 * util/grub-mkrescue.in: Likewise.
3611 * util/grub-mkstandalone.in: Likewise.
3612 * util/grub.d/00_header.in: Likewise.
3613 * util/grub.d/10_hurd.in: Likewise.
3614 * util/grub.d/10_illumos.in: Likewise.
3615 * util/grub.d/10_kfreebsd.in: Likewise.
3616 * util/grub.d/10_linux.in: Likewise.
3617 * util/grub.d/10_netbsd.in: Likewise.
3618 * util/grub.d/10_windows.in: Likewise.
3619 * util/grub.d/20_linux_xen.in: Likewise.
3620 * util/grub.d/30_os-prober.in: Likewise.
3621 * util/update-grub_lib.in: Removed.
3622
36232012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3624
3625 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3626 a workaround for intel problem.
3627
66832792
PRP
36282012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
36292012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
36302012-01-23 pfsmorigo
3631
3632 * util/grub-install.in: Support dd'in into PreP partition.
3633 * util/grub-probe.c (probe): Support discovering partition type.
3634 (main): Support -t msdos_parttype.
3635
7816a17e
VS
36362012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3639 infinite recursion using counter.
3640 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3641 init to skip it if the magic check fails.
3642 (dec_stream_header): Init s->crc32.
3643
8f9d3a8c
ZB
36442012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
36452012-01-22 Zachary Bedell <pendorbound@gmail.com>
36462012-01-22 Richard Laager <rlaager@wiktel.com>
3647
3648 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3649 All users updated.
3650 (find_bestub): Determine correct size.
3651 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3652 (scan_disk): Align the size down.
3653 Call check pool before find_bestub to have ashift.
3654
b055dd32
VS
36552012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3658 dprintf in no-malloc zone.
3659
d779e9bd
ML
36602012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3661
3662 * configure.ac: Add back in test for limits.h.
3663
b508af69
VS
36642012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 Support 4K-sector NTFS.
3667
3668 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3669 (grub_ntfs_data): Remove blocksize.
3670 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3671 Remove data argument. All users updated.
3672
dad9c8b5
VS
36732012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3676 being in .text to avoid dprel references.
3677 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3678 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3679 (grub_arch_highmemsize): Likewise.
3680 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3681 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3682 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3683
d43a777e
VS
36842012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3687
3688 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3689 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3690
34e4208f
VS
36912012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3694 GRUB_UTIL.
3695 (grub_set_datetime_cmos): Likewise.
3696
3ec0fc1c
VS
36972012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 Make XZ compression parameters dependent on target and not host CPU.
3700
3701 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3702 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3703
22489834
VS
37042012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3707 set but not used variable.
3708
8502fbca
VS
37092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3712 created when no uuid support is compiled into mkfs.reiser.
3713
76df2068
VS
37142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3717 (utf8_to_macroman): Do the opposite.
3718 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3719
64e3f8f6
VS
37202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * configure.ac: Refise build qemu_mips w/o unifont.
3723
9c271078
VS
37242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 Eliminate grub_min/grub_max prone to overflow usage.
3727
3728 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3729 (poll_nonroot_hub): Likewise.
3730 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3731 (grub_affs_label): Likewise.
3732 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3733 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3734 (grub_hfs_label): Likewise.
3735 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3736 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3737 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3738 (zap_leaf_array_get): Likewise.
3739 (dnode_get_path): Likewise.
3740 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3741 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3742 * grub-core/script/execute.c (grub_script_break): Likewise.
3743 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3744 grub_max.
3745 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3746 * include/grub/misc.h (grub_min): Removed.
3747 (grub_max): Likewise.
3748
80662dbc
VS
37492012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3750
3751 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3752 direct.inode = 0.
3753
e6da1467
VS
37542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3757
b1ac4cb1
VS
37582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3761
b4bf7c3b
VS
37622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3765 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3766
8ee1101a
VS
37672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3770 rather than a hack for grub_strncasemap.
3771
37722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 Support multiple initrds
3775 Note: part of this was accidently committed in r3739.
3776
3777 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3778 initrd.
3779 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3780 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3781 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3782 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3783 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3784
4d1e2bc9
VS
37852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3788 disks with unknown size.
3789 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3790
75b49ebe
VS
37912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 Remove defines pertaining to arbitrary limits not affecting GRUB
3794 anymore.
3795
3796 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3797 (EXT2_MAX_SYMLINKCNT): Likewise.
3798 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3799 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3800 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3801 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3802 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3803 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3804 (DN_MAX_OBJECT_SHIFT): Likewise.
3805 (DN_MAX_OFFSET_SHIFT): Likewise.
3806 (DN_MAX_OBJECT): Likewise.
3807 (DNODES_PER_LEVEL_SHIFT): Likewise.
3808 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3809 (SPA_MAXBLOCKSIZE): Likewise.
3810 (SPA_BLOCKSIZES): Likewise.
3811 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3812 (MZAP_MAX_BLKSZ): Likewise.
3813
74a1dce7
VS
38142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3817 handle NULL appropriately.
3818 Remove MIN.
3819
30c7d3ce
VS
38202012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 Fix efiemu.
3823
3824 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3825 cpu/types.h.
3826 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3827 * configure.ac: Fix efiemu check.
3828
3c76ea0c
VS
38292012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3832 grub_probe.
3833 Reported by: adamwill
3834
7e532280
SG
38352012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3836
3837 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3838
30492374
VS
38392012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 Fix handling of wide characters in gfxterm.
3842
3843 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3844 (clear_char): Likewise.
3845 (paint_char): Skip code == NULL chars.
3846 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3847
e70cb72f
VS
38482012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/normal/charset.c: Move comment to right place.
3851
5c827cf9
VS
38522012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3855 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3856 (grub_affs_mount): Revert the correct version checking.
3857
53603892
VS
38582012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * docs/grub.texi (Unicode): Mention several other unsupported features.
3861
ff094b9b
VS
38622011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3865 case statements as compile-time one.
3866 (direct_read): Prevent spurious warnings.
3867 (grub_squash_read_data): Likewise.
3868
c029da8a
VS
38692011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 Various squash4 fixes and LZO and XZ support.
3872
3873 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3874 Add xzembed source files.
3875 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3876 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3877 (grub_squash_inode): New subtype long_dir.
3878 (SQUASH_TYPE_LONG_DIR): New inode type.
3879 (COMPRESSION): New enum.
3880 (XZBUFSIZ): New const.
3881 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3882 (read_chunk): Use data->decompress.
3883 (zlib_decompress): New function.
3884 (lzo_decompress): Likewise.
3885 (xz_decompress): Likewise.
3886 (squash_mount): Set new data fields.
3887 (grub_squash_iterate_dir): Handle long dir.
3888 (squash_unmount): Free xzdec and xzbuf.
3889 (grub_squash_open): Check ino type.
3890 (direct_read): Stylistic fixes. Use data->decompress.
3891 (grub_squash_read_data): Likewise.
3892 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3893 (get_byte): Likewise.
3894 (grub_zlib_disk_read): Removed.
3895 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3896 (GRUB_POSIX_BOOL_DEFINED): New define.
3897 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3898 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3899 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3900 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3901
7a45a539
VS
39022011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 Don't override more informative errors.
3905
3906 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3907 * grub-core/font/font.c (open_section): Likewise.
3908 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3909 filename. Don't override errors.
3910 (grub_cmd_openbsd_ramdisk): Don't override errors.
3911 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3912 (grub_cmd_initrd): Likewise.
3913 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3914 (grub_cmd_initrd): Likewise.
3915 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3916 (grub_cmd_linux): Likewise.
3917 (grub_cmd_initrd): Likewise.
3918 (grub_cmd_payload): Likewise.
3919 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3920 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3921 (grub_cmd_module): Likewise.
3922 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3923 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3924 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3925 (grub_cmd_xnu_mkext): Likewise.
3926 (grub_cmd_xnu_ramdisk): Likewise.
3927 (grub_xnu_check_os_bundle_required): Likewise.
3928 (grub_xnu_load_kext_from_dir): Likewise.
3929 (grub_cmd_xnu_kextdir): Likewise.
3930 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3931
b2d004db
VS
39322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3935 as 1024 in block size field. Found on one of my test images.
3936 Small optimisation while on it.
3937
ec000eac
VS
39382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3941 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3942 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3943 performance fixes while on it.
3944 (grub_sfs_close): Fix memory leak while on it.
3945 (grub_sfs_label): Convert Latin1 to UTF-8.
3946
f50e1165
VS
39472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3950 space to avoid overflows.
3951 (grub_hfs_label): Convert from macroman to UTF-8.
3952
2ae254de
VS
39532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3956
0108f491
VS
39572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3960
f45f5f89
VS
39612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * unicode: Import Unicode 6.0 data.
3964
4d8c4765
VS
39652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3966
63fa8ef9
VS
3967 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3968 outside of range.
3969
39702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3973
3974 * include/grub/charset.h (grub_getend): New function.
3975 * grub-core/script/function.c (grub_script_function_find): Use
3976 grub_getend.
3977 * grub-core/normal/completion.c (add_completion): Likewise.
3978
f3cb4a4e
VS
39792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3982 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3983 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3984 (GRUB_UNICODE_TAG_END): Likewise.
3985 (GRUB_UNICODE_LAST_VALID): Likewise.
3986
5da8dbc5
VS
39872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3990 len and make it smaller. All users updated.
3991 * util/import_unicode.py: Put length and not end character.
3992 Check length.
3993
8569f13d
VS
39942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 Make better Unicode-compliant and unify some UTF-8 code pathes.
3997
3998 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3999 valid character.
4000 (grub_is_valid_utf8): Use grub_utf8_process.
4001 Check resulting code range.
4002 (grub_utf8_to_ucs4): Use grub_utf8_process.
4003 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4004 valid character.
4005
cc4fddf5
VS
40062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4009
bbc47747
VS
40102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * docs/grub.texi (Filesystems): Mention AFS.
4013
f63d6bf4
VS
40142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * docs/grub.texi (Filesystems): Clarify restrictions.
4017 (Regexp): Mention non-Unicode regexp behaviour.
4018 (Other): Mention non-Unicode matching behaviour.
4019
74bbf0db
VS
40202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4021
f63d6bf4 4022 Make HFS implementation use MacRoman.
74bbf0db
VS
4023
4024 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4025 (macroman): New const array.
4026 (macroman_to_utf8): New function.
4027 (utf8_to_macroman): Likewise.
4028 (grub_hfs_find_dir): Use utf8_to_macroman.
4029 (grub_hfs_dir): Use macroman_to_utf8.
4030 Set case_insensitive.
4031
4ea0316e
VS
40322011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4035
d3c13cbd
VS
40362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 Integrate hints into autogeneration scripts.
4039
4040 * docs/grub.texi (Filesystems): Add a hostdisk example.
4041 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4042 (grub-probe): Add ofpath.
4043 * gentpl.py: Remove group nosparc64.
4044 * grub-core/commands/search.c (cache_entry): New struct.
4045 (cache): New var.
4046 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4047 * grub-core/commands/search_wrap.c (options): Add platform-specific
4048 hint options.
4049 (grub_cmd_search): Handle platform-specific hints.
4050 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4051 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4052 (grub_util_biosdisk_data): Likewise.
4053 (grub_util_biosdisk_open): Set device_map.
4054 (read_device_map): Handle "" as indication of no map.
4055 Set device_map.
4056 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4057 (grub_util_biosdisk_get_compatibility_hint): New function.
4058 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4059 * include/grub/emu/hostdisk.h
4060 (grub_util_biosdisk_get_compatibility_hint): New proto.
4061 * util/grub-install.in: Don't call grub-mkdevicemap.
4062 Add platform-specific hint to load.cfg.
4063 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4064 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4065 hints. Set root preliminary to compatibility hint, not to OS name.
4066 * util/grub-probe.c (PRINT_*): Add hints.
4067 (print): Make static.
4068 (escape_of_path): New function.
4069 (guess_bios_drive): Likewise.
4070 (guess_efi_drive): Likewise.
4071 (guess_baremetal_drive): Likewise.
4072 (print_full_name): Likewise.
4073 (probe): Handle hints.
4074 (main): Likewise.
4075 * util/ieee1275/devicemap.c: Removed.
4076 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4077 updated.
4078 (grub_util_devname_to_ofpath): Return NULL on failure.
4079
4080 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4081 resource leak.
4082 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4083
4084 * po/POTFILES.in: Regenerated.
4085
4086 Allow purely long options
4087
4088 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4089 (SHORT_ARG_USAGE): Likewise.
4090 (grub_arg_show_help): Compare opt with help_options.
4091 (parse_option): Receive opt as argument. If makes big simplificatons.
4092 All users updated
4093
00ce2df3
VS
40942011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4097 Restructure to avoid warning.
4098
e77e325f
VS
40992011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * util/grub-install.in: Account for possible escaped comma in device
4102 name.
4103
165099ea
VS
41042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4107 channel.
4108
ce4a999d
VS
41092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4112 allocation and zero-setting.
4113 (grub_ieee1275_get_devname): Check that alias is complete.
4114
379586ad
VS
41152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4118 unaligned segments.
4119
9197b0ad
VS
41202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4123 prefix.
4124 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4125 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4126 Add ieee1275 prefix.
4127
edddb7f9
VS
41282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * docs/grub.texi (Filesystems): Update.
4131
a1a8b1b9
VS
41322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 Support odc, newc and bigendian cpio formats.
4135
4136 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4137 * grub-core/Makefile.core.def (newc): New module.
4138 (odc): Likewise.
4139 (cpio_be): Likewise.
4140 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4141 (MAGIC): Likewise.
4142 (MAGIC2): Likewise.
4143 (head) [MODE_ODC]: Adapt for the format.
4144 (head) [MODE_NEWC]: Likewise.
4145 (head) [!MODE_*]: Write fields of interest as arrays.
4146 (MAGIC_USTAR): Removed.
4147 (read_number) [MODE_NEWC]: Change to hex.
4148 (read_number) [!MODE_*]: Parse binary arrays.
4149 (grub_cpio_find_file): Factor out the code for better structure and
4150 always use read_number.
4151 (grub_cpio_mount): Use MAGIC and MAGIC2.
4152 (grub_cpio_dir): Exit on first hook non-0 return.
4153 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4154 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4155 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4156 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4157 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4158 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4159 * grub-core/fs/newc.c: New file.
4160 * grub-core/fs/odc.c: Likewise.
4161 * grub-core/fs/cpio_be.c: Likewise.
4162
58eba9ee
VS
41632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 Fix handling of tar numbers occupying the whole field.
4166
4167 * grub-core/fs/cpio.c (read_number): New function.
4168 (grub_cpio_find_file): Use read_number instead of strtoull.
4169
a54a0e12
VS
41702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4173 occupying the whole field size.
4174
a6120aca
LA
41752011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4176
4177 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4178
a93964ce
VS
41792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4182
3ea1ca46
SG
41832011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4184
4185 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4186 TARGET_IMG_LDFLAGS.
4187
b87f7ef2
VS
41882011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4191 (mountinfo_entry): Increase the field size to take escaping into
4192 account.
4193 (find_root_device_from_libzfs): Add one byte to size of strings for
4194 security.
4195
62092395
VS
41962011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4199 an assert.
4200 * util/grub-setup.c (setup): Likewise.
4201
1f0b1a77
VS
42022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4205 _LzmaDecodeA.
4206
8eba9997
VS
42072011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * docs/grub.texi (Internationalisation): New section.
4210
dd0c91e9
VS
42112011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * docs/grub.texi (Loopback booting): New section.
4214
42152011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4216
4217 * util/grub-mkstandalone.in: Fix minor typo errors.
4218
198e150a
VS
42192011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4222
4223 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4224 net/icmp.c and net/icmp6.c.
4225 (http): New module.
4226 (priority_queue): Likewise.
4227 * grub-core/io/bufio.c: Rewritten.
4228 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4229 TYPE_WITH_CONFIGFILE_OPTION.
4230 (legacy_commands): Add bootp and dhcp.
4231 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4232 (grub_legacy_parse): Likewise.
4233 * grub-core/lib/priority_queue.c: New file.
4234 * grub-core/net/arp.c: Add missing license header.
4235 (arp_find_entry): Removed.
4236 (arp_find_entry): Likewise.
4237 (grub_net_arp_resolve): Rename to ...
4238 (grub_net_arp_send_request): ...this.
4239 (grub_net_arp_receive): New card argument.
4240 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4241 Set router and DNS server.
4242 (grub_net_configure_by_dhcp_ack): Handle routing information.
4243 (grub_cmd_bootp): Set checksum.
4244 (grub_bootp_init): Remove net_dhcp.
4245 * grub-core/net/dns.c: New file.
4246 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4247 completion.
4248 (get_card_packet): Handle allocation.
4249 (grub_efinet_findcards): Set mtu.
4250 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4251 (get_card_packet): Handle allocation.
4252 (emucard): Set mtu.
4253 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4254 (GRUB_MOD_INIT): Set mtu.
4255 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4256 mtu.
4257 (get_card_packet): Handle allocation.
4258 (grub_ofnet_findcards): Set mtu.
4259 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4260 assert.
4261 (grub_net_recv_ethernet_packet): Handle IPv6.
4262 * grub-core/net/http.c: New file.
4263 * grub-core/net/icmp.c: Likewise.
4264 * grub-core/net/icmp6.c: Likewise.
4265 * grub-core/net/ip.c (ip6addr): New type.
4266 (ip6hdr): Likewise.
4267 (reassemble): Likewise.
4268 (cmp): New function.
4269 (reassembles): New variable.
4270 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4271 (id): New variable.
4272 (send_fragmented): New function.
4273 (grub_net_send_ip_packet): Rename to ...
4274 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4275 Handle non-UDP.
4276 (grub_net_recv_ip_packets): Rename to ...
4277 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4278 (free_rsm): New function.
4279 (free_old_fragments): Likewise.
4280 (grub_net_recv_ip4_packets): New function.
4281 (grub_net_send_ip6_packet): Likewise.
4282 (grub_net_send_ip_packet): Likewise.
4283 (grub_net_recv_ip6_packets): Likewise.
4284 (grub_net_recv_ip_packets): Likewise.
4285 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4286 (LINK_LAYER_CACHE_SIZE): New const.
4287 (link_layer_find_entry): New function.
4288 (grub_net_link_layer_add_address): Likewise.
4289 (grub_net_link_layer_resolve_check): Likewise.
4290 (grub_net_link_layer_resolve): Likewise.
4291 (grub_net_ipv6_get_slaac): Likewise.
4292 (grub_net_ipv6_get_link_local): Likewise.
4293 (grub_cmd_ipv6_autoconf): Likewise.
4294 (parse_ip): Handle one number representation.
4295 (parse_ip6): New functoion.
4296 (match_net): Handle IPv6.
4297 (grub_net_resolve_address): Handle IPv6 and DNS.
4298 (grub_net_resolve_net_address): Handle IPv6.
4299 (route_cmp): New function.
4300 (grub_net_route_address): Find best route.
4301 (grub_net_addr_to_str): Handle IPv6.
4302 (grub_net_addr_cmp): New function.
4303 (grub_net_add_addr): Register local route.
4304 (print_net_address): Handle net address.
4305 (grub_net_poll_cards): Retransmit TCP.
4306 (grub_net_poll_cards_idle_real): Likewise.
4307 (have_ahead): New function.
4308 (grub_net_seek_real): Use underlying seek.
4309 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4310 * grub-core/net/tcp.c: New file.
4311 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4312 (cmp): New function.
4313 (ack): Likewise.
4314 (tftp_receive): Handle unordered input.
4315 (destroy_pq): New function.
4316 (tftp_close): Close pq.
4317 * grub-core/net/udp.c: Put missing license header.
4318 (grub_net_udp_socket): New function.
4319 (udp_socket_register): Likewise.
4320 (grub_net_udp_close): Likewise.
4321 (grub_net_recv_udp_packet): Check checksum.
4322 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4323 * include/grub/misc.h (grub_memchr): New function.
4324 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4325 (grub_net_card_driver): Return buf in recv.
4326 (grub_net_slaac_mac_list): New struct.
4327 (grub_network_level_protocol_id): Add ipv6.
4328 (grub_net_network_level_addr): Likewise.
4329 (grub_net_network_level_net_addr): Likewise.
4330 (grub_net_app_protocol): Add seek.
4331 (grub_net_socket): Removed.
4332 (grub_net_sockets): Likewise.
4333 (grub_net_socket_register): Likewise.
4334 (grub_net_socket_unregister): Likewise.
4335 (FOR_NET_SOCKETS): Likewise.
4336 (grub_net_add_addr): Add const.
4337 (GRUB_NET_BOOTP_*): New enum.
4338 (grub_net_addr_cmp): New proto.
4339 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4340 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4341 (grub_net_hwaddr_to_str): NEw proto.
4342 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4343 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4344 (grub_dns_init): New proto.
4345 (grub_dns_fini): Likewise.
4346 (grub_net_tcp_retransmit): Likewise.
4347 (grub_net_link_layer_add_address): Likewise.
4348 (grub_net_link_layer_resolve_check): Likewise.
4349 (grub_net_link_layer_resolve): Likewise.
4350 (grub_net_dns_lookup): Likewise.
4351 (grub_net_add_dns_server): Likewise.
4352 (grub_net_remove_dns_server): Likewise.
4353 (GRUB_NET_TRIES): New const.
4354 (GRUB_NET_INTERVAL): Likewise.
4355 * include/grub/net/arp.h: Mostly rewritten.
4356 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4357 * include/grub/net/ip.h: Mostly rewritten.
4358 * include/grub/net/netbuff.h: Indent.
4359 * include/grub/net/tcp.h: New file.
4360 * include/grub/net/udp.h: Mostly rewritten.
4361 * include/grub/priority_queue.h: New file.
4362 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4363 (grub_swap_bytes64_compile_time): Likewise.
4364 (grub_cpu_to_be16_compile_time): Likewise.
4365 (grub_cpu_to_be32_compile_time): Likewise.
4366 (grub_cpu_to_be64_compile_time): Likewise.
4367 (grub_be_to_cpu64_compile_time): Likewise.
4368
215c1800
VS
43692011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4372 UINT_TO_PTR with cast.
4373
c17e546c
VS
43742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4377 don't use them.
4378
ff6b18b6
VS
43792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4382 already there.
4383
70ffcc93
VS
43842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4387 confusing ipxe.
4388
e5f4d260
VS
43892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4392 Add missing const attribute.
4393 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4394 Likewise.
4395 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4396 Likewise.
4397
8e54b4b7
VS
43982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4401 misaligned access.
4402 (serpent_setkey): Likewise.
4403 (serpent_encrypt_internal): Likewise.
4404 (serpent_decrypt_internal): Likewise.
4405 (serpent_encrypt): Don't put an alignment-increasing cast.
4406 (serpent_decrypt): Likewise.
4407 (serpent_test): Likewise.
4408
813c0a2b
VS
44092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4412
f2b60fbd
VS
44132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4416
4417 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4418 grub_addr_t casts.
4419 (PTR_TO_UINT64): Likewise.
4420 (PTR_TO_UINT32): Likewise.
4421
5ef5c511
VS
44222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4425 because of stack.
4426 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4427 limit.
4428
c476e6df
VS
44292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4432 text_width > available width a bit more gracefully.
4433
384ad7cc
VS
44342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4437 current address calculation.
4438
96f8caf8
VS
44392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4442 stack.
4443 (encode_block): Likewise.
4444
276b7a8b
VS
44452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4448 certainety.
4449
e3fd394a
VS
44502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4453 non-RS part to avoid RS messing with GDT.
4454 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4455 Increase to suit in realmode routines.
4456
44572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/kern/i386/realmode.S: Increase alignment.
4460 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4461
ee9c2e7a
VS
44622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4465 be deterministic.
4466 (syndroms): Compute 0 syndrom.
4467 (rs_recover): Use 0 syndrom.
4468
7a7f7cc9
VS
44692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4472
a14b16d1
VS
44732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4476 brackets.
4477
9f59e9fc
VS
44782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4479
ca1b552c
VS
4480 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4481 account.
4482 (get_top_pad): Likewise.
4483 (get_right_pad): Likewise.
4484 (get_bottom_pad): Likewise.
4485
44862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4489
e739d698
VS
44902011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4493 attribute as the structure isn't guaranteed to be properly aligned.
4494 (grub_efi_pci_device_path): Likewise.
4495 (grub_efi_pccard_device_path): Likewise.
4496 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4497 specify the size of `memory_type'.
4498 (grub_efi_vendor_device_path): Likewise.
4499 (grub_efi_controller_device_path): Likewise.
4500 (grub_efi_acpi_device_path): Likewise.
4501 (grub_efi_expanded_acpi_device_path): Likewise.
4502 (grub_efi_atapi_device_path): Likewise.
4503 (grub_efi_scsi_device_path): Likewise.
4504 (grub_efi_fibre_channel_device_path): Likewise.
4505 (grub_efi_1394_device_path): Likewise.
4506 (grub_efi_usb_device_path): Likewise.
4507 (grub_efi_usb_class_device_path): Likewise.
4508 (grub_efi_i2o_device_path): Likewise.
4509 (grub_efi_mac_address_device_path): Likewise.
4510 (grub_efi_ipv4_device_path): Likewise.
4511 (grub_efi_ipv6_device_path): Likewise.
4512 (grub_efi_infiniband_device_path): Likewise.
4513 (grub_efi_uart_device_path): Likewise.
4514 (grub_efi_vendor_messaging_device_path): Likewise.
4515 (grub_efi_hard_drive_device_path): Likewise.
4516 (grub_efi_cdrom_device_path): Likewise.
4517 (grub_efi_vendor_media_device_path): Likewise.
4518 (grub_efi_file_path_device_path): Likewise.
4519 (grub_efi_protocol_device_path): Likewise.
4520 (grub_efi_piwg_device_path): Likewise.
4521 (grub_efi_bios_device_path): Likewise.
4522
cb8f88ea
VS
45232011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4526 (grub_ucs4_to_utf8_alloc): Likewise.
4527 (grub_ucs4_to_utf8): Likewise.
4528 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4529 (grub_ucs4_to_utf8_alloc): Likewise.
4530
309e5352
VS
45312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 AFFS never uses unicode.
4534
4535 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4536 (grub_latin1_to_utf8): New inline function.
4537 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4538
e7987e1b
VS
45392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4542 overflow.
4543
efc2616e
VS
45442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4547 (grub_squash_dirent_header): Likewise.
4548 (read_chunk): Don't double swap.
4549 (grub_squash_iterate_dir): Fix swap sizes.
4550
3c349f5a
VS
45512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4554
b453412d
VS
45552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4558 (grub_hfs_iterate_dir): Likewise.
4559
12e9d4d1
VS
45602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 Fix video on platforms where unaligned access is forbidden.
4563 Make several optimisations while on it.
4564
4565 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4566 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4567 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4568 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4569 Disable.
4570 (grub_video_fbblit_replace_16bit_1bit):
4571 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4572 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4573 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4574 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4575 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4576 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4577 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4578 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4579 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4580 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4581 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4582 (grub_video_fbblit_replace_index_RGB888): Likewise.
4583 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4584 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4585 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4586 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4587 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4588 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4589 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4590 Disable.
4591 (grub_video_fbblit_blend_XXX565_1bit):
4592 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4593 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4594 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4595 void *.
4596 * grub-core/video/fb/video_fb.c (common_blitter)
4597 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4598 (grub_video_fb_create_render_target_from_pointer)
4599 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4600 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4601 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4602 definition.
4603 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4604
ace96609
VS
46052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4608 HH22 and HM10 relocations.
4609
fd261d73
VS
46102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4613
e59b7857
VS
46142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4617 allocation succeeded.
4618
9b4baaa4
VS
46192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4622 argument a u8 pointer. All users updated.
4623 Handle unaligned buffers.
4624
dc713193
VS
46252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4628 add_part to workaround compiler bug.
4629
30dd48c2
VS
46302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4633
0c6087a8
VS
46342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4637 Reserve alignment invariants.
4638 (grub_multiboot_load): Likewise.
4639 (retrieve_video_parameters): Likewise.
4640 (grub_multiboot_make_mbi): Likewise.
4641
c2e77777
VS
46422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4645 incorrect pointer.
4646
b70b6d11
VS
46472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4650 (grub_pata_pio_write): Likewise.
4651
02a2bf83
VS
46522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 Add noreturn attributes and remove unreachable code.
4655
4656 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4657 code.
4658 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4659 code. Mark as noreturn.
4660 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4661 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4662 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4663 unreachable code.
4664 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4665 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4666 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4667 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4668 * include/grub/kernel.h (grub_main): Mark as noreturn.
4669 * include/grub/reader.h (grub_rescue_run): Likewise.
4670
2019d09e
VS
46712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4674 redundant declaration.
4675
d1c501ee
VS
46762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4679 redundant declaration.
4680 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4681
61664420
VS
46822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4685 to ensure alignment.
4686 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4687 alignment. Ensure tmp alignment.
4688 (grub_cmd_hdparm): Ensure buf alignment.
4689 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4690 to ensure alignment.
4691 (grub_ata_dumpinfo): Ensure text alignment.
4692 (grub_atapi_identify): Preserve alignment invariant.
4693 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4694
0d51ee20
VS
46952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4698 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4699 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4700 * include/grub/misc.h (grub_reboot)
4701 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4702 (grub_halt) [__mips__]: Likewise.
4703
753ef8c1
VS
47042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4707 Remove redundant declaration.
4708 (grub_mmap_get_post64): Likewise.
4709 (grub_mmap_get_upper): Likewise.
4710 (grub_mmap_get_lower): Likewise.
4711
85c85365
VS
47122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4715 uint32_t * to ensure alignment.
4716 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4717
a23f2cc4
VS
47182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4719
93018f64
VS
4720 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4721 uint16_t * to ensure alignment.
4722 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4723 alignment.
4724
47252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4728 to ensure alignment.
4729 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4730
58acccd6
VS
47312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4734 Handle unaligned pointers.
4735 (u32at): Likewise.
4736 (u64at): Likewise.
4737 (fixup): Use byte access instead of v16at.
4738 (find_attr): Fix imporper usage of v32at.
4739 (read_data): Likewise.
4740 (list_file): Handle byte-swapping and unaligned strings.
4741 (grub_ntfs_label): Likewise.
4742
9b05cad7
VS
47432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4746 as it's not necessarily aligned.
4747
b3950b84
VS
47482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4751 redundant declaration.
4752 (grub_serial_init): Likewise.
4753 (grub_terminfo_init): Likewise.
4754
fcd232b7
VS
47552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4758 function.
4759 (ZAP_HASH_IDX): Likewise.
4760 (ZAP_LEAF_HASH_SHIFT): Likewise.
4761 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4762 (LEAF_HASH): Likewise.
4763 (ZAP_LEAF_NUMCHUNKS): Likewise.
4764 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4765 alignment invariants. Return pointer. All users updated.
4766 (ZAP_LEAF_ENTRY): Make into inline function.
4767 (NBBY): Removed.
4768 (xor): LIkewise.
4769 (xor_out): Use grub_crypto_xor.
4770 (dnode_get_path): Use grub_get_unaligned.
4771 (nvlist_find_value): Likewise.
4772 (grub_zfs_nvlist_lookup_uint64): Likewise.
4773 (grub_zfs_nvlist_lookup_string): Likewise.
4774 (get_nvlist_size): Likewise.
4775 (grub_zfs_open): Likewise.
4776 (fill_fs_info): Likewise.
4777 (grub_zfs_dir): Likewise.
4778 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4779 alignment invariants.
4780 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4781 necessarily aligned.
4782
f138623a
VS
47832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4786
564840dc
VS
47872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4790 arithmetic to conserve alignment invariants.
4791
9b40df20
VS
47922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4795 redundant declaration.
4796 (grub_efiemu_mm_obtain_request): Likewise.
4797 (grub_efiemu_prepare): Likewise.
4798
d1c930f9
VS
47992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4802 to match types.
4803
4c5f3056
VS
48042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4807 case of aunaligned recptr.
4808 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4809 alignment.
4810 (grub_hfsplus_btree_search): Handle unaligned index.
4811
728cba91
VS
48122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4815 to get freetag and skip.
4816
eb561f31
VS
48172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4820 array.
4821 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4822 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4823
20993fbb
VS
48242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4827 name for checksum and fix allocation algorithm.
4828
1f313b94
VS
48292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * include/grub/types.h (grub_properly_aligned_t): New type.
4832 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4833 (grub_get_unaligned16): Add explicit casts.
4834 (grub_get_unaligned32): Likewise.
4835 (grub_get_unaligned64): Likewise.
4836 (grub_set_unaligned16): New function.
4837 (grub_set_unaligned32): Likewise.
4838
47ae27ec
VS
48392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4842
78c2cd1c
VS
48432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4846 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4847 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4848
53072f9b
VS
48492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4852 conditionals.
4853
055dc239
VS
48542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4857 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4858
496bd074
VS
48592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 Unify and improve RAID and crypto xor.
4862
4863 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4864 changed to grub_crypto_xor
4865 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4866 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4867 Use bigger types when possible.
4868
ef6e4335
VS
48692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/disk/raid.c (scan_devices): Fix condition.
4872
5d048bf2
VS
48732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4876 Make name a const ptr.
4877
ee533335
VS
48782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4881 first argument a const pointer.
4882 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4883 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4884 proto.
4885 (grub_children_iterate): Likewise.
4886 (grub_machine_mmap_iterate): Remove redundant declaration.
4887
cc8f3668
VS
48882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4891 (grub_cmd_acpi) [!x86]: Disable EBDA.
4892
c5fc563a
VS
48932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 Enable UTF8 in gnulib regexp.
4896
4897 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4898 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4899 (isupper): Use grub_isupper.
4900 (isascii): New inline function.
4901 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4902 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4903 * grub-core/normal/charset.c (grub_utf8_process): New function.
4904 (grub_utf8_to_utf16): Use grub_utf8_process.
4905 (grub_encode_utf8_character): New function.
4906 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4907 * include/grub/charset.h (grub_utf8_process): New declaration.
4908 (grub_encode_utf8_character): Likewise.
4909 * include/grub/misc.h (grub_islower): New inline function.
4910 (grub_isupper): Likewise.
4911 (grub_strchrsub): Moved down to fix the definitions.
4912
0af2346f
VS
49132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4916 specification.
4917
74dbd244
VS
49182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * include/grub/loader.h (grub_loader_register_preboot_hook):
4921 Use struct preboot * and not void * for handle. All users updated.
4922 (grub_loader_unregister_preboot_hook): Likewise.
4923
1bc8f60d
VS
49242011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4927 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4928 UTF-16-BE. All users updated.
4929 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4930 (grub_hfsplus_iterate_dir): Likewise.
4931 (grub_hfsplus_label): Likewise.
4932
48d6e456
VS
49332011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4936
bf3a3857
VS
49372011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 Add missing const qualifiers.
4940
4941 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4942 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4943 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4944 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4945 (grub_lvm_check_flag): Likewise.
4946 * grub-core/efiemu/i386/coredetect.c
4947 (grub_efiemu_get_default_core_name): Likewise
4948 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4949 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4950 * grub-core/fs/ntfs.c (fixup): Likewise.
4951 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4952 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4953 (fzap_lookup): Likewise.
4954 (zap_lookup): Likewise.
4955 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4956 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4957 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4958 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4959 (grub_freebsd_add_meta_module): Likewise.
4960 (grub_cmd_freebsd_module): Likewise.
4961 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4962 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4963 (grub_xnu_writetree_get_size): Likewise.
4964 (grub_xnu_writetree_toheap_real): Likewise.
4965 (grub_xnu_find_key): Likewise.
4966 (grub_xnu_create_key): Likewise.
4967 (grub_xnu_create_value): Likewise.
4968 (grub_xnu_register_memory): Likewise.
4969 (grub_xnu_check_os_bundle_required): Likewise.
4970 (grub_xnu_scan_dir_for_kexts): Likewise.
4971 (grub_xnu_load_kext_from_dir): Likewise.
4972 * grub-core/normal/color.c (color_list): Likewise.
4973 * grub-core/normal/completion.c (current_word): Likewise.
4974 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4975 * grub-core/term/serial.c (grub_serial_find): Likewise.
4976 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4977 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4978 Likewise.
4979 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4980 (grub_freebsd_add_meta_module): Likewise.
4981 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4982 * include/grub/net.h (grub_net_card_driver): Likewise.
4983 (grub_net_card): Likewise.
4984 (grub_net_app_protocol): Likewise.
4985 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4986 * include/grub/serial.h (grub_serial_find): Likewise.
4987 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4988 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4989 (grub_xnu_create_value): Likewise.
4990 (grub_xnu_find_key): Likewise.
4991 (grub_xnu_scan_dir_for_kexts): Likewise.
4992 (grub_xnu_load_kext_from_dir): Likewise.
4993
4994 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4995 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4996 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4997 Moved from here ...
4998 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4999
112b4837
CW
50002011-11-28 Colin Watson <cjwatson@ubuntu.com>
5001
5002 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5003
49e891ac
VS
50042011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5007 (read_device): Fix size calculation.
5008
fd258e5c
RM
50092011-11-25 Robert Millan <rmh@gnu.org>
5010
5011 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5012 (find_root_device_from_libzfs): Add zpool output parser to be used
5013 as fallback when libzfs isn't available.
5014
78845dc2
SG
50152011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5016
5017 * po/Makefile.in.in: Add missing escape-continuation.
5018
adac5211
VS
50192011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5022
10b64f1c
VS
50232011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5026
bb416954
VS
50272011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5030
bdfe9eeb
VS
50312011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5034
581ffa8a
VS
50352011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/lib/adler32.c: Add missing license specification.
5038 * grub-core/lib/crc64.c: Likewise.
5039 * grub-core/loader/i386/pc/plan9.c: Likewise.
5040 * grub-core/partmap/plan.c: Likewise.
5041
2536cf64
LK
50422011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5043
5044 Add facility to debug GRUB with gdb under qemu.
5045
5046 * grub-core/gdb_grub.in: New file.
5047 * grub-core/gmodule.pl.in: Likewise.
5048 * grub-core/Makefile.core.def (gmodule.pl): New script.
5049 (gdb_grub): Likewise.
5050
bc108a4a
VS
50512011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * util/grub-mount.c (argp_parser): Accept relative pathes.
5054 * util/grub-fstest.c (argp_parser): Likewise.
5055
111c1778
VS
50562011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 Plan9 support.
5059
5060 * Makefile.util.def (libgrubmods): Add
5061 grub-core/partmap/plan.c.
5062 * docs/grub.texi: Notice Plan9 support.
5063 * grub-core/Makefile.core.def (plan9): New module.
5064 (part_plan): Likewise.
5065 * grub-core/loader/i386/pc/plan9.c: New file.
5066 * grub-core/partmap/plan.c: Likewise.
5067 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5068 define.
5069 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5070 * include/grub/mm.h (grub_extend_alloc): New inline function.
5071
c30be3b6
VS
50722011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 Make Reed-Solomon faster by using power of generator representation of
5075 GF(256)*.
5076
5077 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5078 (gf_double_t): Likewise.
5079 (gf_invert): Removed.
5080 (gf_powx): New array.
5081 (gf_powx_inv): Likewise.
5082 (scratch): Move higher.
5083 (gf_reduce): Removed.
5084 (gf_mul): Use powx.
5085 (gf_invert): Likewise.
5086 (init_inverts): Replaced with ...
5087 (init_powx): ...this. All users updated.
5088 (pol_evaluate): Replace multiplications with additions.
5089 (rs_encode): Likewise.
5090 (gauss_eliminate): Call gf_invert.
5091 (grub_reed_solomon_add_redundancy): Call init_powx.
5092 (grub_reed_solomon_recover): Call init_powx unconditionally.
5093
fa5aeffc
VS
50942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5097
a346b81c
VS
50982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5101 disk->partiton for safety.
5102
d89ee414
VS
51032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5106 Fix a memory leak.
5107 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5108
91ee7b6d
VS
51092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5112
91e5a33d
VS
51132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5116
9edd7be2
VS
51172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 Fix spaces handling in proc/self/mountinfo.
5120
5121 * util/getroot.c (unescape): New function.
5122 (grub_find_root_device_from_mountinfo): Use unescape.
5123
ba102053
VS
51242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 Support ZFS embedding.
5127
5128 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5129 (grub_zfs_fs): Register grub_zfs_embed.
5130
aa94b870
VS
51312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Fix MIPS compilation.
5134
5135 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5136 * include/grub/offsets.h: Rename decompressor fields from
5137 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5138 * util/grub-mkimage.c (image_targets): Use new names.
5139
5fbdac14
VS
51402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 Defer multiboot device parsing until we're in compressed part.
5143
5144 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5145 bsd_part. setdevice has fallen into disuse.
5146 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5147 (bsd_part): Likewise.
5148 (boot_dev): New variable.
5149 (multiboot_trampoline): Don't parse multiboot device.
5150 Pass multiboot device in %edx.
5151 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5152 grub_boot_device.
5153 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5154 Likewise.
5155 * grub-core/kern/i386/pc/startup.S: Save edx.
5156 (grub_boot_drive): Removed.
5157 (grub_install_dos_part): Likewise.
5158 (grub_install_bsd_part): Likewise.
5159 (grub_boot_device): New variable.
5160 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5161 (grub_install_bsd_part): Likewise.
5162 (grub_boot_drive): Likewise.
5163 (grub_boot_device): New variable.
5164 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5165 Removed.
5166 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5167 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5168 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5169 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5170 * util/grub-install.in: Remove redundant condition.
5171
691cbb58
VS
51722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 Fix bug introduced by previous commit.
5175
5176 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5177
60240b8b
VS
51782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 Use decompressors framework on i386-pc. It increases core size
5181 by 46 bytes but improves compatibility and maintainability.
5182
5183 * grub-core/Makefile.core.def (lzma_decompress): New image.
5184 (kernel): Add i386_pc_ldflags.
5185 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5186 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5187 to real_to_prot, prot_to_real and device info.
5188 * include/grub/offsets.h: Renamed decompressor offsets.
5189 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5190 (image_target_desc): Remove raw_size and rename decompressor fields.
5191 (compress_kernel): Handle lzma.
5192 (generate_image): Handle decompressors on i386-pc.
5193
e9d3421c
VS
51942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * configure.ac: Add -fno-asynchronous-unwind-tables.
5197
2b23074a
VS
51982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Move assembly code to C by using intwrap. It increases core size
5201 by 88 bytes but improves compatibility and maintainability.
5202
5203 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5204 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5205 ... here. Translated to C.
5206 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5207 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5208 ... here. Translated to C.
5209 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5210 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5211 ... here. Translated to C.
5212 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5213 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5214 ... here. Translated to C.
5215 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5216 * grub-core/term/i386/pc/console.c (grub_console_cls):
5217 ... here. Translated to C.
5218 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5219 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5220 ... here. Translated to C.
5221 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5222 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5223 Translated to C.
5224 * grub-core/term/i386/pc/console.c (int10_9): New function.
5225 (grub_console_putchar): Likewise.
5226 * include/grub/i386/pc/console.h: Removed the not anymore shared
5227 functions.
5228
678f4b67
VS
52292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 Move grub_chainloader_real_boot out of the kernel.
5232
5233 * grub-core/Makefile.am: Remove machine/loader.h.
5234 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5235 Removed.
5236 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5237 variable.
5238 (grub_relocator16_keep_a20_enabled): Likewise.
5239 (grub_relocator16_boot): Fill new variables.
5240 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5241 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5242 relocator.
5243 (grub_chainloader_unload): Likewise.
5244 (grub_chainloader_cmd): Likewise.
5245 * include/grub/i386/pc/loader.h: Removed.
5246 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5247 and esi. All initialisers updated.
5248
4626edf6
VS
52492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
52502011-11-12 Colin Watson <cjwatson@ubuntu.com>
5251
5252 * Makefile.util.def (grub-mount): New util.
5253 * .bzrignore: Add grub-mount.
5254 * configure.ac: Check for fuse and enable grub-mount if available.
5255 * docs/man/grub-mount.h2m: New file.
5256 * util/grub-mount.c: Likewise.
5257
10f0117b
VS
52582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/commands/efi/fixvideo.c: Gettextize.
5261 * grub-core/commands/hashsum.c: Likewise.
5262 * grub-core/commands/i386/cmostest.c: Likewise.
5263 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5264 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5265 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5266 * grub-core/commands/lsmmap.c: Likewise.
5267 * grub-core/commands/menuentry.c: Likewise.
5268 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5269 * grub-core/commands/setpci.c: Likewise.
5270 * grub-core/loader/i386/bsd.c: Likewise.
5271 * grub-core/loader/i386/linux.c: Likewise.
5272 * util/getroot.c: Likewise.
5273 * util/grub-editenv.c: Likewise.
5274 * util/grub-fstest.c: Likewise.
5275 * util/grub-mkfont.c: Likewise.
5276 * util/grub-mkimage.c: Likewise.
5277 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5278 * util/grub-pe2elf.c: Likewise.
5279 * util/grub-probe.c: Likewise.
5280 * util/grub-setup.c: Likewise.
5281 * util/ieee1275/ofpath.c: Likewise.
5282 * util/misc.c: Likewise.
5283 * util/raid.c: Likewise.
5284
566f779b
RM
52852011-11-11 Robert Millan <rmh@gnu.org>
5286
5287 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5288 __attribute__((unused)) from `os_dev', which *is* being used.
5289
b50787de
VS
52902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5293 forgotten define.
5294 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5295 GRUB_IA64_DL_GOT_ALIGN.
5296 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5297 GRUB_IA64_DL_TRAMP_ALIGN.
5298
119d11c8
VS
52992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 Replace grub_fatal with normal errors in i386 linux loader.
5302
5303 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5304 (allocate_pages): Check find_efi_mmap_size return value.
5305 (grub_e820_add_region): Return error.
5306 (grub_linux_boot): Check mmap return value.
5307
6e0632e2
VS
53082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/commands/acpihalt.c: Gettextized.
5311 * grub-core/commands/cacheinfo.c: Likewise.
5312 * grub-core/commands/cmp.c: Likewise.
5313 * grub-core/commands/efi/loadbios.c: Likewise.
5314 * grub-core/commands/gptsync.c: Likewise.
5315 * grub-core/commands/ieee1275/suspend.c: Likewise.
5316 * grub-core/commands/legacycfg.c: Likewise.
5317 * grub-core/commands/memrw.c: Likewise.
5318 * grub-core/commands/minicmd.c: Likewise.
5319 * grub-core/commands/parttool.c: Likewise.
5320 * grub-core/commands/time.c: Likewise.
5321 * grub-core/commands/videoinfo.c: Likewise.
5322 * grub-core/disk/geli.c: Likewise.
5323 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5324 * grub-core/disk/luks.c: Likewise.
5325 * grub-core/disk/lvm.c: Likewise.
5326 * grub-core/font/font_cmd.c: Likewise.
5327 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5328 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5329 * grub-core/gfxmenu/view.c: Likewise.
5330 * grub-core/kern/emu/hostdisk.c: Likewise.
5331 * grub-core/kern/emu/main.c: Likewise.
5332 * grub-core/kern/emu/misc.c: Likewise.
5333 * grub-core/kern/emu/mm.c: Likewise.
5334 * grub-core/kern/mips/arc/init.c: Likewise.
5335 * grub-core/kern/mips/loongson/init.c: Likewise.
5336 * grub-core/kern/partition.c: Likewise.
5337 * grub-core/lib/i386/halt.c: Likewise.
5338 * grub-core/lib/mips/arc/reboot.c: Likewise.
5339 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5340 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5341 * grub-core/loader/i386/xnu.c: Likewise.
5342 * grub-core/loader/multiboot.c: Likewise.
5343 * grub-core/net/bootp.c: Likewise.
5344 * grub-core/net/net.c: Likewise.
5345 * grub-core/normal/term.c: Likewise.
5346 * grub-core/partmap/bsdlabel.c: Likewise.
5347 * grub-core/parttool/msdospart.c: Likewise.
5348 * grub-core/term/gfxterm.c: Likewise.
5349 * grub-core/term/terminfo.c: Likewise.
5350 * grub-core/video/i386/pc/vbe.c: Likewise.
5351 * util/grub-menulst2cfg.c: Likewise.
5352 * util/grub-mkdevicemap.c: Likewise.
5353 * util/grub-mklayout.c: Likewise.
5354 * util/grub-mkrelpath.c: Likewise.
5355 * util/grub-script-check.c: Likewise.
5356 * util/ieee1275/grub-ofpathname.c: Likewise.
5357 * util/resolve.c: Likewise.
5358
073aa7a9
VS
53592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 Support %1$d syntax.
5362
5363 * tests/printf_unit_test.c: New file.
5364 * Makefile.util.def (printf_test): New test.
5365 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5366
c76b5417
VS
53672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5370 fix.
5371
df067ad1
VS
53722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5375 dprintf.
5376 * grub-core/font/font.c (grub_font_load): Likewise.
5377
5b289bc5
VS
53782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * util/grub-macho2img.c: Add comment concerning gettext.
5381 * grub-core/lib/legacy_parse.c: Likewise.
5382
c1860f87
VS
53832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5386 (grub_xvasprintf): Likewise.
5387
d35d0d37
VS
53882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 Add const keyword to grub_env_get and gettextize week days.
5391
5392 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5393 (grub_read_hook_datetime): Return const char *.
5394 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5395 updated.
5396 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5397 Mark for gettext.
5398 (grub_get_weekday_name): Return const char *. Call gettext.
5399 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5400 char * and len as the argument. All users updated.
5401 (grub_script_argv_split_append): Receive const char *.
5402 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5403 * include/grub/env.h (grub_env_get): Likewise.
5404 (grub_env_read_hook_t): Return const char *.
5405 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5406 (grub_script_argv_split_append): Likewise.
5407
9aed8a71
VS
54082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5411
067fdf00
VS
54122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5415 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5416
a8bd9d39
VS
54172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5420 Fix prototype.
5421
f7ce5baf
VS
54222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 Fix mips compilation.
5425
5426 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5427 normal decoder.
5428 (hashes): Use in embed decoder as well (for sizes).
5429 (dec_stream_header): Fix embed decompressor logic.
5430 (dec_stream_footer): Likewise.
5431
9bb182f3
VS
54322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5435 an error and not a fatal on unrecognised relocation types.
5436
63a9e6f6
VS
54372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5440 Issue error rather than printf on unknown arguments.
5441
4c458569
VS
54422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5445 Make buf a const.
5446
e2d22baf
VS
54472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5450 Fix module name.
5451
53dc8590
VS
54522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5455 leftover debug printf.
5456
6c189294
VS
54572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5460
f7688369
VS
54612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5464 A stylistic fix.
5465
11a775a3
VS
54662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5469
33f784e8
SL
54702011-11-10 Shea Levy <slevy@tieronedesign.com>
5471
5472 Allow all modules to perform serial IO
5473
5474 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5475 * include/grub/serial.h (grub_serial_port_configure): New inline
5476 function.
5477 (grub_serial_port_fetch): Likewise.
5478 (grub_serial_port_put): Likewise.
5479 (grub_serial_port_fini): Likewise.
5480 (grub_serial_find): New proto.
5481
f6276525
VS
54822011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Put symlink at the end of the node and fix a potential
5485 memory corruption.
5486
5487 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5488 Make symlink into an array.
5489 (set_rockridge): Set have_symlink and alloc_dirents.
5490 (grub_iso9660_read_symlink): Use new layout.
5491 (grub_iso9660_iterate_dir): Fix memory corruption.
5492 Use new layout.
5493 (grub_iso9660_dir): Set have_symlink.
5494 (grub_iso9660_open): Likewise.
5495
c3591189
VS
54962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 Remove local keyword.
5499
5500 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5501 (version_test_gt): Likewise.
5502 (version_find_latest): Likewise.
5503 (gettext_printf): Likewise.
5504 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5505
cb544caa
VS
55062011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5509
45bd824d
VS
55102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Fix ZFS memory and resource leaks.
5513
5514 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5515 All users updated.
5516 Free type on exit.
5517 (fill_vdev_info): New parameter inserted. All users updated.
5518 (check_pool_label): Likewise.
5519 (scan_disk): Likewise.
5520 (scan_devices): Close non-inserted disks.
5521 (fzap_iterate): Free l.
5522 (unmount_device): Free children descripto memory.
5523
ad9a2f44
VS
55242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5527 argument (access out of bounds).
5528
6b68db81
VS
55292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5532 >= 6 drives.
5533
28840fda
VS
55342011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5537 Fix declaration.
5538
8a5a3a5b
VS
55392011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 Fix several memory leaks.
5542
5543 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5544 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5545 (grub_cpio_dir): Likewise.
5546 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5547 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5548 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5549 (grub_romfs_label): Likewise.
5550 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5551 (squash_unmount): New function.
5552 (grub_squash_dir): Fix memory leak.
5553 (grub_squash_open): Likewise.
5554 (grub_squash_read): Likewise.
5555 (grub_squash_mtime): Likewise.
5556 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5557 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5558 * util/grub-fstest.c (fstest): Likewise.
5559
57b01250
VS
55602011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5563 avoid accessing beyond the array.
5564
19e81ba7
VS
55652011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5568
52b656c0
VS
55692011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 Several AFFS fixes.
5572
5573 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5574 (GRUB_AFFS_FLAG_FFS): Removed.
5575 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5576 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5577 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5578 (grub_fshelp_node): Make block 32-bit.
5579 Add block_cache and last_block_cache.
5580 (grub_affs_read_block): Fill and use block cache.
5581 (grub_affs_read_file): Removed.
5582 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5583 boot block.
5584 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5585 safety.
5586 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5587 space.
5588 (grub_affs_close): Free block cache.
5589 (grub_affs_read): Use grub_fshelp_read_file directly.
5590
438a746a
VS
55912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5594 with no error set.
5595
49a45021
VS
55962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5599 used variable.
5600 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5601 Likewise.
5602
3ae17eb8
VS
56032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5606
5607 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5608 byteswap when needed.
5609
27610c38
VS
56102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 Fix FreeBSD compilation.
5613
5614 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5615 to avoid circular dependency.
5616 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5617 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5618 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5619
4a19b601
VS
56202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 Fix ZFS crypto error types.
5623
5624 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5625 (grub_gcm_decrypt): Likewise.
5626 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5627 from PBKDF2.
5628
958ee221
VS
56292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 Illumos support.
5632
5633 * Makefile.util.def (10_illumos): New script.
5634 * configure.ac: Set COND_HOST_ILLUMOS.
5635 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5636 Support Illumos calls.
5637 (find_partition_start) [__sun__]: Likewise.
5638 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5639 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5640 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5641 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5642 device.
5643 * util/grub-probe.c (probe) [__sun__]: Do character check.
5644 * util/grub.d/10_illumos.in: New file.
5645
cac14fb6
VS
56462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 Support escaped commas in hostdisk.
5649
5650 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5651 (find_grub_drive): Use unescape_cmp.
5652 (make_device_name): Escape commas.
5653
78e08dc3
VS
56542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5657
9f421dd1
VS
56582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5661 variable.
5662
ed64e9e2
VS
56632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 Support trampoline jumps on powerpc.
5666
5667 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5668 __ia64__ path.
5669 (grub_dl_load_segments): Set mod->sz.
5670 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5671 segments.
5672 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5673 (jump): Likewise.
5674 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5675 function.
5676 (trampoline): New struct.
5677 (trampoline_template): New const.
5678 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5679 * include/grub/dl.h (grub_dl): Add sz element.
5680 [__powerpc__]: Follow __ia64__.
5681 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5682 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5683 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5684 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5685
3084ede4
VS
56862011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 ZFS crypto support.
5689
5690 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5691 * grub-core/Makefile.core.def (zfscrypt): New module.
5692 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5693 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5694 it. All users updated.
5695 (grub_zfs_decrypt): New var.
5696 (grub_zfs_load_key): Likewise.
5697 (zio_checksum_functions): Add SHA256+MAC.
5698 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5699 (zio_read): Handle encrypted blocks.
5700 (zap_verify): Remove incorrect check.
5701 (fzap_iterate): Handle non-standard fzap.
5702 (zap_iterate): Likewise.
5703 (zap_iterate_u64): New function.
5704 (dnode_get_fullpath): Load keys.
5705 * grub-core/fs/zfs/zfscrypt.c: New file.
5706 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5707 (grub_crypto_ecb_encrypt): Make input const.
5708 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5709 (grub_crypto_ecb_encrypt): Make input const.
5710 (GRUB_CIPHER_AES): New macro.
5711 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5712 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5713 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5714 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5715 prefix. All users updated.
5716 (grub_zfs_add_key): New proto.
5717 (grub_zfs_decrypt): Likewise.
5718 (grub_zfs_load_key): Likewise.
5719 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5720 * util/grub-fstest.c (options): Add -K option.
5721 (argp_parser): Likewise.
5722
b632b404
VS
57232011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 Support zle compression on ZFS.
5726
5727 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5728 (decomp_table): Add zle.
5729 * include/grub/zfs/zio.h (zio_compress): Add zle.
5730
c7ba4f69
VS
57312011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 Support BtrFS embedding.
5734
5735 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5736 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5737 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5738 * util/grub-setup.c (setup): Use fs embedding if available.
5739 Add additional sanity check.
5740
455377d9
VS
57412011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * util/grub-install.in: Fix condition for config_opt.
5744
c2fd16ca
VS
57452011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 Support third redundancy strip on raidz3.
5748
5749 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5750 Return error on singularity. All users updated.
5751 (read_device): Don't stop on 3rd failure on raidz3.
5752
8622923b
VS
57532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 Support case-insensitive ZFS subvolumes.
5756
5757 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5758 All users updated.
5759 (zap_hash): Likewise.
5760 (name_cmp): New function.
5761 (zap_leaf_array_equal): New parameter case_insensitive.
5762 All users updated.
5763 (zap_leaf_lookup): Likewise.
5764 (fzap_lookup): Likewise.
5765 (zap_lookup): Likewise.
5766 (dnode_get_path): New parameter case_insensitive. Retrieve case
5767 sensitiviness of a volume. All users updated.
5768 (dnode_get_fullpath): New parameter case_insensitive.
5769 All users updated.
5770 (grub_zfs_dir): Set info.case_insensitiveness.
5771
95f2e860
VS
57722011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 Support second redundancy strip on raidz(2,3).
5775
5776 * grub-core/fs/zfs/zfs.c (powx): New array.
5777 (powx_inv): Likewise.
5778 (poly): New const.
5779 (xor_out): New function.
5780 (gf_mul): Likewise.
5781 (recovery): Likewise.
5782 (read_device): Use second redundancy strip.
5783
11ee4389
VS
57842011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 Use a power of generator representation of GF(256) multiplication group
5787 to save space time and complexity.
5788
5789 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5790 (raid6_table2): Likewise.
5791 (powx): New array.
5792 (powx_inv): Likewise.
5793 (poly): New const.
5794 (grub_raid_block_mul): Replace with ...
5795 (grub_raid_block_mulx): ...this.
5796 (grub_raid6_init_table): Rewritten.
5797 (grub_raid6_recover): Use power of generator representation.
5798
09e2763f
VS
57992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5802 for the right device.
5803
8bec9a28
VS
58042011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5807 expected by grub-mkimage and it's more clear since there is no implicit
5808 padding.
5809
dbd3a32e
VS
58102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5813 disk.
5814 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5815
182c872a
PMH
58162011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5817
5818 * util/grub-mkrescue.in: Fix handling xorriso option.
5819
1e51cabd
VS
58202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5823 NULL.
5824
9cc3581d 58252011-11-03 crocket <crockabiscuit@gmail.com>
5826
5827 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5828
158dc1ea
VS
58292011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 XZ CRC64 and SHA256 support.
5832
5833 * Makefile.util.def (libgrubmods): Add crc64.c.
5834 * grub-core/Makefile.core.def (crc64): New module.
5835 * grub-core/lib/crc64.c: New file.
5836 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5837 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5838 Fix the type.
5839 (MAX_HASH_SIZE): New define.
5840 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5841 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5842 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5843 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5844 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5845 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5846 Handle non-crc32 hashes.
5847 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5848 (dec_stream_header): Handle non-crc32 hashes.
5849 (dec_stream_footer): Likewise.
5850 (dec_block_header): Likewise.
5851 (dec_main): Likewise.
5852 (xz_dec_init): Likewise.
5853 (xz_dec_reset): Likewise.
5854 (xz_dec_end): Likewise.
5855 * util/import_gcry.py: Add CRC64 line.
5856
9d9b3d2f
VS
58572011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5860 as well.
5861
7d0ac931
VS
58622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 Make reiserfs label retrieval similar to other *_label functions.
5865
5866 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5867 (REISERFS_MAX_LABEL_LENGTH): Removed.
5868 (REISERFS_LABEL_OFFSET): Likewise.
5869 (grub_reiserfs_label): Rewritten.
5870
58712011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5874 field.
5875
cf5ba824
VS
58762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5879
17744004
VS
58802011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5883 drive failure on both raidz and raidz2.
5884
aca5aefc
VS
58852011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 Fix RAIDZ(2) for >= 5 devices.
5888
5889 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5890 asize argument. All users updated.
5891
ce8ca56e
VS
58922011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 Fix RAIDZ(2).
5895
5896 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5897 (fill_vdev_info_real): Set ashift.
5898 (read_device): Rewrite RAIDZ part based on reverse engineering.
5899
7c01e783
VS
59002011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5903 don't report potentially unavialiable fields in debug output.
5904 (find_path): Fix double-free and memory leak.
5905
ce109e84
VS
59062011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 Read label on UFS1.
5909
5910 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5911 (grub_ufs_fs): Always set .label.
5912
87661123
VS
59132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Use shifts in UFS.
5916
5917 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5918 (grub_ufs_data): New field log2_blksz.
5919 (grub_ufs_read_file): Use shifts.
5920 (grub_ufs_mount): Check block size and logarithm it.
5921
46bc1dc2
VS
59222011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5925 long symlinks.
5926
19ee2987
VS
59272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 Handle symlinks and long names on tar and cpio.
5930
5931 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5932 (ATTR_FILE): Likewise.
5933 (ATTR_DIR): Likewise.
5934 (ATTR_LNK): Likewise.
5935 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5936 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5937 L and K entries.
5938 (grub_cpio_mount): Zero-fill data.
5939 (handle_symlink): New function.
46bc1dc2
VS
5940 (grub_cpio_dir): Handle symlinks.
5941 (grub_cpio_open): Likewise.
5942 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5943
c83a08d8
VS
59442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 Fix iso9660 filename limitations and fix memory leaks.
5947
5948 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5949 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5950
45cdd3ea
VS
59512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 Fix JFS file name length limitations.
5954
5955 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5956 (grub_jfs_diropen): Fix maximum filename length.
5957 (grub_jfs_getent): Fix filename length.
5958 (grub_jfs_lookup_symlink): Fix size checks.
5959
94ef05c2
VS
59602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5963 string.
5964
785ab8c7
VS
59652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5966
eb0b6b45
VS
5967 Leverage BFS implementation to read AFS.
5968
5969 * Makefile.util.def (libgrubmods): Add afs.c.
5970 * grub-core/Makefile.core.def (afs): New module
5971 * grub-core/fs/afs.c: New file.
5972 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5973
59742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5977
c4a1628f
VS
59782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * grub-core/fs/bfs.c: Run indent.
5981
5825b379
VS
59822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 BFS implementation based on the specification.
5985
5986 * grub-core/fs/bfs.c: New file.
5987 * Makefile.util.def (libgrubmods): Add bfs.c.
5988 * grub-core/Makefile.core.def (bfs): New module.
5989
42b2a706
VS
59902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * util/grub-fstest.c (cmd_cp): Clarify error message.
5993 (cmd_cmp): Likewise.
5994
61b99bfc
YB
59952011-10-30 Yves Blusseau <blusseau@zetam.org>
5996
5997 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5998 and befs_be.
5999
faba3d16
VS
60002011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Remove afs and befs because of copyright problem.
6003
6004 * grub-core/fs/afs.c: Removed.
6005 * grub-core/fs/afs_be.c: Removed.
6006 * grub-core/fs/befs.c: Removed.
6007 * grub-core/fs/befs_be.c: Removed.
6008 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6009 * grub-core/Makefile.core.def (afs): Removed.
6010 (afs_be): Likewise.
6011 (befs): Likewise.
6012 (befs_be): Likewise.
6013
c39224b0
VS
60142011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 Prefer rockridge over Joliet.
6017
6018 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6019 to ...
6020 (set_rockridge): ... here.
6021 (grub_iso9660_mount): Check rockridge on the primary label when
6022 discovering. Ignore Joliet if Rockridge is present.
6023
e551115a
VS
60242011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 Use shifts in nilfs2.
6027
6028 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6029 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6030 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6031 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6032 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6033 (grub_nilfs2_entries_per_block): Replaced with ...
6034 (grub_nilfs2_log_entries_per_block_log): ... this.
6035 (grub_nilfs2_blocks_per_group): Replaced with ...
6036 (grub_nilfs2_blocks_per_group_log): ... this.
6037 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6038 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6039 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6040 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6041 (grub_nilfs2_palloc_entry_offset): Replaced ...
6042 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6043 (grub_nilfs2_dat_translate): Use shifts.
6044 (grub_nilfs2_read_inode): Likewise.
6045 (GRUB_MOD_INIT): Ensure that logs are correct.
6046
564dd58c
VS
60472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 Use shifts in minix filesystem.
6050
6051 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6052 (GRUB_MINIX_ZONE2SECT): Likewise.
6053 (grub_minix_data): Replace block_size with log_block_size.
6054 (grub_minix_read_file): Use shifts.
6055 (grub_minix_mount): Check block size and take a logarithm.
6056
ed9ba06d
VS
60572011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 Use shifts in squash4.
6060
6061 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6062 (squash_mount): Check block size and take logarithm.
6063 (direct_read): Use shifts.
6064
ad03fe76
VS
60652011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 Correct befs block counting logic.
6068
6069 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6070 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6071 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6072 (grub_afs_read_inode): Use block_shift.
6073 (RANGE_SHIFT): New definition.
6074 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6075 unexpected conditions, use shifts and appropriate types.
6076 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6077
6563f63d
VS
60782011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * grub-core/disk/raid.c (scan_devices): Check partition.
6081 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6082
5b1ae25f
VS
60832011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 Support BFS (befs) UUID.
6086
6087 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6088 (grub_afs_small_data_element_header): New struct.
6089 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6090 (grub_afs_read_attribute) [MODE_BFS]: New function.
6091 (grub_afs_iterate_dir): Allocate for complete inode.
6092 (grub_afs_mount): Likewise.
6093 (grub_afs_uuid) [MODE_BFS]: New function.
6094 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6095
f8d82408
VS
60962011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6099 (zfs_unmount): Fix memory leak.
6100
5773fb64
VS
61012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 Support NTFS reparse points.
6104
6105 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6106 (symlink_descriptor): New struct.
6107 (grub_ntfs_read_symlink): New function.
6108 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6109 (grub_ntfs_open): Likewise.
6110
91c3fdde
VS
61112011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6114
3be82e10
VS
61152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 fstest xnu_uuid subcommand.
6118
6119 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6120 grub-core/commands/xnu_uuid.c.
6121 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6122 (fstest): Handle xnu_uuid.
6123 (options): Document xnu_uuid.
6124 (argp_parser): Parse xnu_uuid.
6125
8e32442e
VS
61262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6129 -l argument. Add newline at the end if printing.
6130 (GRUB_MOD_INIT): Document -l.
6131
52a05075
VS
61322011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6135
1869edb5
VS
61362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 ZFS multi-device and version 33 support.
6139
6140 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6141 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6142 (grub_zfs_data): Add multidev-ice-related fields.
6143 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6144 (dva_get_offset): Make dva const.
6145 (zfs_fetch_nvlist): New function.
6146 (fill_vdev_info_real): Likewise.
6147 (fill_vdev_info): Likewise.
6148 (check_pool_label): Likewise.
6149 (scan_disk): Likewise.
6150 (scan_devices): Likewise.
6151 (read_device): Likewise.
6152 (read_dva): Likewise.
6153 (zio_read_gang): Use read_dva.
6154 (zio_read_data): Likewise.
6155 (zap_leaf_lookup): Add missing endian conversion.
6156 (zap_verify): Add missing endian conversion. All users updated.
6157 (fzap_lookup): Likewise.
6158 (fzap_iterate): Likewise.
6159 (dnode_get_path): Handle SA bonus.
6160 (nvlist_find_value): Make input const. All users updated.
6161 (unmount_device): New function.
6162 (zfs_unmount): Use unmount_device.
6163 (zfs_mount): Use scan_disk.
6164 (zfs_mtime): New function.
6165 (grub_zfs_open): Handle system attributes.
6166 (fill_fs_info): Likewise.
6167 (grub_zfs_dir): Likewise.
6168 (grub_zfs_fs): Add mtime.
6169 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6170 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6171 (SA_MTIME_OFFSET): Likewise.
6172 (SA_SYMLINK_OFFSET): Likewise.
6173 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6174 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6175 (fstest): Support zfsinfo.
6176 (argp_parser): Likewise.
6177
186b4028
VS
61782011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6181 error.
6182
61832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6184
6185 ZFS fixes.
6186
6187 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6188 sharing the same block. Iterate over correct number of indices.
6189 (dnode_get_path): Handle symlinks correctly.
6190
c0584900
VS
61912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6194
67e2bd71
VS
61952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 Read label on HFS+.
6198
6199 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6200 (grub_hfsplus_btree_search): Fix types.
6201 (grub_hfsplus_label): Implement.
6202
e9cc6b7b
VS
62032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6206
19832ddb
VS
62072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6210
66b40850
VS
62112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 Fix symlink handling on iso9660.
6214
6215 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6216 All users updated.
6217 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6218 (grub_iso9660_read_symlink): Moved most of code ...
6219 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6220
db821363
VS
62212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6224 Use union to avoid breaking strict-aliasing rules.
6225
e1211949
VS
62262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Support multi-extent iso files.
6229
6230 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6231 Add node.
6232 (grub_fshelp_node): Revamp. All users updated.
6233 (FLAG_*): New enum.
6234 (read_node): New function.
6235 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6236 All users updated.
6237 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6238 (get_node_size): New function.
6239 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6240 entries.
6241 Fix memory leak on . and ..
6242 (grub_iso9660_read): Use read_node.
6243 (grub_iso9660_close): Free node.
6244
d4888031
VS
62452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 Fix tar 4G limit and handle paths containing dot.
6248
6249 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6250 (canonicalize): New function.
6251 (grub_cpio_find_file): Use canonicalize. Store offs in
6252 grub_disk_addr_t.
6253 (grub_cpio_dir): Use grub_disk_addr_t.
6254 (grub_cpio_open): Likewise.
6255
9f12e664
VS
62562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6259
6260 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6261 unused flags.
6262 (grub_squash_inode): Add long_file and block_size.
6263 (grub_squash_cache_inode): New struct.
6264 (grub_squash_dirent): Make types into enum.
6265 (SQUASH_TYPE_LONG_REGULAR): New type.
6266 (grub_squash_frag_desc): Add field size.
6267 (SQUASH_BLOCK_FLAGS): New enum.
6268 (grub_squash_data): Use grub_squash_cache_inode.
6269 (grub_fshelp_node): Make ino_chunk 64-bit.
6270 (read_chunk): Minor argument change. All users updated.
6271 (squash_mount): Use correct le_to_cpu.
6272 (grub_squash_open): Handle LONG_REGULAR.
6273 (direct_read): New function.
6274 (grub_squash_read_data): Handle blocks correctly.
6275
9f326fba
VS
62762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6279
f4d9b64b
VS
62802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6283
5bbd28b8
VS
62842011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 Fix 2G limit on ZFS.
6287
6288 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6289 types.
6290 (uberblock_verify): Likewise.
6291 (dmu_read): Likewise.
6292 (grub_zfs_read): Likewise. Remove invalid cast.
6293
68c72069
VS
62942011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6297 (grub_jfs_blkno): Fix incorrect shift.
6298 (grub_jfs_read_file): Use more appropriate types.
6299
6e536dc8
VS
63002011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 Support triple indirect on minix2 and minix3.
6303
6304 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6305 Declare triple_indir_zone.
6306 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6307 indirect.
6308
e0864e7a
VS
63092011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 Minix FS fixes.
6312
6313 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6314 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6315 Rename ctime to mtime. All users updated.
6316 (grub_minix_get_file_block): Fix types and double indirect computations.
6317
89481cab
VS
63182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6321 if no label is found.
6322 (grub_fat_iterate_dir): Fix file size type.
6323 (grub_fat_iterate_dir): Likewise.
6324
f646e143
VS
63252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6328 save some space.
6329 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6330 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6331
534d769e
VS
63322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6335
e084ba18
VS
63362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * util/import_gcry.py: Accept space between # and include.
6339
3471ecdf
VS
63402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6343
124df5f6
VS
63442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6347
6348 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6349 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6350 yylex_strncpy.
6351 * grub-core/script/yylex.l: Add fine-grained #pragma.
6352
4defb8d5
VS
63532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6356 New inline function.
6357 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6358 Likewise.
6359 (memset) [GRUB_UTIL]: Likewise.
6360 (memcmp) [GRUB_UTIL]: Likewise.
6361
4e94ae65
VS
63622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6365 inline function rather than a define.
6366
18c575e5
VS
63672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * util/grub-setup.c: Add missing include.
6370
f8bc22a8
VS
63712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * util/ieee1275/grub-ofpathname.c: Add missing include.
6374
3ce69fc9
VS
63752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6378 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6379 Likewise.
6380
d1e293bb
VS
63812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6384 grub_memcmp usage.
6385
7a5c54a4
VS
63862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * util/grub-install.in: Add datarootdir as per automake manual
6389 suggestion.
6390 * util/grub-mknetdir.in: Likewise.
6391
63922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6393
6394 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6395 suggestion.
6396 * util/grub.d/10_kfreebsd.in: Likewise.
6397 * util/grub.d/10_linux.in: Likewise.
6398 * util/grub.d/10_netbsd.in: Likewise.
6399 * util/grub.d/10_windows.in: Likewise.
6400 * util/grub.d/20_linux_xen.in: Likewise.
6401
766f7d08
VS
64022011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Remove redundant grub_kernel_image_size.
6405
6406 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6407 _edata and _start.
6408 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6409 the small code. It moves it only by few bytes but simplifies the code.
6410 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6411 _start.
6412 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6413 (grub_kernel_image_size): Removed.
6414 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6415 (grub_kernel_image_size): Removed.
6416 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6417 compiled with Apple toolchain.
6418 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6419 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6420 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6421 (grub_total_module_size): Likewise.
6422 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6423 Removed.
6424 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6425 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6426 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6427 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6428 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6429 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6430 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6431 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6432 Removed.
6433 (grub_total_module_size): Removed.
6434 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6435 (image_targets): Likewise.
6436 Set .compressed_size to no field on sparc.
6437 (generate_image): Remove kernel_image_size handling.
6438
fcf1d672
SJ
64392011-10-19 Szymon Janc <szymon@janc.net.pl>
6440
6441 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6442 NULL pointer dereference.
6443
de9c615e
VS
64442011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6447 done with a dedicated section.
6448
6449 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6450 Ensure the correct position of boot_path.
6451 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6452 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6453 other fields.
6454 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6455 * include/grub/boot.h: Removed. All references removed.
6456 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6457 Removed.
6458 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6459
e55599dc
VS
64602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6463 name.
6464
36dd20ad
VS
64652011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6468
f8f72eb8
VS
64692011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6472 Don't add the bogus brackets.
6473
a374751b
VS
64742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 ExFAT support.
6477
6478 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6479 * grub-core/Makefile.core.def (exfat): New module.
6480 * grub-core/fs/exfat.c: New file.
6481 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6482 (GRUB_FAT_ATTR_*): Make into an enum.
6483 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6484 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6485 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6486 (GRUB_FAT_MAXFILE): Removed.
6487 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6488 (grub_current_fat_bpb_t): New type.
6489 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6490 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6491 (grub_fat_dir_node_t): New type.
6492 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6493 (fat_log2) [MODE_EXFAT]: Removed.
6494 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6495 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6496 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6497 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6498 (grub_fat_label) [MODE_EXFAT]: New function.
6499 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6500 reserved_first_sector to 0.
6501
544c2487
VS
65022011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 Move grub_reboot out of the kernel.
6505
6506 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6507 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6508 * grub-core/lib/efi/reboot.c: ... here.
6509 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6510 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6511 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6512 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6513 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6514 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6515 * grub-core/lib/ieee1275/reboot.c: ... here.
6516 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6517 * grub-core/lib/mips/arc/reboot.c: ... here.
6518 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6519 * grub-core/lib/mips/loongson/reboot.c: ...here.
6520 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6521 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6522 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6523 * include/grub/i386/reboot.h: New file.
6524 * include/grub/mips/loongson/ec.h: Fix includes.
6525 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6526 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6527 * grub-core/lib/i386/reboot.c: New file.
6528
a97501d2
VS
65292011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 Make grub_prefix into module to fix the arbitrary limit and save
6532 some space.
6533
6534 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6535 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6536 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6537 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6538 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6539 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6540 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6541 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6542 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6543 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6544 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6545 * include/grub/ia64/efi/kernel.h: Removed.
6546 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6547 (grub_prefix): Removed.
6548 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6549 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6550 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6551 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6552 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6553 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6554 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6555 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6556 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6557 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6558 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6559 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6560 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6561 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6562 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6563 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6564 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6565 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6566 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6567 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6568 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6569 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6570 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6571 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6572 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6573 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6574 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6575 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6576 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6577 from module.
6578 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6579 prefix_end.
6580 (image_targets): Likewise.
6581 (generate_image): Put prefix as a module.
6582
39705fad
VS
65832011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 Replace grub_module_iterate with FOR_MODULES.
6586
6587 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6588 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6589 (grub_efi_modules_addr): ...this.
6590 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6591 (grub_efi_init): Set grub_modbase.
6592 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6593 (grub_modbase): New variable.
6594 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6595 (grub_modbase): New variable.
6596 (grub_machine_init): Set grub_modbase.
6597 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6598 (grub_modbase): New variable.
6599 (grub_machine_init): Set grub_modbase.
6600 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6601 (grub_modbase): New variable.
6602 (grub_machine_init): Set grub_modbase.
6603 * grub-core/kern/main.c (grub_module_iterate): Remove.
6604 (grub_modules_get_end): Use grub_modbase.
6605 (grub_load_modules): Use FOR_MODULES.
6606 (grub_load_config): Likewise.
6607 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6608 (grub_modbase): New variable.
6609 (grub_machine_init): Set grub_modbase.
6610 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6611 (grub_modbase): New variable.
6612 (grub_machine_init): Set grub_modbase.
6613 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6614 Removed.
6615 (grub_modbase): New variable.
6616 (grub_machine_init): Set grub_modbase.
6617 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6618 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6619 (grub_module_iterate): Likewise.
6620 (grub_modbase): New variable declaration.
6621 (FOR_MODULES): New macro.
6622
2afb7f6c
VS
66232011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6626 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6627
366e34fa
VS
66282011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 Fix few obvious type discrepancies.
6631
6632 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6633 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6634 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6635 variable.
6636 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6637 and connected types.
6638 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6639 offset.
6640 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6641 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6642 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6643 and connected types.
6644
177b960e
VS
66452011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 Fix python 3.x incompatibilities.
6648
6649 * gentpl.py: Put brackets around print strings.
6650 * util/import_gcry.py: Open explicitly as utf-8.
6651 Use in instead of has_key.
6652
3b619ae1
VS
66532011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6656 (GRUB_XFS_INO_AGBITS): Make into inline function.
6657 (GRUB_XFS_INO_INOINAG): Likewise.
6658 (GRUB_XFS_INO_AG): Likewise.
6659 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6660 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6661 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6662 (GRUB_XFS_EXTENT_SIZE): Likewise.
6663 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6664 (GRUB_XFS_NEXT_DIRENT): Likewise.
6665 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6666 (grub_xfs_read_file): Fix offset type.
6667
8bcebcb8
RM
66682011-10-15 Robert Millan <rmh@gnu.org>
6669
6670 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6671
0017e5ef
RM
66722011-10-15 Robert Millan <rmh@gnu.org>
6673
6674 Fix build problem on FreeBSD and GNU/kFreeBSD.
6675
6676 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6677
d8919552
VS
66782011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6681
6682 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6683 types.
6684 (grub_hfsplus_btree_recoffset): Likewise.
6685 (grub_hfsplus_btree_recptr): Likewise.
6686 (grub_hfsplus_find_block): Likewise.
6687 (grub_hfsplus_btree_search): Likewise.
6688 (grub_hfsplus_read_block): Likewise.
6689 (grub_hfsplus_read_file): Likewise.
6690 (grub_hfsplus_mount): Likewise.
6691 (grub_hfsplus_btree_iterate_node): Likewise.
6692 (grub_hfsplus_btree_search): Likewise.
6693 (grub_hfsplus_iterate_dir): Likewise.
6694 (grub_hfsplus_read): A small code simplification.
6695
c81296b6
VS
66962011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * grub-core/kern/emu/hostdisk.c
6699 (convert_system_partition_to_system_disk): Don't assume that children
6700 of mapper nodes are mapper nodes.
6701
0eb8ffb1
VS
67022011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6705 * include/grub/misc.h (grub_isxdigit): New function.
6706 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6707 switched to grub_isxdigit.
6708 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6709 number starting with a letter.
6710
a98f4a08
RM
67112011-10-09 Robert Millan <rmh@gnu.org>
6712
6713 LVM support for FreeBSD and GNU/kFreeBSD.
6714
6715 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6716 GNU/kFreeBSD.
6717 (LVM_DEV_MAPPER_STRING): Move from here ...
6718 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6719 * util/getroot.c: Include `<grub/util/lvm.h>'.
6720 (grub_util_get_dev_abstraction): Enable
6721 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6722 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6723 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6724 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6725 support it.
6726 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6727 GNU/kFreeBSD.
6728 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6729 when LVM abstraction is required for ${GRUB_DEVICE}.
6730
050e8e90
SJ
67312011-10-06 Szymon Janc <szymon@janc.net.pl>
6732
6733 Add support for LZO compression in GRUB:
6734 - import of minilzo library,
6735 - LZO decompression for btrfs,
6736 - lzop files decompression.
6737
6738 * grub-core/io/lzopio.c: New file.
6739 * grub-core/lib/adler32.c: Likewise.
6740 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6741 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6742 * grub-core/lib/minilzo/minilzo.c: Likewise.
6743 * grub-core/lib/minilzo/minilzo.h: Likewise.
6744 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6745 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6746 grub-core/lib/minilzo/minilzo.c to common.
6747 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6748 cflags in cppflags.
6749 * grub-core/Makefile.core.def (btrfs): Likewise.
6750 * grub-core/Makefile.core.def (lzopio): New module.
6751 (adler32): Likewise.
6752 * grub-core/fs/btrfs.c: Include minilzo.h.
6753 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6754 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6755 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6756 (grub_btrfs_lzo_decompress): New function.
6757 (grub_btrfs_extent_read): Add support for LZO compression type.
6758 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6759 (GRUB_USHRT_MAX): Likewise.
6760 (GRUB_UINT_MAX): Likewise.
6761 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6762 (UINT_MAX): Likewise.
6763 (CHAR_BIT): Likewise.
6764 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6765 grub-core/lib/posix_wrap/limits.h
6766 (UCHAR_MAX): Likewise.
6767 * include/grub/file.h (grub_file_filter_id): New compression filter
6768 GRUB_FILE_FILTER_LZOPIO.
6769 * include/grub/file.h (grub_file_filter_id): Set
6770 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6771 * include/grub/types.h (grub_get_unaligned16): New function.
6772 (grub_get_unaligned32): Likewise.
6773 (grub_get_unaligned64): Likewise.
6774 * util/import_gcry.py (cryptolist): Add adler32.
6775
0eb8ffb1
VS
67762011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6779 in perspective decreases the complexity of build system and fixes
6780 compilation right now.
6781
ce79cc99 67822011-10-01 Ales Nesrsta <starous@volny.cz>
6783
6784 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6785 (fixed problem related to using UHCI with coreboot).
6786
8667a314
BC
67872011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6788
6789 * gentpl.py: Use Autogen macros so that the output template file
6790 (Makefile.tpl) size is reduced.
6791
fc5efcc0
MK
67922011-09-29 Mads Kiilerich <mads@kiilerich.com>
6793
6794 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6795 extra_dist.
6796
d1ab689d
ML
67972011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6798
6799 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6800 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6801
c05de032
ML
68022011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6803
6804 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6805 _fullpath.
6806
cca7ccd8
ML
68072011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6808
6809 Remove extra declaration of sleep for mingw32.
6810
6811 * util/misc.c (sleep) [__MINGW32__]: Removed.
6812 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6813
e0b0dc83
GS
68142011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6815
6816 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6817 type and packname.
6818 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6819 Resurrected.
6820 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6821 (grub_netbsd_btinfo_bootwedge): New struct.
6822 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6823 New function.
6824 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6825
91a1a164
TH
68262011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6827
6828 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6829 loader.
6830
2ded951e
AB
68312011-09-28 Andreas Born <futur.andy@googlemail.com>
6832
6833 Fix incorrect identifiers in bash-completion.
6834
6835 * util/bash-completion.d/grub-completion.bash.in
6836 (_grub_mkpasswd-pbkdf2): Rename to ...
6837 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6838 (_grub_script-check): Rename to ...
6839 (_grub_script_check): ... this. All users updated.
6840
69915030
VS
68412011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6844 Return 0 if disk isn't biosdisk.
6845
20fd15f9
GS
68462011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6847
6848 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6849 on NetBSD.
6850 * Makefile.util.def (grub-fstest): Likewise.
6851
1a7d7db9
GS
68522011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6853
6854 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6855 Get sector size from disk label.
6856
2221ab6c
CW
68572011-09-05 Colin Watson <cjwatson@ubuntu.com>
6858
6859 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6860 */README* as well as README*.
6861 Reported by: Axel Beckert.
6862
ca51c4a0
VS
68632011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6866 case of less than 256 MiB of RAM.
6867
ab80f326
VS
68682011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/commands/wildcard.c (make_regex): Handle @.
6871
4155e697
VS
68722011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6875
ab178c08
SJ
68762011-08-21 Szymon Janc <szymon@janc.net.pl>
6877
6878 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6879 AC_LANG_CONFTEST macros.
6880
7dc3c686
SJ
68812011-08-20 Szymon Janc <szymon@janc.net.pl>
6882
6883 Add grub-fstest option to uncompress data for commands.
6884
6885 * util/grub-fstest.c (uncompress): New var.
6886 (options): New option -u.
6887
fe8d4a7b
SJ
68882011-08-20 Szymon Janc <szymon@janc.net.pl>
6889
6890 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6891 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6892
a5219af1
SJ
68932011-08-20 Szymon Janc <szymon@janc.net.pl>
6894
6895 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6896 file type was not recognized correctly (not gzip or corrupted).
6897
f87abff5
VS
68982011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6901 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6902
d94497ea
VS
69032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6906 loongson.
6907 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6908 video_radeon_fuloong2e.
6909 * grub-core/video/radeon_fuloong2e.c: New file.
6910 * include/grub/video.h (grub_video_id_t): Add new ID
6911 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6912
0d1fd011
VS
69132011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6916 define.
6917 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6918 that PRID matches the detected subplatform and reset the subplatform
6919 if it doesn't.
6920
84beb0ee
VS
69212011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6924
1227c133
VS
69252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 Fix PCI iterating on functions >= 4.
6928
6929 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6930 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6931 Removed.
6932 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6933 (grub_pci_read): Fix bitmask.
6934 (grub_pci_read_word): Likewise.
6935 (grub_pci_read_byte): Likewise.
6936 (grub_pci_write): Likewise.
6937 (grub_pci_write_word): Likewise.
6938 (grub_pci_write_byte): Likewise.
6939
9594c689
VS
69402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6941
6942 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6943 can still be specified in TARGET_CFLAGS)
6944
14a2562c
VS
69452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6948
6949 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6950 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6951 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6952 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6953 (FULOONG): Rename to ...
6954 (FULOONG2F): ... this. All users updated.
6955 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6956 (machtype_fuloong2f_str): ... this.
6957 (machtype_fuloong2e_str): New string.
6958 Check for machtype_fuloong2e_str.
6959 * grub-core/loader/mips/linux.c (loongson_machtypes)
6960 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6961 * grub-core/term/serial.c (loongson_defserial)
6962 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6963 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6964 loongson_defserial.
6965 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6966 Rename to ...
6967 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6968 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6969 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6970 to IMAGE_FULOONG2F_FLASH. All users updated.
6971 (image_targets): Rename images.
6972 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6973
b526cbb6
SJ
69742011-08-19 Szymon Janc <szymon@janc.net.pl>
6975
6976 Make enable of disk cache statistics code configurable.
6977
6978 * configure.ac: --enable-cache-stats added.
6979 * config.h.in (DISK_CACHE_STATS): New define.
6980 * grub-core/Makefile.core.def (cacheinfo): New command.
6981 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6982 * grub-core/commands/cacheinfo.c: New file.
6983 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6984 moved to cacheinfo.c.
6985 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6986 debug code.
6987 * include/grub/disk.h: Likewise.
6988
fb739ccd
SJ
69892011-08-19 Szymon Janc <szymon@janc.net.pl>
6990
6991 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6992 * grub-core/Makefile.am: Likewise.
6993
2bba8cfd
VS
69942011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6997 non-zero pull.
6998
43526629
VS
69992011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7002 All users updated.
7003 (grub_jfs_lookup_symlink): Use correct starting inode.
7004
5c144cc8
VS
70052011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * util/grub-setup.c (main): Add missing gcry initialisation.
7008
b1257f65
VS
70092011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 Don't accept text modes on EFI when booting Linux.
7012
7013 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7014 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7015
828bc390
ML
70162011-08-15 Mario Limonciello <mario_limonciello@dell.com>
70172011-08-15 Colin Watson <cjwatson@ubuntu.com>
7018
7019 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7020 use of "/path/.." as in grub-install for EFI as well as handling
7021 symlinks correctly.
7022 Fixes Debian bug #637768.
7023
5f60ccac
CW
70242011-08-15 Colin Watson <cjwatson@ubuntu.com>
7025
7026 * util/grub-probe.c: Remove duplicate #include.
7027
6dc212f9
RM
70282011-08-10 Robert Millan <rmh@gnu.org>
7029
7030 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7031
7032 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7033 function.
7034 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7035 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7036
66816d85
RM
70372011-08-03 Robert Millan <rmh@gnu.org>
7038
7039 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7040 la_array as packed.
7041 Reported by: Zachary Bedell
7042
20168fca
CW
70432011-07-26 Colin Watson <cjwatson@ubuntu.com>
7044
7045 * configure.ac: The Loongson port requires grub-mkfont due to its
7046 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7047 be built.
7048
303b6246
CW
70492011-07-26 Colin Watson <cjwatson@ubuntu.com>
7050
7051 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7052 processing arguments (otherwise help2man fails when GRUB has not yet
7053 been installed).
7054
6795300e
VS
70552011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7056
41aa28ea
VS
7057 New script grub-mkstandalone.
7058
7059 * Makefile.util.def (grub-mkstandalone): New script.
7060 * docs/man/grub-mkstandalone.h2m: New file.
7061 * util/grub-mkstandalone.in: Likewise.
7062
70632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 Support ATA disks with 4K sectors.
6795300e
VS
7066
7067 * include/grub/ata.h (grub_ata): New member log_sector_size.
7068 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7069 (grub_ata_identify): Read sector size.
7070 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7071
92227597
VS
70722011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * util/grub-install.in: Don't use uhci outside of x86.
7075
c77069f5
VS
70762011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * util/grub-mkrescue.in: Add missing quotes.
7079
70802011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7081
7082 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7083 dereference.
7084
583168a2
VS
70852011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7088
6be1c01f
VS
70892011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * include/grub/video.h: add missing EXPORT_FUND on
7092 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7093
a1167439
VS
70942011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * include/grub/mips/kernel.h: Fix define conflict.
7097
bf66054f
VS
70982011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7101 all four ways.
7102
8fc4fa45
CW
71032011-07-21 Colin Watson <cjwatson@ubuntu.com>
7104
7105 Preferred resolution detection for VBE.
7106
7107 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7108 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7109 the Flat Panel extension, in line with the X.org VESA driver.
7110 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7111 New function.
7112 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7113 (grub_vbe_bios_read_edid): Likewise.
7114 (grub_vbe_get_preferred_mode): Likewise.
7115 (grub_video_vbe_setup): When the mode is "auto", try to get the
7116 preferred mode from VBE, and use the largest mode that is no larger
7117 than the preferred mode (some BIOSes expose a preferred mode that is
7118 not in their mode list!). If this fails, fall back to 640x480 as a
7119 safe conservative choice.
7120 (grub_video_vbe_get_edid): New function.
7121 (grub_video_vbe_adapter): Add get_edid.
7122 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7123 (struct grub_video_adapter): Add get_edid.
7124 (grub_video_edid_checksum): Add prototype.
7125 (grub_video_edid_preferred_mode): Likewise.
7126 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7127 structure.
7128
7129 * grub-core/commands/videoinfo.c (print_edid): New function.
7130 (grub_cmd_videoinfo): Print EDID if available.
7131
7132 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7133 is more appropriate on a wider range of platforms than 640x480.
7134 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7135 documentation.
7136
ca5572a9
VS
71372011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7140
e4bcf625
VS
71412011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 * po/POTFILES.in: Regenerate.
7144
c4edd548
VS
71452011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7148 incorrect memory usage.
7149
16a2bab0
VS
71502011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * util/grub-install.in: Source grub-mkconfig_lib.
7153
2e418de6
VS
71542011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 Remove getroot.c from core on emu platform.
7157
7158 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7159 kern/emu/raid.c.
7160 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7161 useless.
7162 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7163 * util/getroot.c (get_win32_path): ... here.
7164 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7165 * util/getroot.c (fini_libzfs): ... here.
7166 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7167 * util/getroot.c (grub_get_libzfs_handle): ... here.
7168 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7169 Moved from here...
7170 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7171 * grub-core/kern/emu/misc.c
7172 (grub_make_system_path_relative_to_its_root): Moved from here...
7173 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7174 * grub-core/kern/emu/getroot.c: Moved from here ...
7175 * util/getroot.c: ... here. All users updated.
7176 * grub-core/kern/emu/raid.c: Moved from here ...
7177 * util/raid.c: ... here. All users updated.
7178
def9832a
VS
71792011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * po/POTFILES.in: Regenerate.
7182
cd8fe79a
VS
71832011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 Fix compilation on GNU/Linux.
7186
7187 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7188 Disable geli.
7189 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7190 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7191 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7192
a251b719
VS
71932011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
71942011-07-07 Michael Gorven <michael@gorven.za.net>
71952011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7196
7197 LUKS and GELI support.
7198
7199 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7200 grub-core/disk/luks.c, grub-core/disk/geli.c,
7201 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7202 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7203 grub-core/lib/arg.c.
7204 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7205 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7206 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7207 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7208 (grub-bin2h): Add libgcry.a.
7209 (grub-mkimage): Likewise.
7210 (grub-mkrelpath): Likewise.
7211 (grub-script-check): Likewise.
7212 (grub-editenv): Likewise.
7213 (grub-mkpasswd-pbkdf2): Likewise.
7214 (grub-pe2elf): Likewise.
7215 (grub-fstest): Likewise.
7216 (grub-mkfont): Likewise.
7217 (grub-mkdevicemap): Likewise.
7218 (grub-probe): Likewise.
7219 (grub-ofpath): Likewise.
7220 (grub-mklayout): Likewise.
7221 (example_unit_test): Likewise.
7222 (grub-menulst2cfg): Likewise.
7223 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7224 * grub-core/Makefile.core.def (cryptodisk): New module.
7225 (luks): Likewise.
7226 (geli): Likewise.
7227 * grub-core/disk/AFSplitter.c: New file.
7228 * grub-core/disk/cryptodisk.c: Likewise.
7229 * grub-core/disk/geli.c: Likewise.
7230 * grub-core/disk/luks.c: Likewise.
7231 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7232 grub_util_is_lvm.
7233 (grub_util_get_dm_abstraction): New function.
7234 (grub_util_follow_gpart_up): Likewise.
7235 (grub_util_get_geom_abstraction): Likewise.
7236 (grub_util_get_dev_abstraction): Use new functions.
7237 (grub_util_pull_device): Pull GELI and LUKS.
7238 (grub_util_get_grub_dev): Handle LUKS and GELI.
7239 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7240 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7241 (follow_geom_up): Removed.
7242 (grub_util_fd_seek): New function.
7243 (open_device): Use grub_util_fd_seek.
7244 (nread): Rename to ..
7245 (grub_util_fd_read): ... this. All users updated.
7246 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7247 (grub_crypto_cbc_decrypt): Likewise.
7248 (grub_crypto_hmac_write): Likewise.
7249 (grub_crypto_hmac_buffer): Likewise.
7250 (grub_password_get): Extend to util.
7251 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7252 New member modname.
7253 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7254 * include/grub/cryptodisk.h: New file.
7255 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7256 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7257 LUKS and GELI.
7258 (grub_util_follow_gpart_up): New proto.
7259 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7260 (grub_util_fd_read): Likewise.
7261 (grub_cryptodisk_cheat_mount): Likewise.
7262 (grub_util_cryptodisk_print_uuid): Likewise.
7263 (grub_util_get_fd_sectors): Likewise.
7264 * util/grub-fstest.c (mount_crypt): New var.
7265 (fstest): Mount crypto if requested.
7266 (options): New option -C.
7267 (argp_parser): Parse -C.
7268 (main): Init and fini gcry.
7269 * util/grub-install.in: Support cryptodisk install.
7270 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7271 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7272 cryptodisk.
7273 (prepare_grub_to_access_device): Likewise.
7274 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7275 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7276 (probe_cryptodisk_uuid): New function.
7277 (probe_abstraction): Likewise.
7278 (probe): Use new functions.
7279 * util/import_gcry.py: Create Makefile.utilgcry.def.
7280 Add modname member.
7281
9bfdcbbc
VS
72822011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 Lazy device scanning.
7285
7286 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7287 (grub-setup): Remove util/raid.c.
7288 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7289 * grub-core/disk/lvm.c (scan_depth): New variable.
7290 (grub_lvm_iterate): Rescan if necessary.
7291 (find_lv): New function based on grub_lvm_open.
7292 (grub_lvm_open): Use find_lv. Rescan on error.
7293 (is_node_readable): New function.
7294 (is_lv_readable): Likewise.
7295 (grub_lvm_scan_device): Skip already found disks.
7296 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7297 Stop if searched device is found and readable.
7298 * grub-core/disk/raid.c (inscnt): New variable.
7299 (scan_depth): Likewise.
7300 (scan_devices): New function based on grub_raid_register. Abort if
7301 looked for device is found.
7302 (grub_raid_iterate): Rescan if needed.
7303 (find_array): NEw function based on -grub_raid_open.
7304 (grub_raid_open): Use find_array and rescan.
7305 (insert_array): Set became_readable_at.
7306 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7307 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7308 New function.
7309 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7310 (grub_util_pull_device): New function.
7311 (grub_util_get_grub_dev): Call grub_util_pull_device.
7312 * util/raid.c: Moved to ..
7313 * grub-core/kern/emu/raid.c: ... here.
7314 (grub_util_raid_getmembers): New parameter "bootable".
7315 All users updated. Support 1.x.
7316 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7317 All users updated.
7318 * include/grub/disk.h (grub_disk_pull_t): New enum.
7319 (grub_disk_dev): Change iterate prototype.
7320 All users updated.
7321 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7322 New proto.
7323 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7324 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7325 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7326 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7327 All users updated.
7328 * include/grub/util/raid.h: Removed.
7329
1c358e59
VS
73302011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * po/POTFILES.in: Regenerate.
7333
abee94ed
VS
73342011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 Unify sparc init with other ieee1275.
7337
7338 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7339 instead of kern/sparc64/ieee1275/init.c.
7340 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7341 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7342 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7343 grub/machine/kernel.h.
7344 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7345 (grub_claim_heap) [__sparc__]: Use sparc version.
7346 (grub_machine_init): Moved args parsing to
7347 (grub_parse_cmdline): ...this.
7348 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7349 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7350 New definition.
7351 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7352
7353 Move BOOTP to separate file.
7354
7355 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7356 * grub-core/net/net.c: Move all BOOTP functions to
7357 * grub-core/net/bootp.c: ... here.
7358
7359 Use frame interface on PXE.
7360
7361 * grub-core/Makefile.core.def (pxecmd): Removed.
7362 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7363 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7364 * grub-core/i386/pc/pxe.c: Moved from here ...
7365 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7366 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7367 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7368
7369 EFI network support.
7370
7371 * grub-core/Makefile.core.def (efinet): New module.
7372 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7373 here...
7374 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7375 All users updated.
7376 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7377 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7378 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7379 * grub-core/net/drivers/efi/efinet.c: New file.
7380 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7381 (grub_efi_net_config): New extern var.
7382
7383 Various cleanups and bugfixes.
7384
7385 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7386 error.
7387 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7388 disk declared as partition.
7389 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7390 leak on failure.
7391 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7392 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7393 (grub_debug_zalloc): Likewise.
7394 (grub_debug_realloc): Likewise.
7395 (grub_debug_memalign): Likewise.
7396 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7397 Check that target is IPv4.
7398 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7399 local-mac-address as fallback.
7400 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7401 memory leak.
7402 * grub-core/net/ip.c (ipchksum): Rename to ...
7403 (grub_net_ip_chksum): ... this. All users updated.
7404 (grub_net_recv_ip_packets): Special handling for DHCP.
7405 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7406
7407 Unify prefix handling
7408
7409 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7410 (grub_machine_get_bootlocation): ... this.
7411 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7412 (grub_machine_get_bootlocation): ... this.
7413 (grub_prefix): New variable.
7414 (prefix): Removed.
7415 (root_dev): New variable.
7416 (dir): Likewise.
7417 (main): Use new variables.
7418 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7419 Revamped into ...
7420 (grub_machine_get_bootlocation): ... this.
7421 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7422 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7423 (grub_machine_get_bootlocation): ... this.
7424 (grub_machine_set_prefix): Removed.
7425 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7426 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7427 Revamped into ...
7428 (grub_machine_get_bootlocation): ... this.
7429 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7430 (grub_set_prefix_and_root): ... this. All users updated.
7431 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7432 Revamped into ...
7433 (grub_machine_get_bootlocation): ... this.
7434 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7435 (grub_machine_get_bootlocation): New proto.
7436 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7437
7438 Less intrusive and more reliable seek on network implementation.
7439
7440 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7441 (grub_file_seek): Don't call grub_file_net_seek.
7442 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7443 (grub_net_fs_read_real): .. this.
7444 (grub_net_seek_real): Use net->offset.
7445 (grub_net_fs_read): Seek if necessary.
7446
7447 Unify IEEE1275 netwotk config with the other platforms.
7448
7449 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7450 New variable.
7451 (grub_machine_get_bootlocation): Support network.
7452 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7453 Support type and device parsing.
7454 (grub_ieee1275_get_device_type): New function.
7455 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7456 into ...
7457 (grub_ieee1275_net_config_real): ... this.
7458 (grub_ofnet_probecards): Removed.
7459 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7460 * include/grub/ieee1275/ofnet.h: Removed.
7461 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7462 extern var.
7463 (grub_ieee1275_get_device_type): New function.
7464
7465 Unify network device closing across platforms and make more robust.
7466
7467 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7468 grub_grubnet_fini.
7469 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7470 already.
7471 * grub-core/net/net.c (grub_net_network_level_interface_register):
7472 Update num_ifaces.
7473 (grub_net_card_unregister): Close all interfaces.
7474 (receive_packets): Don't poll if no iterfaces are registered.
7475 Open if necessary.
7476 (grub_net_fini_hw): New function.
7477 (grub_net_restore_hw): Likewise.
7478 (fini_hnd): New variable.
7479 (GRUB_MOD_INIT): Register preboot hook.
7480 (GRUB_MOD_FINI): Run and unregister preboot hook.
7481
7482 Poll network cards when idle.
7483
7484 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7485 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7486 * grub-core/net/net.c (receive_packets): Save last poll time.
7487 (grub_net_poll_cards_idle_real): New function.
7488 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7489 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7490 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7491
7492 Rename ofnet interfaces.
7493
7494 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7495 (grub_ofnet_findcards): Use ofnet_%s names.
7496
7497 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7498
7499 Cleanup socket opening.
7500
7501 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7502 (grub_net_fs_close): Likewise.
7503 (grub_net_fs_read_real): Use eof member.
7504 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7505 (+grub_net_udp_close): New inline function.
7506
7507 * include/grub/net/tftp.h: Moved to the top of ...
7508 * grub-core/net/tftp.c: ... here.
7509 * include/grub/net/ip.h: Moved mostly to the top of ...
7510 * grub-core/net/ip.c: ... here.
7511 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7512 * grub-core/net/ethernet.c: ... here.
7513
7514 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7515
7516 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7517 FS name.
7518
7519 * include/grub/net/ip.h (ipv4_ini): Removed.
7520 (ipv4_fini): Likewise.
7521
7522 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7523 (grub_net_send_ip_packets): Likewise.
7524
cf1337aa
VS
75252011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7528 grub_read_cmos prototype.
7529
93c06ff9
VS
75302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 VGA text support in qemu-mips
7533
7534 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7535 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7536 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7537 text.
7538 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7539 * grub-core/kern/vga_init.c: ... this.
7540 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7541 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7542 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7543 Adjust.
7544 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7545 GRUB_MACHINE_PCI_IO_BASE.
7546
748ccabe
VS
75472011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 MIPS qemu flash support.
7550
7551 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7552 magic.
7553 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7554 (grub_machine_init): Probe memory if its size isn't known.
7555 * util/grub-mkimage.c (image_targets): Add flash targets.
7556 (generate_image): Handle flash targets.
7557
d7345994
VS
75582011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 MIPS qemu at_keyboard support.
7561
7562 * gentpl.py (videoinkernel): Add qemu-mips.
7563 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7564 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7565 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7566 modules.
7567 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7568 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7569 * grub-core/term/serial.c (grub_serial_register)
7570 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7571
a07a81b3
VS
75722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 CMOS support on sparc.
7575
7576 * gentpl.py (cmos): Add powerpc and sparc.
7577 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7578 powerpc and sparc.
7579 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7580 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7581 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7582 grub_set_datetime_cmos.
7583 * grub-core/lib/ieee1275/cmos.c: New file.
7584 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7585 (find_rtc): Set no_ieee1275_rtc on error.
7586 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7587 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7588 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7589 fail. Move value to argument. All users updated
7590 (grub_cmos_write): Likewise.
7591 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7592 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7593 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7594 grub_get_datetime_cmos and grub_set_datetime_cmos.
7595
77546584
GS
75962011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7597
7598 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7599 sourcing grub-mkconfig_lib.
7600 * util/update-grub_lib.in: Likewise.
7601 * util/grub.d/00_header.in: Likewise.
7602 * util/grub.d/10_hurd.in: Likewise.
7603 * util/grub.d/10_kfreebsd.in: Likewise.
7604 * util/grub.d/10_linux.in: Likewise.
7605 * util/grub.d/10_netbsd.in: Likewise.
7606 * util/grub.d/10_windows.in: Likewise.
7607 * util/grub.d/20_linux_xen.in: Likewise.
7608 * util/grub.d/30_os-prober.in: Likewise.
7609
54894791
CW
76102011-06-28 Colin Watson <cjwatson@ubuntu.com>
7611
7612 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7613 default_bg_color rather than black.
7614 (grub_gfxterm_fullscreen): Likewise.
7615 (grub_gfxterm_background_color_cmd): Save new background color in
7616 default_bg_color.
7617
8d5d8444
VS
76182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7621
5afeb5bd
VS
76222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7625 mismerge.
7626
ba7df45e
VS
76272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 Chainloading on coreboot support.
7630
7631 * grub-core/Makefile.core.def (chain): Add coreboot.
7632 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7633
d0b526b2
VS
76342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7637 if it happens.
7638
5ff1d945
VS
76392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 Implement time command.
7642
7643 * grub-core/Makefile.core.def (time): New module.
7644 * grub-core/commands/time.c: New file.
7645 * grub-core/script/parser.y: Remove "time" keyword.
7646 * grub-core/script/yylex.l: Likewise.
7647
5ebaad7e
VS
76482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7651
bdea3798
VS
76522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7655 when handling leftovers.
7656
b28c5655
VS
76572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7660 so that help2man doesn't fail.
7661
b6f945dc
VS
76622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7665 type in pointers on sparc64.
7666 (get_card_packet): Likewise.
7667
f9b75e8a
CW
76682011-06-27 Colin Watson <cjwatson@ubuntu.com>
7669
7670 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7671 with `*'.
7672 (grub_cmd_videoinfo): Fetch current video mode.
7673
1e3d9b86
VS
76742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7677 because of underlying system restrictions.
7678
efff4b1c
VS
76792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7682 necessary.
7683
9fc9ce37
VS
76842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 Coreboot video support.
7687
7688 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7689 (vbe): Likewise.
7690 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7691 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7692 here ...
7693 * grub-core/kern/i386/int.S: ... here.
7694 * grub-core/video/i386/pc/vbe.c: Updated includes.
7695 * grub-core/video/i386/pc/vga.c: Likewise.
7696 * include/grub/i386/coreboot/memory.h
7697 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7698 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7699 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7700 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7701 Disable interrupts.
7702 * include/grub/i386/pc/vga.h: Removed. All users updated.
7703
41bec7fe
VS
77042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7707 definitions for dprintf.
7708 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7709
ca80309d
VS
77102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7713 prototype.
7714 (get_card_packet): Likewise.
7715
9e322ce8
YB
77162011-06-26 Yves Blusseau <blusseau@zetam.org>
7717
7718 Display the path of the file when file is not found
7719
7720 * grub-core/fs/fat.c: Display the filename when file is not found.
7721 * grub-core/fs/fshelp.c: Likewise.
7722 * grub-core/fs/hfs.c: Likewise.
7723 * grub-core/fs/jfs.c: Likewise.
7724 * grub-core/fs/minix.c: Likewise.
7725 * grub-core/fs/ufs.c: Likewise.
7726 * grub-core/fs/btrfs.c: Likewise.
7727 * grub-core/commands/i386/pc/play.c: Likewise.
7728
cbf597af
SJ
77292011-06-26 Szymon Janc <szymon@janc.net.pl>
7730
7731 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7732 pointer checks before calling grub_free().
7733 * grub-core/commands/wildcard.c (match_devices): Likewise.
7734 * grub-core/commands/wildcard.c (match_files): Likewise.
7735 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7736 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7737 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7738 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7739 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7740 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7741 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7742 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7743 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7744
6295b32f
P
77452011-06-25 Patrick <p55@mailinator.com>
7746
7747 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7748
77c0840b
VS
77492011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7752 (grub_pxe_send): Likewise.
7753 (GRUB_MOD_INIT): Fix types.
7754
40ea05de
SJ
77552011-06-24 Szymon Janc <szymon@janc.net.pl>
7756
7757 * grub-core/io/xzio.c: Fix code style issues
7758
90162423
MRA
77592011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
77602011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7761
7762 Network infrastructure.
7763 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7764
7765 * include/grub/net/arp.h: New file.
90162423
MRA
7766 * include/grub/net/device.h: Likewise.
7767 * include/grub/net/ethernet.h: Likewise.
7768 * include/grub/net/ip.h: Likewise.
7769 * include/grub/net/netbuff.h: Likewise.
7770 * include/grub/net/tftp.h: Likewise.
7771 * include/grub/net/udp.h: Likewise.
7772 * include/grub/ieee1275/ofnet.h: Likewise.
7773 * include/grub/emu/export.h: Likewise.
7774 * include/grub/net.h: Likewise.
7775 * grub-core/net/arp.c: Likewise.
7776 * grub-core/net/ethernet.c: Likewise.
7777 * grub-core/net/ip.c: Likewise.
7778 * grub-core/net/udp.c: Likewise.
7779 * grub-core/net/tftp.c: Likewise.
7780 * grub-core/net/netbuff.c: Likewise.
7781 * grub-core/net/net.c: Likewise.
7782 * grub-core/net/drivers/emu/emunet.c: Likewise.
7783 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7784 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7785 export.h.
7786 * grub-core/Makefile.core.def (net): New module.
7787 (tftp): Likewise.
7788 (ofnet): Likewise.
7789 (emunet): Likewise.
7790 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7791 network protocols.
7792 * grub-core/kern/device.c (grub_net_open) : New variable.
7793 (grub_device_open): Handle network device.
7794 (grub_device_close): Likewise.
7795 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7796 (grub_grubnet_fini): Likewise.
7797 (grub_file_seek): Seek in network device.
7798 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7799 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7800 network root.
7801 (grub_machine_fini): Call grub_grubnet_fini.
7802 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7803 network.
7804 (grub_ieee1275_get_aliasdevname): New function.
7805 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7806 Add unofficial Solaris network info.
7807 (grub_multiboot_make_mbi): Likewise.
7808 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7809 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7810 * include/grub/device.h (grub_fs): Removed.
7811 * include/grub/err.h (grub_err_t): Add network-related values.
7812 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7813 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7814 (grub_ieee1275_get_aliasdevname): New proto.
7815 * include/grub/net.h: Rewritten.
423a1849 7816
031f22a0
VS
78172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7820 names.
7821
4388ca72
VS
78222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7825 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7826 it truncates the output.
7827 Reported by: Ximin Luo.
7828
98e2f506
VS
78292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7832
2a5e94d8
VS
78332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7836 partmap before abstraction.
7837
535c1910
AK
78382011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7839
7840 * util/grub-mkconfig_lib.in: Add missing quotes.
7841
bc09e1a2
VS
78422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7845 old method if mountinfo would return /dev/root and /dev/root doesn't
7846 exist.
7847
290766fb
VS
78482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 ZFS zlib support
7851
7852 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7853 (decomp_table): Add zlib entries.
7854 (zio_read): USe 8 bits for compression function rather than 3.
7855 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7856
78572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * grub-core/disk/ahci.c: Add missing license statements.
7860 * grub-core/fs/romfs.c: Likewise.
7861 * grub-core/lib/ia64/setjmp.S: Likewise.
7862 * grub-core/loader/i386/pc/freedos.c: Likewise.
7863 * grub-core/loader/ia64/efi/linux.c: Likewise.
7864 * grub-core/video/colors.c: Likewise.
7865 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7866
5ab3f48a
VS
78672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 AHCI support.
7870
7871 * grub-core/Makefile.core.def (ata_pthru): Removed.
7872 (ahci): New module.
7873 (pata): Likewise.
7874 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7875 on unload.
7876 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7877 readwrite.
7878 (grub_hdparm_do_check_powermode_cmd): Likewise.
7879 (grub_hdparm_do_smart_cmd): Likewise.
7880 (grub_hdparm_set_val_cmd): Likewise.
7881 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7882 * grub-core/disk/ahci.c: New file.
7883 * grub-core/disk/ata.c: Factor out the low-level part into ...
7884 * grub-core/disk/pata.c: ... here.
7885 * grub-core/disk/ata_pthru.c: Contents moved to ...
7886 * grub-core/disk/pata.c: ... here.
7887 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7888 (grub_scsi_iterate): Use grub_scsi_names.
7889 (grub_scsi_open): Likewise.
7890 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7891 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7892 (grub_ata_regs_t): New struct.
7893 (grub_disk_ata_pass_through_parms): Likewise.
7894 (grub_ata_device): Renamed to ...
7895 (grub_ata): ... this.
7896 (grub_ata_dev): New struct.
7897 Removed all low-level inline functions.
7898 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7899 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7900 iterate hooks and open. All users updated.
7901 * util/grub-install.in: Handle AHCI disk module.
7902
c31dc5f5
SJ
79032011-06-23 Szymon Janc <szymon@janc.net.pl>
7904
7905 Add support for DRI and RSTn markers in JPEG files.
7906
7907 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7908 (JPEG_MARKER_RST0): Likewise.
7909 (JPEG_MARKER_RST1): Likewise.
7910 (JPEG_MARKER_RST2): Likewise.
7911 (JPEG_MARKER_RST3): Likewise.
7912 (JPEG_MARKER_RST4): Likewise.
7913 (JPEG_MARKER_RST5): Likewise.
7914 (JPEG_MARKER_RST6): Likewise.
7915 (JPEG_MARKER_RST7): Likewise.
7916 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7917 (grub_jpeg_decode_dri): New function.
7918 (grub_jpeg_decode_sos): Move image data related part into
7919 grub_jpeg_decode_data function.
7920 (grub_jpeg_decode_data): New function.
7921 (grub_jpeg_reset): New function.
7922 (grub_jpeg_decode_jpeg): Handle new markers.
7923
fe12fd5b
VS
79242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * util/ieee1275/ofpath.c (check_sas): Close fd.
7927 (main): Free of_path.
7928 Reported by: David Volgyes <dvolgyes>.
7929
03147f46
VS
79302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7933 Reported by: David Volgyes <dvolgyes>.
7934
cad3237f
VS
79352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7938 file after stat.
7939 Reported by: David Volgyes <dvolgyes>.
7940
13548d26
VS
79412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7944
7945 Reported by: David Volgyes <dvolgyes>.
7946
e061a1b5
VS
79472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7950 Prevent memory leak.
7951
1abe47dc
VS
79522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7955 (main): Close file.
e061a1b5 7956 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7957
fbc62666
VS
79582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7961 to continue if allocation is failed.
7962
7963 Reported by: David Volgyes <dvolgyes>.
7964
e98c83e9
DV
79652011-06-23 David Volgyes <dvolgyes>
7966
7967 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7968 dereference.
7969
a199a8cd
VS
79702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 Fix spurious warning.
7973
7974 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7975 (acorn_partition_map_find): Use .bin member.
7976
e2d1dba0
VS
79772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7980 /dev/root as a valid device.
7981
8a5d6919
JM
79822011-06-23 Jim Meyering <meyering@redhat.com>
7983
e2d1dba0
VS
7984 Avoid NULL deref in grub_device_open.
7985
8a5d6919
JM
7986 * grub-core/kern/device.c (grub_device_open): Don't dereference
7987 a NULL pointer upon failed grub_env_get.
7988
f7db6f4a
VS
79892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 Support non-512B sectors and agglomerate reads.
7992
7993 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7994 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7995 (disk_io_guid): Removed.
7996 (make_devices): Locate solely by BlockIO.
7997 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7998 (grub_efidisk_read): Use read_blocks.
7999 (grub_efidisk_write): Use write_blocks.
8000 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8001 log_sector_size.
8002 (get_safe_sectors): Handle non-512B sectors.
8003 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8004 sectors.
8005 (grub_biosdisk_write): Handle non-512B sectors.
8006 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8007 (grub_scsi_read): Remove special non-512B block handling (now handled
8008 one level up).
8009 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8010 and do sanity checks.
8011 (grub_disk_adjust_range): Handle non-512B sectors.
8012 (transform_sector): New function.
8013 (grub_disk_read_small): Likewise.
8014 (grub_disk_read): Rewritten.
8015 (grub_disk_write): Handle non-512B sectors.
8016 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8017 log_sector_size.
8018 (open_device): Use log_sector_size.
8019 (grub_util_biosdisk_read): Likewise.
8020 (grub_util_biosdisk_write): Likewise.
8021 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8022 non-512B sectors.
8023 (pc_partition_map_embed): Likewise.
8024 * include/grub/disk.h (grub_disk): New field log_sector_size.
8025 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8026 (GRUB_DISK_CACHE_BITS): Increased to 6.
8027 * util/grub-fstest.c (fstest): New command testload.
8028 (argp_parser): Likewise.
8029
881ac815
RM
80302011-06-16 Robert Millan <rmh@gnu.org>
8031
8032 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8033 `ata' driver on kernel of FreeBSD 9.
8034
8035 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8036 (get_ataraid_disk_name): New functions.
8037 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8038 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8039 get_ataraid_disk_name() and get_ada_disk_name().
8040
1e9aef7d
CW
80412011-06-13 Colin Watson <cjwatson@ubuntu.com>
8042
8043 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8044 input format.
8045
351c7c8a
CW
80462011-05-29 Colin Watson <cjwatson@ubuntu.com>
8047
8048 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8049 `ftp.gnu.org' for `alpha.gnu.org'.
8050
6b4e6430
CW
80512011-05-27 Colin Watson <cjwatson@ubuntu.com>
8052
8053 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8054 partitions under /dev/disk/by-id/.
8055
c64db050
CW
80562011-05-27 Colin Watson <cjwatson@ubuntu.com>
8057
8058 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8059 after ten consecutive open failures. Scanning all the way up to
8060 10000 is excessive and can cause serious performance problems in
8061 some configurations.
8062 Fixes Ubuntu bug #787461.
8063
245f4aba
VS
80642011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8067 opening new one.
8068
f767c929
VS
80692011-05-21 Colin Watson <cjwatson@ubuntu.com>
80702011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 Don't stat devices unless we have to.
8073
8074 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8075 dir == /dev/mapper.
8076 (grub_guess_root_device): Use already known os_dev if possible.
8077 * grub-core/kern/emu/hostdisk.c
8078 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8079 if device is known to be a dm one.
8080
f35fa3a6
CW
80812011-05-20 Colin Watson <cjwatson@ubuntu.com>
8082
8083 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8084 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8085 Reported by: Pawel Tecza.
8086
9a79fcf2
VS
80872011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8090 (lsefisystab): Likewise.
8091 (lssal): Likewise.
8092 (lsefimmap): Likewise.
8093 (hdparm): Enable on qemu-mips.
8094 (setjmp): Add ia64 nodist.
8095 (serial): Simplify tags.
8096
63e3eea9
CW
80972011-05-18 Colin Watson <cjwatson@ubuntu.com>
8098
8099 * Makefile.util.def (grub-ofpathname): Install manual page.
8100
09728256
CW
81012011-05-18 Colin Watson <cjwatson@ubuntu.com>
8102
8103 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8104
8b63a142
CW
81052011-05-18 Colin Watson <cjwatson@ubuntu.com>
8106
8107 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8108
e775d8ed
VS
81092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8112 into dprintf.
8113
bf947d36
VS
81142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 Use full 64-bit division.
8117
8118 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8119 (grub_divmod64): ... this.
8120 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8121 version.
8122
b84f26c5
CW
81232011-05-18 Colin Watson <cjwatson@ubuntu.com>
8124
8125 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8126 `source'.
8127
5626056f
CW
81282011-05-18 Colin Watson <cjwatson@ubuntu.com>
8129
8130 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8131 to avoid accidents when debugging with 'sh -x'.
8132 * grub-core/gensyminfo.sh.in: Likewise.
8133 * tests/example_scripted_test.in: Likewise.
8134 * tests/grub_cmd_regexp.in: Likewise.
8135 * tests/grub_script_blanklines.in: Likewise.
8136 * tests/grub_script_dollar.in: Likewise.
8137 * tests/grub_script_expansion.in: Likewise.
8138 * tests/grub_script_final_semicolon.in: Likewise.
8139 * tests/partmap_test.in: Likewise.
8140 * tests/util/grub-shell-tester.in: Likewise.
8141 * tests/util/grub-shell.in: Likewise.
8142
e2965f4a
CW
81432011-05-18 Colin Watson <cjwatson@ubuntu.com>
8144
8145 Move gfxmenu color handling to video, so that gfxterm can use it
8146 too.
8147
8148 * grub-core/gfxmenu/named_colors.c: Move to ...
8149 * grub-core/video/colors.c: ... here. Rename
8150 grub_gui_get_named_color to grub_video_get_named_color.
8151 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8152 * grub-core/video/colors.c (my_isxdigit): ... here.
8153 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8154 Move to ...
8155 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8156 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8157 to ...
8158 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8159
8160 * include/grub/gui.h (grub_gui_color_t): Move to ...
8161 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8162 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8163 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8164 * include/grub/gui.h (grub_gui_map_color): Move to ...
8165 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8166 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8167 to ...
8168 * include/grub/video.h (grub_video_get_named_color): ... here.
8169 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8170 * include/grub/video.h (grub_video_parse_color): ... here.
8171
8172 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8173 video/colors.c.
8174 (gfxmenu): Remove gfxmenu/named_colors.c.
8175 (video) [videomodules]: Add video/colors.c.
8176
8177 Add a background_color command.
8178
8179 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8180 function.
8181 (GRUB_MOD_INIT): Register background_color command.
8182 (GRUB_MOD_FINI): Unregister background_color command.
8183 (redraw_screen_rect): Allow blend/replace of text layer to be
8184 controlled independently from whether there is a background bitmap.
8185 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8186 changing bitmap.
8187
1e4b4390
VS
81882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8189
26618ff0
VS
8190 Patch BPB in ntldr and chainloader --bpb.
8191
1e4b4390
VS
8192 * grub-core/fs/fat.c: Include grub/fat.h.
8193 (grub_fat_bpb): Moved to ...
8194 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8195 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8196 grub/ntfs.h.
8197 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8198 Moved from here...
8199 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8200 here.
8201 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8202 New function.
8203 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8204 (GRUB_MOD_INIT): Show --bpb.
8205 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8206 * grub-core/normal/main.c (features): New variable.
8207 (GRUB_MOD_INIT): Set feature_* variables.
8208 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8209 proto.
8210 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8211
cf02731e
VS
82122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8215 for cleanness.
8216
e3a1073f
VS
82172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 FreeDOS direct loading support.
8220
8221 * docs/grub.texi (Supported OS): Add FreeDOS.
8222 * grub-core/Makefile.core.def (freedos): New module.
8223 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8224 variable.
8225 (grub_relocator16_boot): Handle %ebx.
8226 * grub-core/lib/i386/relocator16.S: Likewise.
8227 * grub-core/loader/i386/pc/freedos.c: New file.
8228
05caa461
VS
82292011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 Long Linux command line support.
8232
8233 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8234 (maximal_cmdline_size): New variable.
8235 (allocate_pages): Use maximal_cmdline_size.
8236 (grub_cmd_linux): Set and use maximal_cmdline_size.
8237 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8238 (allocate_pages): Use maximal_cmdline_size.
8239 (grub_cmd_linux): Set and use maximal_cmdline_size.
8240 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8241 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8242 and cmdline_size.
8243
a2491e23
VS
82442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
82452011-05-18 Colin Watson <cjwatson@ubuntu.com>
8246
8247 Improve devmapper support
8248
8249 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8250 (grub_util_is_lvm): New function.
8251 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8252 than lvm if not dmraid.
8253 Handle mapped md nodes.
8254 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8255 (grub_util_device_is_mapped): ... this. Make always available. All users
8256 updated.
8257 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8258 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8259 dmraid nodes.
8260 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8261
6ad6223e
VS
82622011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8265
8266 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8267 * grub-core/modinfo.sh.in: New file.
8268 * grub-core/Makefile.core.def (modinfo.sh): New script.
8269 * util/grub-mknetdir.in: Use modinfo.sh.
8270 * util/grub-mkrescue.in: Likewise.
8271
543a8f6e
VS
82722011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8275 Fix potential usage of Elf32 instead of Elf64 when compiling on
8276 32-bit architecture. Add endianness macros while on it.
8277
4959e111
VS
82782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 Use mipsel- rather than mips- in directories involving mipsel ports to
8281 allow both endiannesses coexist.
8282
8283 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8284 mips. All conditions adjusted.
8285 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8286 variable.
8287 * util/grub-install.in: Adjust conditions to take renaming into account.
8288 * util/grub-mkimage.c (image_targets): Likewise. New target
8289 mips-qemu_mips-elf for bigendian mips.
8290
35341bbc
VS
82912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 Avoid unnecessary copying on MIPS.
8294
8295 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8296 early if src == dest.
8297 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8298 compression is none.
8299
b772baed
VS
83002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 Reduce memory footprint on SGI by putting modules before the kernel
8303 as opposed to after.
8304
8305 * grub-core/Makefile.core.def (kernel): Increase linking address.
8306 (none_decompress): Likewise.
8307 (xz_decompress): Likewise.
8308 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8309 address.
8310 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8311 layout change.
8312 (grub_arch_modules_addr): New function.
8313 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8314 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8315 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8316 here.
8317 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8318 (grub_total_modules_size): ... this. Make global.
8319 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8320 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8321 New definition.
8322 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8323 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8324 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8325 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8326 * util/grub-mkimage.c (image_target_desc): New flag
8327 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8328 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8329 (generate_image): Handle images with modules before kernel.
8330
566a1917
VS
83312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 Prevent potential loss of memory map by overwrite on qemu-mips.
8334
8335 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8336 Save ram size in $s4.
8337 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8338 All users changed to grub_arch_memsize.
8339 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8340 Loongson.
8341 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8342 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8343 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8344 external variable.
8345
5d420cd9
CW
83462011-05-17 Colin Watson <cjwatson@ubuntu.com>
8347
8348 * .bzrignore: Remove grub-dumpbios.
8349
d064b830
CW
83502011-05-17 Colin Watson <cjwatson@ubuntu.com>
8351
8352 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8353 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8354 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8355 existing options which append).
8356 * docs/grub.texi (Simple configuration): Document new options.
8357 Reported by: Ian Jackson. Fixes Debian bug #617538.
8358
3ca2b466
CW
83592011-05-17 Colin Watson <cjwatson@ubuntu.com>
8360
8361 * util/grub-fstest.c (cmd_cat): New function.
8362 (fstest): Handle CMD_CAT.
8363 (options): Add cat.
8364 (argp_parser): Handle cat.
8365
24c9143a
CW
83662011-05-17 Colin Watson <cjwatson@ubuntu.com>
8367
8368 * Makefile.util.def (grub-bin2h): Don't install.
8369 * docs/man/grub-bin2h.h2m: Remove.
8370
90f7ac19
VS
83712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8374 place.
8375
8d4a5178
VS
83762011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 Reenable qemu-mips port.
8379
8380 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8381 Fix small arc bug while on it.
8382 * gentpl.py: Handle qemu_mips.
8383 * grub-core/Makefile.am: Likewise.
8384 * grub-core/Makefile.core.def: Likewise.
8385 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8386 inappropriate includes.
8387 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8388 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8389 * grub-core/kern/main.c (grub_modules_get_end)
8390 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8391 * grub-core/kern/mips/qemu-mips: Moved to ..
8392 * grub-core/kern/mips/qemu_mips: ... this.
8393 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8394 (grub_machine_init): Call terminfo_init and serial_init.
8395 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8396 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8397 New variable.
8398 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8399 parameter passing.
8400 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8401 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8402 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8403 * include/grub/mips/qemu_mips/cmos.h: New file.
8404 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8405 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8406 Removed.
8407 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8408 Use correct mips-style address.
8409 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8410 (GRUB_TICKS_PER_SECOND): Removed.
8411 (grub_get_rtc): Likewise.
8412 (grub_cpu_idle): Likewise.
8413 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8414 New definition.
8415 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8416 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8417 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8418 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8419 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8420 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8421 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8422 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8423
400b9371
VS
84242011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 SGI ARCS port.
8427
8428 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8429 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8430 platforms.
8431 * configure.ac: New target mips-arc.
8432 * gentpl.py: Likewise.
8433 * grub-core/Makefile.am: Likewise.
8434 * grub-core/Makefile.core.def: Likewise.
8435 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8436 (none_decompress): Likewise.
8437 (lsdev): New module.
8438 (datetime): Use lib/arc/datetime.c on ARC.
8439 (part_dvh): New module.
8440 * grub-core/commands/arc/lsdev.c: New file.
8441 * grub-core/disk/arc/arcdisk.c: Likewise.
8442 * grub-core/kern/mips/arc/init.c: Likewise.
8443 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8444 aligned addresses.
8445 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8446 support.
8447 (grub_arch_dl_relocate_symbols): Likewise.
8448 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8449 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8450 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8451 platforms.
8452 * grub-core/lib/arc/datetime.c: New file.
8453 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8454 pci.h on non-loongson.
8455 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8456 (grub_linux_boot): Set unused registers to 0.
8457 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8458 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8459 * grub-core/mmap/mips/uppermem.c: ...here.
8460 * grub-core/partmap/dvh.c: New file.
8461 * grub-core/term/arc/console.c: Likewise.
8462 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8463 (grub_terminfo_set_current): Add terminal "arc".
8464 (grub_terminfo_readkey): Support ARC sequences.
8465 * include/grub/arc/arc.h: New file.
8466 * include/grub/arc/console.h: Likewise.
8467 * include/grub/disk.h (grub_disk_dev_id): Add
8468 GRUB_DISK_DEVICE_ARCDISK_ID.
8469 * include/grub/mips/arc/kernel.h: New file.
8470 * include/grub/mips/arc/memory.h: Likewise.
8471 * include/grub/mips/arc/time.h: Likewise.
8472 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8473 * include/grub/mips/kernel.h (grub_halt): ... here.
8474 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8475 here...
8476 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8477 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8478 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8479 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8480 proto.
8481 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8482 from here ...
8483 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8484 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8485 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8486 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8487 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8488 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8489 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8490 (grub_phys_addr_t): Moved from here ...
8491 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8492 (grub_vtop): Moved from here ...
8493 * include/grub/mips/memory.h (grub_vtop): ... here.
8494 (grub_map_memory): Moved from here ...
8495 * include/grub/mips/memory.h (grub_map_memory): ... here.
8496 (grub_unmap_memory): Moved from here ...
8497 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8498 (grub_machine_mmap_iterate): Moved from here ...
8499 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8500 (grub_mmap_get_lower): Moved from here ...
8501 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8502 (grub_mmap_get_upper): Moved from here ...
8503 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8504 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8505 here ...
8506 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8507 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8508 here ...
8509 * include/grub/mips/time.h (grub_get_rtc): ... here.
8510 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8511 here ...
8512 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8513 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8514 here ...
8515 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8516 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8517 definition.
8518 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8519 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8520 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8521 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8522 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8523 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8524 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8525 (GRUB_MACHINE_LINK_ADDR): Likewise.
8526 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8527 to 6.
8528 * util/grub-install.in: Run dvhtool on ARC.
8529 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8530 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8531
c8ecc840
VS
85322011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8535 blocks.
8536
153a4b55
VS
85372011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8540 after enabling port.
8541
ff44d107
VS
85422011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 Skip incorrect USB devices.
8545
8546 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8547 configcnt == 0.
8548 * include/grub/usb.h (grub_usb_err_t): New enum value
8549 GRUB_USB_ERR_BADDEVICE.
8550
638dbe4f
VS
85512011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 Fuloong video init support.
8554
8555 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8556 well.
8557 (grub_vga_read_arx): New function.
8558 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8559 definition.
8560 (framebuffer): New members io, mmioptr and mmiobase.
8561 (read_sis_cmd): New function.
8562 (write_sis_cmd): Likewise.
8563 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8564 rather than 640x400.
8565 * grub-core/video/sis315_init.c: New file.
8566
c3fc520c
VS
85672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8570 non-loongson.
8571 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8572 to grub_dl_register_symbol.
8573
67b1e5c9
VS
85742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 Fix compilation errors.
8577
8578 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8579 potentially unused.
8580 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8581 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8582 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8583 to loongson machines.
8584
b756f75f
VS
85852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 Several FS mtime support.
8588
8589 * grub-core/fs/affs.c (grub_affs_time): New struct.
8590 (grub_affs_file): New field mtime.
8591 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8592 type. Removed 'size'. New field 'di'. All users updated.
8593 (grub_affs_mount): Simplify checsum checking.
8594 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8595 (grub_affs_dir): Handle mtime.
8596 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8597 (grub_cpio_dir): Likewise.
8598 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8599 (grub_hfs_filerec): New field mtime.
8600 (grub_hfs_dir): Handle mtime.
8601 (grub_hfs_mtime): New function.
8602 (grub_hfs_fs): Register grub_hfs_mtime.
8603 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8604 (grub_iso9660_dir): New field mtime.
8605 (grub_fshelp_node): New field dirent.
8606 (iso9660_to_unixtime): New function.
8607 (iso9660_to_unixtime2): Likewise.
8608 (grub_iso9660_read_symlink): Use node->dirent.
8609 (grub_iso9660_iterate_dir): Likewise.
8610 (grub_iso9660_dir): Set mtime.
8611 (grub_iso9660_mtime): New function.
8612 (grub_iso9660_fs): Register grub_iso9660_mtime.
8613 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8614 (grub_jfs_inode): New fields atime, ctime and mtime.
8615 (grub_jfs_dir): Set mtime.
8616 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8617 * grub-core/fs/ntfs.c (list_file): Set mtime.
8618 (grub_ntfs_dir): Likewise.
8619 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8620 (grub_reiserfs_iterate_dir): Set mtime.
8621 (grub_reiserfs_dir): Likewise.
8622 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8623 (grub_fshelp_node): Likewise.
8624 (grub_sfs_iterate_dir): Set mtime.
8625 (grub_sfs_dir): Likewise.
8626 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8627 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8628 (grub_xfs_inode): New fields atime, mtime, ctime.
8629 (grub_xfs_dir): Set mtime.
8630 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8631 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8632 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8633
8634 Support UDF symlinks.
8635
8636 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8637 (grub_ufs_read_symlink): New function. All users updated.
8638
8639 Check amiga partmap checksum.
8640
8641 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8642 (grub_amiga_partition): Likewise.
8643 (amiga_partition_map_checksum): New function.
8644 (amiga_partition_map_iterate): Check checksum.
8645
5470225d
VS
86462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 ROMFS support.
8649
8650 * Makefile.util.def (libgrubmods.a): Add romfs.
8651 * grub-core/Makefile.core.def (romfs): New module.
8652 * grub-core/fs/romfs.c: New file.
8653
d4680a35
VS
86542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 Squashfs v4 support.
8657
8658 * Makefile.util.def (libgrubmods.a): Add squash4.
8659 * grub-core/Makefile.core.def (squash4): New module.
8660 * grub-core/fs/squash4.c: New file.
8661 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8662 disk_input_start, disk_input.
8663 (get_byte): Handle disk_input.
8664 (grub_zlib_disk_read): New function.
8665 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8666
bcb18e74
FZ
86672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
86682011-05-15 Feiran Zheng <famcool@gmail.com>
8669
8670 * Makefile.util.def (libgrubmods.a): Add minix3.
8671 * grub-core/Makefile.core.def (minix3): New module.
8672 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8673 (GRUB_MINIX_BSIZE): Removed.
8674 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8675 (grub_minix_ino_t): New type.
8676 (grub_minix_le_to_cpu_ino): New macro.
8677 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8678 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8679 (grub_minix_data): New field block_size.
8680 (grub_minix_read_file): Handle 64-bit correctly.
8681 * grub-core/fs/minix3.c: New file.
8682
32297d5f
TG
86832011-05-15 Tristan Gingold <gingold@free.fr>
86842011-05-15 Robert Millan <rmh.grub@aybabtu.com>
86852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 IA64 support.
8688
8689 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8690 * configure.ac: Add ia64-efi target.
8691 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8692 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8693 * gentpl.py: Add ia64_efi platform.
8694 Rename x86_efi to efi and Add ia64-efi. All users updated.
8695 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8696 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8697 Remove kern/generic/rtc_get_time_ms.c on EFI.
8698 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8699 kern/ia64/dl_helper.c on ia64-efi.
8700 Add kern/emu/cache.c on emu.
8701 (linux): Use on loader/ia64/efi/linux.c on ia64.
8702 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8703 whether symbol is a function.
8704 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8705 (grub_symbol): New field 'isfunc'.
8706 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8707 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8708 (grub_dl_load_segments): Place all sections into the same region.
8709 [__ia64__]: Create trampolines and got.
8710 [GRUB_MACHINE_EMU]: Call mprotect.
8711 (grub_dl_resolve_symbols): Resolve symbol type as well.
8712 [__ia64__]: Create function descriptors.
8713 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8714 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8715 (grub_get_rtc): New function.
8716 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8717 * grub-core/kern/emu/cache.S: Renamed to ...
8718 * grub-core/kern/emu/cache_s.S: ... this.
8719 [__ia64__]: Add a nop.
8720 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8721 [__ia64__]: New function.
8722 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8723 * grub-core/kern/ia64/dl.c: New file.
8724 * grub-core/kern/ia64/dl_helper.c: Likewise.
8725 * grub-core/kern/ia64/efi/init.c: New file.
8726 * grub-core/kern/ia64/efi/startup.S: Likewise.
8727 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8728 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8729 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8730 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8731 * grub-core/loader/ia64/efi/linux.c: New file.
8732 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8733 (GRUB_MOD_DEP): Likewise.
8734 (grub_dl) [__ia64__]: New fields got and tramp.
8735 (grub_dl): New field 'base'.
8736 (grub_dl_register_symbol): New argument isfunc. All users updated.
8737 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8738 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8739 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8740 (grub_ia64_dl_get_tramp_got_size): New proto.
8741 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8742 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8743 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8744 * include/grub/efi/api.h: Skip call wrappers on ia64.
8745 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8746 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8747 * include/grub/elf.h (ELF_ST_INFO): New definition.
8748 * include/grub/ia64/efi/kernel.h: New file.
8749 * include/grub/ia64/efi/memory.h: Likewise.
8750 * include/grub/ia64/efi/time.h: Likewise.
8751 * include/grub/ia64/kernel.h: Likewise.
8752 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8753 * include/grub/ia64/time.h: New file.
8754 * include/grub/ia64/types.h: Likewise.
8755 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8756 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8757 New protos.
8758 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8759 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8760 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8761 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8762 All users updated.
8763 (EFI64_HEADER_SIZE): New definition. All users updated.
8764 (image_targets): Add ia64-efi.
8765 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8766 jumpers_addr. All users updated.
8767 Create function descriptors.
8768 (count_funcs): New function.
8769 (unaligned_uint32): New struct.
8770 (MASK20): New definition.
8771 (MASK19): Likewise.
8772 (MASKF21): Likewise.
8773 (add_value_to_slot_20b): New function.
8774 (add_value_to_slot_21_real): Likewise.
8775 (add_value_to_slot_21): Likewise.
8776 (ia64_kernel_trampoline): New struct.
8777 (nopm): New variable.
8778 (jump): Likewise.
8779 (make_trampoline): New function.
8780 (relocate_addresses): Handle ia64.
8781 (make_reloc_section): Likewise.
8782 (load_image): Likewise.
8783
983b414d
VS
87842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8787 warning. Move variables before code while on it.
8788
5d063cdc
VS
87892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 Fuloong support.
8792
8793 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8794 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8795 * grub-core/boot/mips/loongson/fuloong.S: New file.
8796 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8797 Explicitly init CS5536.
8798 [FULOONG]: Don't use serial until CS5536 is available.
8799 Set GPIO based on dumps.
8800 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8801 [FULOONG]: Handle GPIO and memory controller differences.
8802 Parse machine type in $a2.
8803 * grub-core/boot/mips/startup_raw.S: Determine and save the
8804 architecture.
8805 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8806 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8807 init on architecture type.
8808 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8809 SIS315E. Don't init at_keyboard on fuloong.
8810 (grub_halt): Support Fuloong.
8811 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8812 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8813 (loongson_machtypes): New array.
8814 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8815 type.
8816 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8817 config. All users updated. Handle CS5536 serial.
8818 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8819 default port on machine type. Register serial as inactive.
8820 * grub-core/video/sis315pro.c: New file.
8821 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8822 definition.
8823 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8824 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8825 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8826 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8827 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8828 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8829 to ...
8830 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8831 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8832 definition.
8833 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8834 (grub_arch_machine): New extern var.
8835 * include/grub/mips/loongson/serial.h
8836 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8837 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8838 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8839 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8840 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8841 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8842 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8843 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8844 * include/grub/term.h (grub_term_register_input_inactive): New inline
8845 function.
8846 (grub_term_register_output_inactive): Likewise.
8847 * include/grub/video.h (grub_video_driver_id): New value
8848 GRUB_VIDEO_DRIVER_SIS315PRO.
8849 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8850 New field "names". All users updated.
8851 New field value IMAGE_FULOONG_FLASH.
8852 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8853
6ada82d1
JU
88542011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8855
8856 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8857 and add some clarification.
8858
90c571a4
VS
88592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8862 platforms if kernel is compressed.
8863
de04eecf
VS
88642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8867 unused modules since currently referrence counter isn't reliable and
8868 there isn't much memory to recover there anyway.
8869
57688121
VS
88702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8873 rather than resetting it to allow modules to reference themselves
8874 in init.
8875
3d2c7e35
VS
88762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8879 counter on dependencies since grub_dl_unref already handles this.
8880
b25db218
VS
88812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8884 on error if not already done.
8885
25a45338
VS
88862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Fix few potential memory misusage.
8889
8890 * grub-core/font/font.c (load_font_index): Don't free char_index to
8891 avoid double free.
b25db218
VS
8892 (grub_font_load): Zero-fill font at alloc for safety.
8893 Close file on error.
8894 (free_font): Free bmp_idx.
25a45338 8895
0cac83df
VS
88962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * docs/grub.texi (Installation): Fix several outdated claims.
8899
2217a143
VS
89002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 Handle module_license on windows.
8903
8904 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8905 sections shifted.
8906 (insert_string): Make argument const char * instead of char *.
8907 (write_section_data): Handle long section names.
8908 Handle module_license.
8909
d4de6b01
VS
89102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8913 handle class-free menuentries.
8914 (grub_normal_add_menu_entry): Add a check to be sure.
8915
4c2a3b43
VS
89162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8919 PgUp and PgDown.
8920
85c6210f
VS
89212011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * configure.ac: Bump version to 1.99.
8924
36084912
VS
89252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 Give ATA device a bit more time on first try in order to allow disks
8928 to spin up.
8929
8930 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8931 if dev->present is 1. Reset dev->present on failure.
8932 (grub_ata_device_initialize): Set dev->present to 1.
8933 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8934 (grub_ata_device): New member 'present'.
8935
bda0e219
VS
89362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * util/grub-mkimage.c (generate_image): Update hash.
8939
19e1c41b
VS
89402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 Flush caches on DMA memory.
8943
8944 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8945 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8946 (grub_dma_free): Likewise.
8947 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8948
91bbcc0c
VS
89492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8952 to avoid asm treating ld and sd as macros.
8953
60ddfad3
VS
89542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8957 decompressor.
8958
a298aa04
VS
89592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8962 grub_decompress_core since later would fail if grub_decompress_core
8963 is too far.
8964
9b44feca
VS
89652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8968 R_MIPS_JALR since it's used by newer compiler.
8969
56dbe7b4
VS
89702011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8973
52856af2
VS
89742011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8977 file_path to 0 for surety.
8978 (grub_chainloader_boot): Set exit_data to NULL.
8979 Unset the loader once done.
8980 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8981
9c9bfc6d
VS
89822011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8985 unknown key into a dprintf.
8986
dd94a3df
VS
89872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8990 on first non-existant partition.
8991
fa68d99c
VS
89922011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8995 openning fails.
8996 Reported by: Mark Korenberg.
8997
157effb7
VS
89982011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9001 overflow.
9002
ea75312f
VS
90032011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9006 before closing to ensure that it will be readable by grub-setup.
9007
072b5d31
VS
90082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9011 (devpath_1): Use MAKE_PIWG_PATH.
9012 (devpath_2): Likewise.
9013 (devpath_3): Likewise.
9014 (devpath_4): Likewise.
9015 (devpath_5): Likewise.
9016 (devpath_6): Likewise.
9017
9018 The appleldr.mod was checked that to be binary identical to previous
9019 version.
9020
7fae0051
Z
90212011-05-05 Zach <mikezackles>
9022
9023 Support 2010 Macbooks.
9024
9025 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9026 (devs): Add devpath_6.
9027
7c515bee
VS
90282011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9031 /dev/random. /dev/urandom is good enough for our purposes (salting).
9032
ed660bd8
VS
90332011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9036
ee5614b7
VS
90372011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9040 hexadecimal.
9041
664889a6
VS
90422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9045 and not 0 on failure.
9046
bd405bbc
CW
90472011-05-03 Colin Watson <cjwatson@ubuntu.com>
9048
9049 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9050 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9051 disk; otherwise grub_fs_probe will not fall back to the next
9052 filesystem.
9053 (grub_pxefs_open): Likewise, for consistency.
9054 Reported and tested by: Ezekiel Grave.
9055
4ebff753
CW
90562011-05-03 Colin Watson <cjwatson@ubuntu.com>
9057
9058 * tests/partmap_test.in: Don't hardcode path to parted.
9059 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9060
8f942553
CW
90612011-05-01 Colin Watson <cjwatson@ubuntu.com>
9062
9063 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9064 of `ls' to find out which devices are available.
9065
3c62402d
VS
90662011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9069 than source address for efi mmap buffer.
9070
723f63f2
VS
90712011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9074 wrong action on non-detecting the magic.
9075
68797f92
VS
90762011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9079 already supplied by another part of the module (fixes compilation on
9080 FreeBSD).
9081
6be8715d
VS
90822011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9085 match the one used by mdadm.
9086
e91dba5b
CW
90872011-04-21 Colin Watson <cjwatson@ubuntu.com>
9088
9089 * po/README: Add instructions for creating po/LINGUAS.
9090
c85140b3
CW
90912011-04-21 Colin Watson <cjwatson@ubuntu.com>
9092
9093 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9094 #551428.
9095
9096 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9097 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9098 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9099 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9100 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9101 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9102 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9103 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9104 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9105 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9106 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9107 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9108 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9109 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9110 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9111 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9112 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9113 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9114 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9115 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9116 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9117 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9118
92051871
CW
91192011-04-21 Colin Watson <cjwatson@ubuntu.com>
9120
9121 * grub-core/kern/emu/getroot.c
9122 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9123 test that was incorrectly reintroduced in r3214.
9124 Reported by: Ian Dall. Fixes Savannah bug #33133.
9125
b13f79a4
CW
91262011-04-21 Colin Watson <cjwatson@ubuntu.com>
9127
9128 Fix stack pointer handling in 16-bit relocator.
9129
9130 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9131 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9132 Fixes Ubuntu bug #683904.
9133
9b710a88
VS
91342011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * configure.ac: Bump version to 1.99~rc2.
9137
d97e7b59
VS
91382011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9141 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9142 * grub-core/lib/x86_64/setjmp.S: Likewise.
9143 * grub-core/lib/mips/setjmp.S: Likewise.
9144 * grub-core/lib/powerpc/setjmp.S: Likewise.
9145 * grub-core/lib/sparc64/setjmp.S: Likewise.
9146
0624551c
VS
91472011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9150 * grub-core/lib/efi/datetime.c: Likewise.
9151
e8f28d4c
VS
91522011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9155 New function.
9156 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9157 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9158 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9159
bba79a15
VS
91602011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9163 bitmap.
9164 (grub_gfxterm_term_init): Likewise.
9165
abc474ef
VS
91662011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 Take into account the decorations the computing menu entry width.
9169
9170 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9171 (grub_gfxmenu_create_box): Register get_border_width.
9172 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9173 if available.
9174 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9175 get_border_width.
9176
e74b3947
EP
91772011-04-18 Endres Puschner <code@e7p.de>
9178
9179 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9180 Don't skip first class.
9181
34faa595
VS
91822011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9185 chunks.
9186 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9187
93a777e3
VS
91882011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 Complete 64-bit division support.
9191
9192 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9193 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9194 * include/grub/misc.h (grub_divmod64): Rename to ...
9195 (grub_divmod64_full): ... this.
9196 (grub_divmod64): New inline function.
9197
a5102d94
VS
91982011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9201
f3fb7b36
VS
92022011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9205 performing the necessary test.
9206
9ac718b0
VS
92072011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9210 (kfreebsd.elf): Likewise.
9211 (pc-chainloader.elf): Likewise.
9212 (ntldr.elf): Likewise.
9213
50d2cc5a
VS
92142011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 Identify RAID by its UUID rather than (guessed) name.
9217
9218 * grub-core/disk/raid.c (ascii2hex): New function.
9219 (grub_raid_open): Accept mduuid/%s specification.
9220 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9221 (get_mdadm_uuid): ... this.
9222 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9223
e03f7bea
VS
92242011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9227 to negative size.
9228
e74c3112
CW
92292011-04-13 Colin Watson <cjwatson@ubuntu.com>
9230
9231 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9232 btrfs subvolume.
9233 * util/grub.d/20_linux_xen.in: Likewise.
9234
78fa584f
CW
92352011-04-13 Colin Watson <cjwatson@ubuntu.com>
9236
9237 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9238 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9239
9240 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9241 Build a list of relevant visible mounts using the mnt_id and
9242 parent_mnt_id fields, and then scan that list at the end.
9243
9d5f8162
CW
92442011-04-12 Colin Watson <cjwatson@ubuntu.com>
9245
9246 * docs/grub.texi (normal): New section.
9247 (normal_exit): New section.
9248 (Embedded configuration): Add reference to normal.
9249 (GRUB only offers a rescue shell): Likewise.
9250 * docs/grub-dev.texi (Error Handling): Fix typo.
9251
09a9d66f
CW
92522011-04-12 Colin Watson <cjwatson@ubuntu.com>
9253
9254 * NEWS: Drop obsolete entry about probe-only btrfs support.
9255
0c676933
CW
92562011-04-12 Colin Watson <cjwatson@ubuntu.com>
9257
9258 * util/import_gcry.py: Fix typo.
9259
ec9f5e0d
VS
92602011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * NEWS: Add btrfs support.
9263
fe6b2cba
VS
92642011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
92652011-04-11 Colin Watson <cjwatson@ubuntu.com>
9266
9267 BtrFS support. Written by me (Vladimir) with important bugfixes and
9268 even more important testing by Colin.
9269
9270 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9271 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9272 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9273 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9274 mem_input_off and mem_input. All users updated to accept in-RAM input.
9275 (gzio_seek): New function.
9276 (test_zlib_header): Likewise.
9277 (grub_gzio_read): Likewise.
9278 (grub_zlib_decompress): Likewise.
9279 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9280 Accept partial and non-virtual mounts.
9281 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9282 avoid receiving /dev/dm-X as device.
9283 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9284 Handle bind and partial mounts.
9285 * grub-core/lib/crc.c: New file.
9286 * include/grub/deflate.h: Likewise.
9287 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9288 proto.
9289 * include/grub/lib/crc.h: New file.
9290
e745cf0c
VS
92912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 Implement automatic module license checking according to new GNU
9294 guidelines.
9295
9296 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9297 (grub_dl_load_core): Use grub_dl_check_license.
9298 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9299 (GRUB_MOD_LICENSE): Likewise.
9300 (GRUB_MOD_DUAL_LICENSE): Likewise.
9301 All modules updated.
9302
2a9bc016
CW
93032011-04-11 Colin Watson <cjwatson@ubuntu.com>
9304
9305 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9306 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9307 loaders.
9308 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9309
8a3bc88e
VS
93102011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9313
af869a4a
VS
93142011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9317 failed.
9318
9ee8d94f
VS
93192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9322 parenthesis in the middle of the filename.
9323
b01abe3e
VS
93242011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9327 rather than trying to put initrd way too high.
9328 Reported by: Ryan Lortie <desrt@desrt.ca>
9329
335bda1e
VS
93302011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9333 improperly removed string.
9334
5ca1a64d
VS
93352011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9338 is_disk.
9339 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9340 (open_device) Likewise.
9341 (grub_util_biosdisk_close): Likewise.
d8ce9995 9342 Reported by: Mark Korenberg.
5ca1a64d 9343
cbac5b1e
AK
93442011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9345
9346 * util/grub-mkconfig_lib.in: Add missing quotes.
9347
088cdb65
CW
93482011-04-10 Colin Watson <cjwatson@ubuntu.com>
9349
9350 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9351 is NULL.
9352
8b8a81fa
VS
93532011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Dynamically count the number of lines for the lower banner.
9356
9357 * grub-core/normal/menu_entry.c (per_term_screen): New member
9358 num_entries.
9359 (print_down): Use num_entries.
9360 (update_screen): Likewise.
9361 (grub_menu_entry_run): Set num_entries.
9362 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9363 num_entries.
9364 (grub_print_message_indented): Move real part to ...
9365 (grub_print_message_indented_real): ... here. Additional argument
9366 dry_run.
9367 (draw_border): Additional argument num_entries.
9368 (print_message): Additional argument dry_run.
9369 (print_entries): Receive menu viewer data.
9370 (grub_menu_init_page): New argment num_entries.
9371 (menu_text_set_chosen_entry): Use num_entries.
9372 (grub_menu_try_text): Likewise.
9373 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9374 All users updated.
9375 (grub_ucs4_count_lines): New function.
9376 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9377 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9378 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9379 (grub_term_border_height): Likewise.
9380 (grub_term_num_entries): Likewise.
9381
277f955b
VS
93822011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9385 Remove now unused string.
9386
536ce85a
CW
93872011-04-09 Colin Watson <cjwatson@ubuntu.com>
9388
9389 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9390 build system.
9391 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9392
9393 (Comment): Fix typo.
9394 (Getting started): General copy-editing.
9395 (Typical Development Experience): Likewise.
9396 (Error Handling): Likewise.
9397 (Video API): Likewise.
9398
2cf09e32
CW
93992011-04-09 Colin Watson <cjwatson@ubuntu.com>
9400
9401 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9402 throughout.
9403
1ec652f4
VS
94042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9407 directory.
9408
2c583728
CW
94092011-04-08 Colin Watson <cjwatson@ubuntu.com>
9410
9411 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9412 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9413 "development".
9414
d7a565e9
VS
94152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9418 grub_strcpy since the lines aren't necessarily 0-terminated.
9419
7c2e4909
VS
94202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9423 root on legacy.
9424
34c09785
VS
94252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9428 (GRUB_MOD_INIT): DEVICE isn't optional.
9429
6a6f8058
VS
94302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9433 word on new line if it's too long anyway. Fixes a hang.
9434
2e335e90
VS
94352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9438 const.
9439 * util/grub-setup.c (main): Reuse md device name if available.
9440 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9441 not GRUB name as argument.
9442 Based on patch by: Florian Wagner <fwagner>.
9443
10a7a867
VS
94442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9447 Place mbi on low memory for better compatibility.
9448
7a3d6cd9
VS
94492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9452
18dd6b47
VS
94532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
94542011-04-08 Colin Watson <cjwatson@ubuntu.com>
9455
9456 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9457 * conf/Makefile.common: Likewise.
18dd6b47 9458
3c0e3f14
VS
94592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9460
f7148863
VS
9461 * grub-core/normal/menu.c: Add missing include.
9462
94632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9466
6d1fa41f
MZ
94672011-04-08 Martin Zuther <mzuther@mzuther.de>
9468
9469 * util/grub-mkconfig.in: Ignore emacsen backup.
9470
478182a8
VS
94712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9474 on open.
9475 (grub_util_biosdisk_close): Likewise.
9476
72a89a54
VS
94772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9480 const attribute and use grub_isdigit.
9481
b5ebecfa
A
94822011-04-06 Andrey <dev_null@ukr.net>
9483
9484 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9485 gcc warning.
9486
7755f66e
VS
94872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9490 useful grub_dprintf's.
9491
461121ff
VS
94922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9495
2a961775
VS
94962011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9499
adf594cc
VS
95002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 Output errors if theme loading failed.
9503
9504 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9505 grub_gfxterm_fullscreen on error paths to ...
9506 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9507 theme loading error.
9508
665900a3
VS
95092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9512 space for older compilers.
9513 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9514
a562b479
VS
95152011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9518 and report them as not RAID members since they are useless for GRUB.
9519 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9520
850e9373
VS
95212011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 Increase LVM implementation robustness in order not to crash on
9524 configurations like pvmove. Previously code assumed that in some places
9525 only lvs or only pvs are used whereas it seems that they are used
9526 interchangeably.
9527
9528 * grub-core/disk/lvm.c (read_node): New function.
9529 (read_lv): Use read_node.
9530 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9531 Match volumes only at the end when all lvs are found. Take both
9532 pvs (first) and lvs (second) into account.
9533 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9534 mirror_* into node_*. All users updated.
9535 (grub_lvm_stripe): Merge this ...
9536 (grub_lvm_mirror): ... and this ...
9537 (grub_lvm_node): ... into this. All users updated.
9538
6f332153
VS
95392011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9542 of function to allow further scanning for LVMs.
9543
829ea451
VS
95442011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9547 on failed seek as it breaks open fd reusage.
9548
09ceb9a5
VS
95492011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * util/grub-install.in: Add a recommendation to use --recheck before
9552 reporting bugs.
9553
67e11623
VS
95542011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9557 are obtained.
9558
caee5efd
VS
95592011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 GRUB developper manual based on existing Internals section and
9562 contributions by the various authors with active copyright assignment.
9563
9564 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9565 * docs/font_char_metrics.png: New file.
9566 * docs/font_char_metrics.txt: Likewise.
9567 * docs/grub-dev.texi: Likewise.
9568 * docs/grub.texi (Internals): Move from here ...
9569 * docs/grub-dev.texi: ... here.
9570
2cccc747
CW
95712011-04-01 Colin Watson <cjwatson@ubuntu.com>
9572
9573 Store the loopback device as data on loopback grub_disk structures,
9574 rather than the file it points to. This fixes use of freed memory
9575 if an existing loopback device is replaced.
9576
9577 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9578 disk->data, not dev->file.
9579 (grub_loopback_read): Adjust file assignment to match.
9580 Fixes Ubuntu bug #742967.
9581
186ae367
CW
95822011-04-01 Colin Watson <cjwatson@ubuntu.com>
9583
9584 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9585 when replacing an existing device.
9586
cfed2ad0
VS
95872011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9590 memory corruptions.
9591
9592 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9593 unsigned.
9594 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9595 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9596 (grub_jfs_read_inode): Likewise.
9597 (grub_jfs_opendir): Likewise. Remove now useless casts.
9598 (grub_jfs_getent): Likewise.
9599 Make ino a grub_uint32_t rather than int.
9600 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9601 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9602 division and module with bit operations.
9603 (grub_jfs_find_file): Make ino a grub_uint32_t.
9604 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9605
05d2ed32
CW
96062011-04-01 Colin Watson <cjwatson@ubuntu.com>
9607
9608 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9609 warning. (This was in fact always initialised before use, but GCC
9610 wasn't smart enough to prove that.)
9611 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9612
91dc6073
VS
96132011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9616 stack alignment.
9617 (efi_wrap_1): Likewise.
9618 (efi_wrap_2): Likewise.
9619 (efi_wrap_3): Likewise.
9620 (efi_wrap_4): Likewise.
9621 (efi_wrap_5): Likewise.
9622 (efi_wrap_6): Likewise.
9623 (efi_wrap_10): Likewise.
9624 Based on information by: Red Hat/Peter Jones.
9625
a8afc1d1
CW
96262011-03-31 Colin Watson <cjwatson@ubuntu.com>
9627
9628 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9629 set-but-not-used variable.
9630
a826cc7d
CW
96312011-03-31 Colin Watson <cjwatson@ubuntu.com>
9632
9633 * docs/grub.texi (Simple configuration): Be more explicit about
9634 GRUB_DEFAULT, and add an example.
9635 Reported by: Leslie Rhorer.
9636
875b67ba
CW
96372011-03-30 Colin Watson <cjwatson@ubuntu.com>
9638
9639 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9640 shell".
9641
fd7cd914
AS
96422011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9643
9644 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9645 * util/grub.d/20_linux_xen.in: Likewise.
9646
090b1b6a
VS
96472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * util/grub.d/10_linux.in: Try alternative config filenames where
9650 we parse config file.
9651 * util/grub.d/20_linux_xen.in: Likewise.
9652
baad885c
AS
96532011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9654
9655 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9656 * util/grub.d/20_linux_xen.in: Likewise.
9657
241e41f5
VS
96582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * grub-core/disk/raid.c (insert_array): Add few potentially
9661 useful grub_util_info.
9662 (grub_raid_register): Likewise.
9663
56445fb2
VS
96642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9667 Preserve partition number in mdadm code path.
9668
c871b1c6
VS
96692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9672 few potentially useful grub_util_info.
9673
5e631b4f
CW
96742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9677
2d5d0333
CW
96782011-03-30 Colin Watson <cjwatson@ubuntu.com>
9679
9680 * docs/grub.texi (default): Use @example rather than nested
9681 itemized lists to avoid breaking gendocs.
9682
3d7ed04e
CW
96832011-03-30 Colin Watson <cjwatson@ubuntu.com>
9684
9685 * docs/grub.texi (Future): Update.
9686
abf04200 96872011-03-30 Colin Watson <cjwatson@ubuntu.com>
9688
9689 * docs/grub.texi (Environment): New chapter.
9690 (Changes from GRUB Legacy): Link to "Environment block" section for
9691 details of limitations.
9692 (Simple configuration): Likewise. Link to documentation of gfxmode
9693 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9694 respectively.
9695 (Shell-like scripting): Note that normal variables are stored in the
9696 environment.
9697 (gettext): Link to documentation of lang and locale_dir.
9698 (list_env): New section.
9699 (load_env): New section.
9700 (save_env): New section.
9701
9702 (Reporting bugs): Fix typo.
9703
e1ad0edd
VS
97042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9707 the example.
9708
5d803174
VS
97092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * grub-core/term/at_keyboard.c (set_scancodes)
9712 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9713
2a2da1d0
CW
97142011-03-30 Colin Watson <cjwatson@ubuntu.com>
9715
9716 * docs/grub.texi (Menu-specific commands): Remove some semantics
9717 that were true in GRUB Legacy but not in GRUB 2.
9718 (submenu): New section.
9719 (false): New section.
9720 (read): New section.
9721 (true): New section.
9722
a7527639
CW
97232011-03-30 Colin Watson <cjwatson@ubuntu.com>
9724
9725 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9726
97272011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9728
9729 * docs/grub.texi (Simple configuration): Explain some of the
9730 current limitations of grub-mkconfig.
8a748df2 9731 Reported by: Leslie Rhorer.
e30af029 9732
fc858482
VS
97332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 Old macs search for boot.efi rather than for bootia32.efi.
9736
9737 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9738 * util/grub-mkrescue.in: Likewise.
9739 Suggested by: Peter Jones.
9740
e1eb511d
VS
97412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9744
70e75364
VS
97452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9748 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9749 (grub_lvm_mirror): New struct.
9750 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9751 (grub_lvm_iterate): Iterate only visible volumes.
9752 (grub_lvm_read): Factor out to ..
9753 (read_lv): ... this. Support mirrors.
9754 (grub_lvm_read): New wrapper function.
9755 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9756 stripped or mirrored.
9757
fc18f6a3
VS
97582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9761
5c650f4c
CW
97622011-03-29 Colin Watson <cjwatson@ubuntu.com>
9763
9764 * docs/grub.texi (loopback): New section.
9765
61d7156b
CW
97662011-03-29 Colin Watson <cjwatson@ubuntu.com>
9767
9768 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9769 removed -p option.
9770
994b8264
CW
97712011-03-29 Colin Watson <cjwatson@ubuntu.com>
9772
9773 * docs/grub.texi (BIOS installation): New section, partly based on
9774 previous text in other sections.
9775 (Installing GRUB using grub-install): Replace BIOS discussion with a
9776 cross-reference.
9777 (Images): Likewise.
9778
9e4d19e0
VS
97792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9782 [HAVE_DIOCGDINFO]: Add safety checks.
9783
a307c0b2
VS
97842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9787 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9788
b4db4f39
CW
97892011-03-29 Colin Watson <cjwatson@ubuntu.com>
9790
9791 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9792 real_sb->size is zero (e.g. RAID-0), get the disk size from
9793 real_sb->data_size instead.
9794 Fixes Ubuntu bug #743136.
9795
35e5f84c
VS
97962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9799 printf clauses for printing size and start.
9800
d2e29d81
VS
98012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9804 Reported and tested by: Timothy Nikkel.
9805
ed5587af
VS
98062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9809 (dirty_region_add_real): ... this.
9810 (dirty_region_add): Don't discard margin refresh when performing
9811 scheduled repaint.
9812
a1dc717c
VS
98132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/lib/relocator.c (allocate_regstart)
9816 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9817 terminals are capabple of malloc-free operation.
9818 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9819 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9820
9f3677d3
VS
98212011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9822
9823 * util/grub-setup.c: Copy the partition table zone if floppy support
9824 is disabled, even if no partition table is found.
9825
9826 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9827 during POST if an invalid partition table is contained in the PBR
9828 of the active partition when GRUB is installed to a partition.
9829
24148725
CW
98302011-03-28 Colin Watson <cjwatson@debian.org>
9831
9832 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9833 comment.
9834
f329eda7
CW
98352011-03-28 Colin Watson <cjwatson@debian.org>
9836
9837 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9838 to be specific about what kind of RAID device we're scanning for.
9839
c482ad98
SG
98402011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9841
9842 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9843 return freed string.
9844
5ee04984
VS
98452011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9848
f4727da9
VS
98492011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 Use libgeom on FreeBSD to detect partitions.
9852
9853 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9854 (grub-mkrelpath): Likewise.
9855 (grub-script-check): Likewise.
9856 (grub-editenv): Likewise.
9857 (grub-mkpasswd-pbkdf2): Likewise.
9858 (grub-fstest): Likewise.
9859 (grub-mkfont): Likewise.
9860 (grub-mkdevicemap): Likewise.
9861 (grub-probe): Likewise.
9862 (grub-setup): Likewise.
9863 (grub-ofpathname): Likewise.
9864 (grub-mklayout): Likewise.
9865 (example_unit_test): Likewise.
9866 (grub-menulst2cfg): Likewise.
9867 * grub-core/Makefile.core.def (grub-emu): Likewise.
9868 (grub-emu-lite): Likewise.
9869 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9870 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9871 define HAVE_DIOCGDINFO.
9872 (follow_geom_up) [FreeBSD]: New function.
9873 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9874 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9875 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9876 unconditionally of HAVE_DIOCGDINFO.
9877
82fe6c75
VS
98782011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 Fix FreeBSD compilation problem.
9881
9882 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9883 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9884
4c6c9431
CW
98852011-03-24 Colin Watson <cjwatson@ubuntu.com>
9886
9887 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9888 Switch back to page zero before loading a kernel, since some kernel
9889 drivers expect that.
9890 Thanks to: Felix Kuehling.
9891
c7064d94
VS
98922011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9895 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9896 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9897
3f71cded
VS
98982011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9901 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9902
ef6de21a
VS
99032011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9906 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9907 malloc is disabled.
9908
8bc66a2c
VS
99092011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9912 for modules headers when counting the needed allocation size.
9913
5657722c
VS
99142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9917 if no ASCII character is found to prevent crash.
9918
41a85f55
AK
99192011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9920
9921 * grub-core/video/bitmap.c (match_extension): Ignore case.
9922
59e1e5f1
VS
99232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9926
bd4d051a
VS
99272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/script/parser.y: Declare "time" as valid argument.
9930
bae7fcc1
PJ
99312011-03-23 Peter Jones <pjones@redhat.com>
9932
9933 Fix incorrect assert failure reporting.
9934
9935 * grub-core/tests/example_functional_test.c (example_test): Add
9936 a failure comment.
9937 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9938 (failure_start): ...this. Check that malloc succeeded.
9939 Don't call xvasprintf. Return failure struct.
9940 (failure_append_vtext): New function.
9941 (failure_append_text): Likewise.
9942 (add_failure): Likewise.
9943 (grub_test_assert_helper): Likewise.
9944 * include/grub/test.h (grub_test_assert_helper): New declaration.
9945 (grub_test_assert): Macro rewritten.
9946
537dc9be
VS
99472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9950
fa3e01bf
VS
99512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9954
b1d28404
VS
99552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9958 into GRUB-style one.
9959
2e3e2e09
VS
99602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9963 error and not grub_errno.
9964 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9965
ed57e557
VS
99662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9969 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9970
d1611f01
VS
99712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * grub-core/efiemu/i386/pc/cfgtables.c
9974 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9975 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9976 (grub_xnu_unlock): Likewise.
9977 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9978
7d4e39d6
VS
99792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9982 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9983 * grub-core/commands/hashsum.c (aliases): Likewise.
9984 * grub-core/commands/setpci.c (pci_registers): Likewise.
9985 * grub-core/disk/usbms.c (attach_hook): Likewise.
9986 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9987 (zio_checksum_table): Likewise.
9988 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9989 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9990 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9991 * grub-core/lib/relocator.c (leftovers): Likewise.
9992 (extra_blocks): Likewise.
9993 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9994 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9995 (modules_last): Likewise.
9996 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9997 (devices): Likewise.
9998 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9999 (modules_last): Likewise.
10000 * grub-core/normal/auth.c (users): Likewise.
10001 * grub-core/normal/context.c (initial_menu): Likewise.
10002 (current_menu): Likewise.
10003 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10004 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10005 (grub_serial_terminfo_input_template): Likewise.
10006 (grub_serial_terminfo_output_template): Likewise.
10007 (grub_serial_terminfo_input): Likewise.
10008 (grub_serial_terminfo_output): Likewise.
10009 (registered): Likewise.
10010 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10011
40fc4659
VS
100122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10015 grub_video_mode_type_t.
10016 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10017 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10018 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10019
2da48d28
VS
100202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * util/grub-install.in: Correct the x86-64 name as x86_64.
10023
9b43bf39
CW
100242011-03-11 Colin Watson <cjwatson@ubuntu.com>
10025
10026 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10027 initial chunk read from the kernel always includes GRUB's multiboot
10028 header, which is now outside the first sector.
10029
be1a7ce0
CW
100302011-03-09 Colin Watson <cjwatson@ubuntu.com>
10031
10032 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10033 cached mmap_size, so that this works correctly when called multiple
10034 times.
10035 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10036
83a3c48d
CW
100372011-03-09 Colin Watson <cjwatson@ubuntu.com>
10038
10039 * docs/grub.texi (Simple configuration): Tidy up formatting.
10040
57d75699
SJ
100412011-03-07 Szymon Janc <szymon@janc.net.pl>
10042
10043 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10044 Set-but-not-used variable removed.
10045
028501a0
VS
100462011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 Workaround yet another IEEE1275 bug.
10049
10050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10051 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10052 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10053 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10054 is set.
10055 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10056 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10057
d998657d
VS
100582011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10061 error.
10062
fee7cdd4
CW
100632011-02-11 Colin Watson <cjwatson@ubuntu.com>
10064
10065 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10066 empty, since in that case we can only generate either nothing or a
10067 syntactically invalid configuration file.
10068 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10069
97286eb5
CW
100702011-02-09 Colin Watson <cjwatson@ubuntu.com>
10071
10072 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10073 (Making a GRUB bootable CD-ROM): Likewise.
10074 (Invoking grub-mkrescue): New section.
10075 Reported by: Yann Dirson. Fixes Debian bug #612585.
10076
22b28eb3
CW
100772011-02-09 Colin Watson <cjwatson@ubuntu.com>
10078
10079 * util/grub-install.in: Remove unnecessary brackets from tr
10080 arguments.
10081 * util/grub.d/10_hurd.in: Likewise.
10082 * util/grub.d/10_kfreebsd.in: Likewise.
10083 * util/grub.d/10_linux.in: Likewise.
10084 * util/grub.d/20_linux_xen.in: Likewise.
10085 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10086
7e735e43
CW
100872011-02-08 Colin Watson <cjwatson@ubuntu.com>
10088
10089 * include/grub/file.h (not_easly_seekable): Rename to ...
10090 (not_easily_seekable): ... this. Update all users.
10091
800f1881
CW
100922011-01-28 Colin Watson <cjwatson@ubuntu.com>
10093
10094 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10095 grub-mkrescue.
10096
3281d3d6
VS
100972011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * util/grub-mkimage.c (generate_image): Refuse to create the images
10100 bigger than the actual flash (512K) in Loongson machines. 512K is also
10101 the biggest chip supported by them.
10102
3533413c
VS
101032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10106
73ae4f4f
VS
101072011-01-22 Anthony DeRobertis <anthony@derobert.net>
10108
10109 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10110 super_offset field.
10111
37f4f608
VS
101122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * util/grub-install.in: Ignore install device on platforms
10115 where it doesn't make sense. Always use UUIDs except on pc, efi and
10116 sparc64.
10117 Reported by: Daniel Kahn Gillmor.
10118
03a4ccb5
VS
101192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10122
ffc8f4d8
VS
101232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10126 (iterate_real): Don't rely on partition being non-NULL.
10127
80f23be7
VS
101282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10131 supported platforms. Put a compile time assert for this rather than
10132 generate a warning with 32-bit shift.
10133
5d4f4dd5
VS
101342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10137 logical expression more readable.
10138
e489601a
VS
101392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10142 even if some elements have a name.
10143 Reported by: Alexander GQ Gerasiov.
10144
96e0a6ea
CW
101452011-01-22 Colin Watson <cjwatson@ubuntu.com>
10146
10147 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10148 path unreadable if `grub-probe -t abstraction' fails, for example if
10149 memberlist fails on an LVM volume group.
10150 Reported by: Darius Jahandarie.
10151
81431e2b
CW
101522011-01-22 Colin Watson <cjwatson@ubuntu.com>
10153
10154 * docs/grub.texi (Simple configuration): Document
10155 GRUB_PRELOAD_MODULES.
10156
5e79d66a
CW
101572011-01-17 Colin Watson <cjwatson@ubuntu.com>
10158
10159 * .bzrignore: Remove nonexistent grub-pbkdf2.
10160
646ada34
VS
101612011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * configure.ac: Bump version to 1.99~rc1.
10164
04360337
VS
101652011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10168 for safety.
10169
46c9db88
VS
101702011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10173 module.
10174
101752011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10176
10177 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10178
4fbf1852
VS
101792011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10182 diskdevid.
10183
f1632d4d
VS
101842011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 Fix compilation on cygwin.
10187
10188 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10189 -R .drectve on cygwin.
10190 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10191 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10192 (COND_CYGWIN): New condition.
10193 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10194 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10195 not @TARGET_OBJ2ELF@.
10196 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10197 type to determine whether aux is to be used.
10198
0b5e127b
VS
101992011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10202 realpath'ed device string.
10203 Handle floppy (somewhat).
10204 Issue error in unknown case rather than garbage.
10205 Reported by: Axel Beckert.
10206
173b71e9
VS
102072011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * util/grub.d/00_header.in (load_video): Handle the case when no video
10210 drivers available.
10211 Thanks to: Axel Beckert.
10212
f8f479db
VS
102132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10216 variable. Fixes problem on big endian platforms.
10217
8fc0a245
VS
102182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10221 It doesn't work well there.
10222
b8494fbe
VS
102232011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10226 warning.
10227 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10228 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10229 counter.
10230
b44a558c
VS
102312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 Use alias->path rather than buggy "canon".
10234
10235 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10236 (ofdisk_hash_add): New argument curcan. All users updated.
10237
51fa856c
CW
102382011-01-11 Colin Watson <cjwatson@ubuntu.com>
10239
10240 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10241
9da068a5
VS
102422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10245 loadmask before doing any calculations. Use correct type for offset.
10246 (grub_linux_load64): Likewise.
10247
86205c94
CW
102482011-01-11 Colin Watson <cjwatson@ubuntu.com>
10249
10250 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10251 with NULL.
10252 (console_grub_equivalences_unshift): Likewise.
10253 Reported by: Daniel Dehennin.
10254
4531a206
VS
102552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10258 (set_env_limn_ro): Likewise.
10259 (GRUB_MOD_INIT): Likewise.
10260 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10261 ARRAY_SIZE while on it.
10262 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10263 * grub-core/normal/context.c (grub_env_export): Move from here ...
10264 * grub-core/kern/env.c (grub_env_export): ... here.
10265 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10266 prefix.
10267 * grub-core/kern/main.c (grub_main): Export root and prefix.
10268 * include/grub/env.h (grub_env_export): Export.
10269 Reported by: Seth Goldberg.
10270
45146057
VS
102712011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10274 Take into account space used by ELF sections and multiboot palette.
10275 Reported by: Grégoire Sutre.
10276
f093110b
VS
102772011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * BUGS: New file.
10280
3395fe52
VS
102812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Pass more appropriate video id to Linux.
10284
10285 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10286 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10287 fill have_vga.
10288 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10289 shift params->lfb_size.
10290 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10291
c2fa6cbb
VS
102922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10295
b3ff6ff0
VS
102962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10299 separator and pass bootpath/devid even if only one of them is available.
10300 Reported by: Seth Goldberg.
10301
ae67942e
VS
103022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10305 implementations bug on them.
10306
10307 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10308 memory.
10309 (filter_memory_map): Likewise.
10310
d570097a
VS
103112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10314 Reported by: nebuchadnezzar.
10315
a508e776
VS
103162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10319 Reported by: nebuchadnezzar.
10320
dcb883b1
VS
103212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 Submenu default support.
10324
10325 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10326 auto_boot. All users updated.
10327 Declared static.
10328 Handle chosen and default with submenus.
10329 (grub_menu_execute_with_fallback): Declared static.
10330 Don't notify failure if autobooted. Upper level does it.
10331 (menuentry_eq): New function.
10332 (get_entry_number): Use menuentry_eq.
10333 (show_menu): New parameter "autobooted". All users updated.
10334 (grub_show_menu): Likewise.
10335 * include/grub/normal.h (grub_show_menu): Likewise.
10336 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10337 (grub_menu_execute_with_fallback): Likewise.
10338
6fef99b4
VS
103392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * util/grub-mklayout.c (usage): Update help text.
10342
47a77af5
VS
103432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10346
ce6bb3ee
VS
103472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 * util/grub-menulst2cfg.c (main): Trim the line.
10350
db87be2a
VS
103512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10354 (grub_machine_init): Don't check amount of low memory as reportedly
10355 INT 12h can be broken and if low memory is too low we wouldn't have
10356 gotten into grub_machine_init anyway.
10357
c49849cc
VS
103582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10361 (grub_machine_mmap_iterate): Take low memory into account
10362
b1969b30
VS
103632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10366 badfs.
10367 Reported by: TiCPU.
10368
cf0eaf13
VS
103692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10372 members errors.
10373
1f060f39
GS
103742011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10375
10376 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10377 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10378
a21e5672
GS
103792011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10380
10381 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10382 openbsd and netbsd types being in part_bsd module.
10383
c88172fa
VS
103842011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10387 (_FILE_OFFSET_BITS): Likewise.
10388 Reported by: Seth Goldberg.
10389
53798c4b
GS
103902011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10391
10392 * configure.ac: Check for libdevmapper header.
10393
e7121b69
VS
103942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10397 avoid aliasing.
10398 (fzap_lookup): Likewise.
10399 (dnode_get): Likewise.
10400 (make_mdn): Likewise.
10401 (zfs_mount): Likewise.
10402 (fzap_iterate): Use temporary pointer to avoid aliasing.
10403 (grub_zfs_read): Likewise.
10404 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10405 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10406 pointers to avoid aliasing.
10407 (grub_cmd_xnu_kernel64): Likewise.
10408 (grub_xnu_load_driver): Likewise.
10409
fc836af9
VS
104102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10413 aliasing warning.
10414 (grub_cmd_terminal_output): Likewise.
10415 Reported and tested by: Grégoire Sutre.
10416
f9f37648
VS
104172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10420 warning.
10421 Reported and tested by: Grégoire Sutre.
10422
ec1dfd63
VS
104232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * configure.ac: Do CPU substitution even if it's specified explicitly.
10426 Reported and tested by: Alain Greppin.
10427
9462775a
VS
104282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10431 Reported and tested by: Alain Greppin.
10432
0fd48e35
VS
104332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 Satisfy some bison versions need for inttypes.h.
10436
10437 * grub-core/lib/posix_wrap/inttypes.h: New file.
10438 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10439 (int16_t): Likewise.
10440 (int32_t): Likewise.
10441 (int64_t): Likewise.
10442 Reported and tested by: Alain Greppin.
10443
43f1bc83
VS
104442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10447 Silence spurious warning.
10448 Reported and tested by: Alain Greppin.
10449
64d1f041
SJ
104502011-01-07 Szymon Janc <szymon@janc.net.pl>
10451
10452 * docs/grub.texi (Support automatic decompression): Update with xz
10453 decompression support.
10454
25953e10
SJ
104552011-01-07 Szymon Janc <szymon@janc.net.pl>
10456
10457 Improve loaders' kernel command line handling.
10458
10459 * grub-core/lib/cmdline.c: New file.
10460 * include/grub/lib/cmdline.h: Likewise.
10461 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10462 grub_create_loader_cmdline to create kernel command line.
10463 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10464 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10465 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10466 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10467 (linux): Add lib/cmdline.c on common.
10468
e72d259f
VS
104692011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10472 inopos might be unaligned.
10473
c0cf26da
VS
104742011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10477 endian transformations.
10478 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10479 Based on report by: Doug Nazar.
10480
0ca09e6c
DN
104812011-01-07 Doug Nazar <nazard.michi@gmail.com>
10482
10483 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10484 array->members[i].start_sector.
10485 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10486
014b6806
VS
104872011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10490 Reported and tested by: Grégoire Sutre.
10491
415502c2
CW
104922011-01-06 Colin Watson <cjwatson@ubuntu.com>
10493
10494 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10495 avoid causing test failures by clearing the screen.
10496
71b6a2b7
CW
104972011-01-06 Colin Watson <cjwatson@ubuntu.com>
10498
10499 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10500 Fix prefix check to handle the case where dir ends with a slash
10501 (most significantly, "/" itself).
10502 Reported by: Michael Vogt.
10503
b3f8d28a
VS
105042011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 Run terminfo_cls on initing terminfo output to clear the screen and
10507 move the cursor to (0,0).
10508
10509 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10510 Call grub_terminfo_output_init.
10511 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10512 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10513 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10514
4c3e4f37
VS
105152011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10518 only when needed.
10519
488f71f1
VS
105202011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10523 CTRL.
10524
18a38098
VS
105252011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 The E820 type 5 is BADRAM, not EXEC_CODE.
10528
10529 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10530 (GRUB_E820_BADRAM): New define.
10531 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10532 into reserved. Propagate BADRAM.
10533 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10534 (GRUB_E820_BADRAM): New define.
10535
9eae2084
VS
105362011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10539 Ignore the memory post-4G.
10540 (grub_relocator_firmware_alloc_region): Additional debug statement.
10541
ebc71d28
VS
105422011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10545 names.
10546 Reported by: David Pravec.
10547
446fa400
VS
105482011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10551 BIOSes.
10552
a0159f37
VS
105532011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10556 Prevent overflow.
10557 (grub_reed_solomon_recover): Likewise.
10558
e5146ca1
VS
105592011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10562
105632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10564
10565 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10566 variable.
10567
5b1bdf12
CW
105682011-01-04 Colin Watson <cjwatson@ubuntu.com>
10569
10570 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10571 descriptions of extract_legacy_entries_source and
10572 extract_legacy_entries_configfile.
10573 Reported by: Seung Soo, Ha.
10574
99d925aa
CW
105752011-01-03 Colin Watson <cjwatson@ubuntu.com>
10576
10577 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10578 on devices that do not implement function 0.
10579
4af0504b
DV
105802011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10581
10582 * grub-core/fs/hfsplus.c: Make parent unsigned.
10583 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10584 overflows.
10585 (grub_hfsplus_cmp_extkey): Likewise
10586
469ee10a
VS
105872011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * util/grub-install.in: Correctly use bootloader_id and not
10590 GRUB_DISTRIBUTOR on efibootmgr line.
10591
323a8e9c
VS
105922011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10595
1b394975
IC
105962010-12-31 Ian Campbell <ijc@hellion.org.uk>
10597
10598 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10599 Xen and reorder menu item wording to make it clearer that this entry
10600 will launch Xen. Print separate messages when loading Xen and
10601 Linux.
10602
275bff5f
VS
106032010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10606 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10607 loop in case of incorrect amiga partmap.
10608
307806cb
VS
106092010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10612 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10613 Reported by:EHeM.
10614
b12b923e
VS
106152010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10618 spurious warning.
10619 Reported by: crocket
10620
14b48a19
VS
106212010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10624 Preload EFIemu.
10625 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10626
693db2df
VS
106272010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10630 is loaded
10631 (grub_cmd_xnu_kextdir): Likewise.
10632 (grub_cmd_xnu_splash): Likewise.
10633
c7638645
VS
106342010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 Avoid using Reed-Solomon with 0 redundancy.
10637
10638 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10639 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10640 or 0 redundancy.
10641 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10642 (grub_reed_solomon_recover): Likewise.
10643
25dd4780
VS
106442010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 Don't use disk subsystem in freebsd_boot.
10647
10648 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10649 (freebsd_biosdev): Likewise.
10650 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10651 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10652
0b2db943
VS
106532010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 Handling of files of unknown size is currently limited. They can't be
10656 used e.g. for initrd or modules. Moreover gzip handling of not
10657 easily seekable files is buggy. Disable unknown file size for now. May
10658 be inefficient but works.
10659
10660 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10661 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10662
5c408d0f
MP
106632010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10664
10665 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10666 floppy probe.
10667
190a011a
JD
106682010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10669
10670 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10671
022d01b8
SL
106722010-12-25 Shea Levy <shlevy>
10673
10674 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10675
c4855fdc
VS
106762010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10679 Windows Server 2008.
10680 Reported by: Devin Giddings.
10681
0354b867
VS
106822010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10685 writing an error message because of async power management.
10686 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10687 (grub_reboot): Likewise.
10688
ab66c69f
JU
106892010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10690
10691 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10692 keep unit tests from failing when they shouldn't.
10693
1426ef35
CW
106942010-12-21 Colin Watson <cjwatson@ubuntu.com>
10695
10696 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10697 previous patch increased the size of the RS code by 20 bytes (at
10698 least with gcc-4.4), so increase this by 20 bytes to match.
10699 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10700
20641b6b
CW
107012010-12-21 Colin Watson <cjwatson@ubuntu.com>
10702
10703 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10704 scratch area. Make sure to initialise chosen in standalone mode as
10705 well as non-standalone.
10706 Reported by: Robert Hooker and Andy Whitcroft.
10707 Tested by: Andy Whitcroft.
10708
d060ad60
CW
107092010-12-21 Colin Watson <cjwatson@ubuntu.com>
10710
10711 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10712 constructing a new unescaped string and passing it to grub_xputs in
10713 one go, rather than passing characters to grub_printf one at a time.
10714
b889cfad
CW
107152010-12-21 Colin Watson <cjwatson@ubuntu.com>
10716
10717 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10718 initialising utf16.
10719
4e01b6c8
CW
107202010-12-21 Colin Watson <cjwatson@ubuntu.com>
10721
10722 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10723 comment. Add an extra layer of quotation, requiring the output of
10724 this function to be used in a printf format string.
10725 (gettext_printf): New function.
10726 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10727 Extract translatable strings from here-documents and use a temporary
10728 variable instead, so that xgettext can find them.
10729 * util/grub.d/10_kfreebsd.in: Likewise.
10730 * util/grub.d/10_linux.in: Likewise.
10731 * util/grub.d/20_linux_xen.in: Likewise.
10732
10733 * po/grub.d.sed: New file.
10734 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10735 arguments. Set c-format flags on all strings extracted from
10736 util/grub.d/ (xgettext refuses to include these itself for strings
10737 it extracted from a shell file, but these really are c-format).
10738
5318fe98
VS
107392010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10742 Avoid next pointing to nowhere.
10743
6c85b743
VS
107442010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10747 rather than assuming than rootblock is exactly in the middle.
10748 (grub_affs_label): Likewise.
10749
a2a08a35
VS
107502010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10753 reserved_first_sector to 0.
10754 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10755 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10756 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10757
7059d1ec
VS
107582010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 Fix handling of UTF-16 UDF labels.
10761
10762 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10763 (read_string): .. here.
10764 (grub_udf_label): Use read_string.
10765
30aff4cb
BC
107662010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10767
10768 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10769 editor under argument scope.
10770 Reported by: Jordan Uggla
10771
5cf86f4b
VS
107722010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10775
32570200
CW
107762010-12-18 Colin Watson <cjwatson@ubuntu.com>
10777
10778 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10779 line, and other keys scroll an entire page (previous handling was
10780 for \r and \n to scroll a page and other keys to scroll two lines).
10781
e1dffcf2
VS
107822010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10785 Set ptrdest to correct get_physical_target_address rather than
10786 incorrect get_virtual_current_address.
10787
b04298cf 107882010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10789
10790 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10791 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10792
5367ecd3
CW
107932010-12-10 Colin Watson <cjwatson@ubuntu.com>
10794
10795 * .bzrignore: Ignore grub-core/rs_decoder.S.
10796
1fb430f8
CW
107972010-12-10 Colin Watson <cjwatson@ubuntu.com>
10798
10799 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10800 .mo/.mo.gz opening sequence to ...
10801 (grub_mofile_open_lang): ... here.
10802 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10803 * util/grub.d/00_header.in (grub_lang): Include country part of
10804 locale.
10805 Reported by: Mario Limonciello.
10806
a94a6671
RM
108072010-12-09 Robert Millan <rmh@gnu.org>
10808
10809 * NEWS: Document addition of ZFS support.
10810
24b7938b
CW
108112010-12-04 Colin Watson <cjwatson@ubuntu.com>
10812
10813 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10814 rather than `/ 2', as the latter requires -Wa,--divide which would
10815 require bumping our minimum binutils version.
10816
bddc3ef6
BC
108172010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10818
10819 * util/grub-script-check.c (main): Print script line number on
10820 error.
10821
bf78d5b2
RM
108222010-12-01 Robert Millan <rmh@gnu.org>
10823
10824 * grub-core/fs/zfs/zfs.c: New file.
10825 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10826 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10827 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10828 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10829
10830 * include/grub/zfs/dmu.h: Likewise.
10831 * include/grub/zfs/dmu_objset.h: Likewise.
10832 * include/grub/zfs/dnode.h: Likewise.
10833 * include/grub/zfs/dsl_dataset.h: Likewise.
10834 * include/grub/zfs/dsl_dir.h: Likewise.
10835 * include/grub/zfs/sa_impl.h: Likewise.
10836 * include/grub/zfs/spa.h: Likewise.
10837 * include/grub/zfs/uberblock_impl.h: Likewise.
10838 * include/grub/zfs/vdev_impl.h: Likewise.
10839 * include/grub/zfs/zap_impl.h: Likewise.
10840 * include/grub/zfs/zap_leaf.h: Likewise.
10841 * include/grub/zfs/zfs.h: Likewise.
10842 * include/grub/zfs/zfs_acl.h: Likewise.
10843 * include/grub/zfs/zfs_znode.h: Likewise.
10844 * include/grub/zfs/zil.h: Likewise.
10845 * include/grub/zfs/zio.h: Likewise.
10846 * include/grub/zfs/zio_checksum.h: Likewise.
10847
10848 * Makefile.util.def: Build ZFS into libgrubmods.
10849 * grub-core/Makefile.core.def: Build zfs.mod.
10850
3f0f3831
SJ
108512010-11-30 Szymon Janc <szymon@janc.net.pl>
10852
10853 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10854 variable.
10855 * grub-core/commands/wildcard.c (match_files): Likewise.
10856
3a4253b2
RM
108572010-11-30 Robert Millan <rmh@gnu.org>
10858
10859 * grub-core/loader/i386/bsd.c
10860 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10861 whether kernel is loaded using grub_loader_is_loaded(), rather
10862 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10863 certain error conditions.
10864
8c317b27
RM
108652010-11-30 Robert Millan <rmh@gnu.org>
10866
c5c9cd3e
RM
10867 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10868 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10869
49d3ab46
VS
108702010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 Avoid using tricks for initialising endian variables.
10873
10874 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10875 Make const.
10876 (GRUB_MOD_INIT): Don't byte-swap.
10877 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10878 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10879 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10880 (grub_swap_bytes32_compile_time): Likewise.
10881 (grub_cpu_to_le32_compile_time): Likewise.
10882 (grub_cpu_to_le16_compile_time): Likewise.
10883
f420a804
VS
108842010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * util/grub-setup.c (setup): Stop recommending --force. People who
10887 understand the dangers of blocklists are able to find this option
10888 anyway and the ones who don't shouldn't use it anyway.
10889
4e7db17b
RM
108902010-11-26 Robert Millan <rmh@gnu.org>
10891
10892 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10893 Update all users.
10894
9be57a0d
CW
108952010-11-26 Colin Watson <cjwatson@ubuntu.com>
10896
10897 Fix LVM-on-RAID probing.
10898
10899 * util/grub-probe.c (probe): Remember which disk was detected as
10900 RAID (perhaps an LVM physical volume). Use that disk's raidname
10901 rather than that of the top-level disk.
10902
2c7859b3 109032010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10904
d7647bb6
BC
10905 Fix cmdline argument quotes for setparams command of menuentry
10906 definitions.
7e623b0d
BC
10907
10908 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10909 quotes for arguments.
f866fe80 10910 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10911 grub_strchrsub function instead.
f866fe80 10912
7955bea0 10913 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10914
74f72a64
CW
109152010-11-24 Colin Watson <cjwatson@ubuntu.com>
10916
10917 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10918 effort by skipping "." and ".." entries up-front.
10919 Suggested by: Michael Lazarev.
10920
5a407278
CW
109212010-11-24 Colin Watson <cjwatson@ubuntu.com>
10922
10923 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10924 ldflags to ldadd, to fix link line ordering.
10925 (none_decompress): Likewise.
10926
3030d8ec
CW
109272010-11-24 Colin Watson <cjwatson@ubuntu.com>
10928
10929 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10930 platforms.
10931 (grub-emu-lite): Remove kern/emu/cache.S.
10932
b7fbac12
CW
109332010-11-23 Colin Watson <cjwatson@ubuntu.com>
10934
10935 * util/deviceiter.c (compare_devices): If the by-id link for a
10936 device couldn't be resolved, fall back to sorting by the by-id link
10937 rather than segfaulting.
10938 Reported and tested by: Daniel Mierswa.
10939
5225f328
CW
109402010-11-23 Colin Watson <cjwatson@ubuntu.com>
10941
10942 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10943 ldflags, to fix link line ordering.
10944
038b3ce8
CW
109452010-11-23 Colin Watson <cjwatson@ubuntu.com>
10946
10947 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10948 linkers are picky about this.
10949
bf16e98e
CW
109502010-11-23 Colin Watson <cjwatson@ubuntu.com>
10951
10952 * grub-core/Makefile.am (command.lst): Adjust sed expression
10953 ordering so that extended and priority commands aren't treated as
10954 ordinary commands.
10955
7242bab6
CW
109562010-11-23 Colin Watson <cjwatson@ubuntu.com>
10957
10958 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10959 Remove byte-swapping function calls, which are not valid in
10960 structure initialisers.
10961 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10962 non-const.
10963 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10964 grub_gpt_partition_type_bios_boot.
10965
14e8b279
CW
109662010-11-22 Colin Watson <cjwatson@ubuntu.com>
10967
10968 Fix test program build on GNU/kFreeBSD.
10969
10970 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10971 $(LIBNVPAIR)' library dependencies.
10972
e6f63338 109732010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10974
10975 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10976
cf8ffc38
CW
109772010-11-22 Colin Watson <cjwatson@ubuntu.com>
10978
10979 * util/grub-install.in: Remove excessive quoting that broke
10980 installations to RAID devices.
10981
7f8b0fd7
VS
109822010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10985 bootloader version instead of 0.
10986
dfd240b1
VS
109872010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10990 warning.
10991
7b61e609
VS
109922010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10995 retrieve the metadat sector if size isn't known.
10996 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10997
9dfe92d0
RM
109982010-11-18 Robert Millan <rmh@gnu.org>
10999
11000 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11001 with grub_memcmp().
11002
41cc919e
VS
110032010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11006 arrow.
11007 Reported by: Jordan Uggla.
11008
1afcc914
VS
110092010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 Make better UTF compliant.
11012
11013 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11014 sequences as incorrect.
11015 (grub_is_valid_utf8): Likewise.
11016 (grub_utf8_to_ucs4): Likewise.
11017 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11018 (grub_ucs4_to_utf8_alloc): Likewise.
11019 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11020
f1808884
VS
110212010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 Make legacy_source behave like source.
11024
11025 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11026 grub_show_menu.
11027 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11028
24ec575b
CW
110292010-11-16 Colin Watson <cjwatson@debian.org>
11030
11031 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11032 (-Wunused implies -Wunused-parameter, but not vice versa).
11033
72b7c7aa
CW
110342010-11-16 Colin Watson <cjwatson@ubuntu.com>
11035
11036 * configure.ac: Make error messages less confusing by testing for
11037 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11038 accepted, but produces a diagnostic if something else is wrong).
11039
e98937aa
VS
110402010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11043 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11044 (now unused).
11045 (grub_keyboard_controller_init)
11046 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11047 read the initial state since controller isn't inited yet.
11048
f6bbabc3
VS
110492010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11052 allocate_regbeg may need to create new chunk header.
11053
22e7dbb2
VS
110542010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 Fix quoting in legacy parser.
11057
11058 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11059 single quotes.
11060 (grub_legacy_parse): Likewise.
11061 Reported by: Jordan Uggla.
11062 Tested by: Jordan Uggla.
11063
03f80960
VS
110642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11065
11066 Don't add -lgcc on i386 and x86_64.
11067
11068 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11069 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11070 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11071
779dc15b
VS
110722010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * configure.ac: Add -Wno-trampolines when supported.
11075
d20a3b37
MV
110762010-11-14 Modestas Vainius <modax@debian.org>
11077
11078 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11079 fakeraid.
11080
e5360933
GC
110812010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11082
11083 Add generic logical block size support for UDF.
11084
11085 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11086 (GRUB_UDF_BLKSZ): Removed.
11087 (struct grub_udf_data): New field "lbshift" to hold the logical block
11088 size of the file system in log2 format. All users updated.
11089 (sblocklist): Change type to unsigned.
11090 (grub_udf_mount): Change type of "sblklist" to unsigned.
11091 Move AVDP search before VRS recognition, because the latter requires
11092 knowledge of the logical block size, which is detected during the
11093 former.
11094 Detect and validate logical block size during AVDP search, adding
11095 support for block sizes 512, 1024 and 4096.
11096 Make VRS recognition independent of block size.
11097
cb0229c5
GC
110982010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11099
11100 Properly handle deleted files on UDF.
11101
11102 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11103 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11104 set.
11105
406858a8
GC
111062010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11107
11108 Support reading files larger than 2 GiB.
11109
11110 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11111 "offset" to grub_off_t.
11112 (grub_udf_read_file): Likewise for parameter "pos".
11113
130da6a7
VS
111142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11117 unavailable.
11118 (Simple configuration): Refer to Changes from GRUB Legacy about
11119 save_env availability.
11120
65e93f6b
VS
111212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * util/grub-install.in: Ignore empty partition table detection
11124 instead of trying to include part_ module.
11125
1fd08bf1
VS
111262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11129 LVM on RAID support.
11130
de1a024f
VS
111312010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 Properly define WORDS_BIGENDIAN in wrapped environments.
11134
11135 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11136 definition.
11137 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11138
11139 Reported by: Manoel Rebelo Abranches.
11140 Tested by: Manoel Rebelo Abranches.
11141
bc5dd0b9
VS
111422010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * util/grub-mkconfig.in: Fix quoting.
11145
58c184be
VS
111462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 Support big ext2 files.
11149
11150 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11151 (grub_ext2_read_block): Support triple indirect blocks.
11152 (grub_ext2_read_file): Use 64-bit types and read size_high.
11153 (grub_ext2_open): Read size_high.
11154 Reported by: Ximin Luo.
11155 Tested by: Manoel Rebelo Abranches.
11156
5f0c02b3
VS
111572010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * util/grub-install.in: Handle filenames containing spaces.
11160 Reported by: Jordan Uggla.
11161 Tested by: Jordan Uggla.
11162
4417aae6
VS
111632010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * util/grub-mkconfig.in (grub_script_check): New variable.
11166 Use grub_script_check instead of grub-script-check.
11167 Reported by: Barry Jackson.
11168
7625a68e
VS
111692010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * docs/grub.texi (menu): Correct the order.
11172 Reported by: D. Hugh Redelmeier.
11173
10001ac5
VS
111742010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11177 jump.
11178
9c4cf53b
MRA
111792010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11180
10001ac5
VS
11181 * include/grub/elfload.h (grub_elf32_size): New parameter.
11182 All users updated.
9c4cf53b
MRA
11183 Return maximum segments alignment.
11184 (grub_elf64_size): Likewise.
11185 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11186 Return maximum segments alignment.
11187 (grub_elf64_size): Likewise.
11188 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11189 (grub_linux_claimmap_iterate): New function. Uses the
11190 "available" property in the "memory" node for memory allocation
11191 for kernel in the PowerPC loader.
9c4cf53b
MRA
11192 (grub_linux_load32): Correctly find linux entry point offset.
11193 (grub_linux_load64): Likewise.
11194
d2bf06bf
RM
111952010-11-07 Robert Millan <rmh@gnu.org>
11196
11197 On mips-yeeloong, build with -march=loongson2f when this flag is
11198 available (GCC >= 4.4).
11199 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11200 `-march=mips3'.
11201 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11202 or otherwise add -march=mips3.
11203
898c99a2
BC
112042010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11205
87220a68
BC
11206 Suppress shell expansion on echo '*' and echo "*" like cases.
11207 Reported by: Jordan Uggla.
898c99a2
BC
11208
11209 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11210 string arguments before shell expansion.
11211 * tests/grub_cmd_echo.in: New testcases.
11212
4f9b406a
RM
112132010-11-07 Robert Millan <rmh@gnu.org>
11214
11215 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11216 transition.
11217
80c6d25e
VS
112182010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * grub-core/kern/emu/hostdisk.c
11221 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11222
4a1a0153
VS
112232010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11226 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11227 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11228
34706ddc
VS
112292010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11232
6972dea9
VS
112332010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * util/grub-install.in: Replace useless recomendation to pass
11236 --modules with a recomendation to report a bug.
11237
9c693bd6
VS
112382010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 Properly register serial terminfo.
11241 Reported by: Jordan Uggla
11242
11243 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11244 const.
11245 (grub_serial_terminfo_output_template): Likewise.
11246 (grub_cmd_serial): Register "serial" with terminfo.
11247 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11248 grub_serial_terminfo_output.
11249
6c9e4c0c
RM
112502010-11-05 Robert Millan <rmh@gnu.org>
11251
11252 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11253 needed).
11254
b9b3839f
RM
112552010-11-05 Robert Millan <rmh@gnu.org>
11256
11257 On Yeeloong, pass machine type information to Linux.
11258
11259 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11260 (LOONGSON_MACHTYPE): New macro, set to
11261 "machtype=lemote-yeeloong-2f-8.9inches".
11262 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11263 additional argument to Linux.
11264
1a3aaff4
RM
112652010-11-04 Robert Millan <rmh@gnu.org>
11266
11267 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11268 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11269 (its SATA disks are detected as slaveless IDE master drives on
11270 kFreeBSD).
11271 Reported by Carsten Aulbert.
11272
a75f4f62
CW
112732010-11-02 Colin Watson <cjwatson@ubuntu.com>
11274
11275 * util/bin2h.c (main): Fix spelling error in generated output.
11276
33b4b0c6
GS
112772010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11278
11279 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11280
2b36fbf4
VS
112812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11284 vga= option is supplied.
11285
74aaf558
VS
112862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11289 * util/grub.d/10_kfreebsd.in: Likewise.
11290 * util/grub.d/10_linux.in: Likewise.
11291 * util/grub.d/20_linux_xen.in: Likewise.
11292
6428dec3
VS
112932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11296 argument as an argument to no-argument option.
11297
f8729d98
VS
112982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * util/grub.d/10_linux.in: Add missing load_video with explicit
11301 GRUB_GFXPAYLOAD_LINUX.
11302
89d68fa6
VS
113032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11306
3a1197cd
VS
113072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11310 elements with invlid index.
11311 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11312 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11313 members.
11314 * include/grub/raid.h (grub_raid_member): New struct.
11315 (grub_raid_array): Transform devices and start_sector into usage of
11316 grub_raid_member. All users updated
11317 (allocated_devs): New member.
11318
71574288
VS
113192010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11322 is modified
11323
8d40ec65
BC
113242010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11325
11326 NetBSD build fix for getline function conflict from gnulib.
11327
11328 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11329 components that depend on gnulib headers.
11330 (libgrubmods.a): Renamed from earlier libgrub.a.
11331 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11332
95b9257e
VS
113332010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11336 install rather than creating a broken install.
11337
26c53dc6
VS
113382010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * util/grub-setup.c (argp): Remove misleading example of installing to
11341 a partition.
11342
4171b3c5
VS
113432010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * util/grub-setup.c (setup): Clarify the error message.
11346
18568d18
VS
113472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11350
4f6a2e21
VS
113512010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * grub-core/kern/emu/misc.c
11354 (grub_make_system_path_relative_to_its_root)
11355 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11356
113572010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11358
11359 * grub-core/kern/emu/misc.c
11360 (grub_make_system_path_relative_to_its_root): Revert r2882.
11361
e138c458
VS
113622010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11365 useless field head. All users updated.
11366 (free_subchunk): Correct handling of IN_REGION subchunk.
11367
0cbcdf0e
CW
113682010-10-22 Colin Watson <cjwatson@ubuntu.com>
11369
11370 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11371 (Supported kernels): Likewise.
11372
b65ea155
GS
113732010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11374
11375 Make mktemp invocations portable.
11376
11377 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11378 exit if mktemp fails.
11379 * tests/grub_script_blockarg.in: Likewise.
11380 * tests/partmap_test.in: Likewise.
11381 * tests/util/grub-shell-tester.in: Likewise.
11382 * tests/util/grub-shell.in: Likewise.
11383 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11384 * Makefile.am: Likewise, and chain shell commands with `&&'
11385 instead of ';'.
11386 * util/grub-mkrescue.in: Use the same explicit template as above, and
11387 exit if mktemp fails.
11388
05f43cdd
BC
113892010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11390
11391 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11392 Linux kernel, reported by Dennis Schridde.
11393
800e6a9b
SJ
113942010-10-17 Szymon Janc <szymon@janc.net.pl>
11395
11396 * grub-core/normal/auth.c (grub_auth_check_authentication):
11397 Set-but-not-used variable removed.
11398
d82df574
VS
113992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11402 32-bit linux protocol.
11403
7bced458
VS
114042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11407 cursor shape for sanity.
11408
5b027690
VS
114092010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * docs/grub.texi (Installation): Document buggy BIOS install.
11412
ba5f65cf
VS
114132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * docs/grub.texi (Installation): Indent.
11416
fdf2ec9c
VS
114172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * util/grub-setup.c (setup): New parameter allow_floppy.
11420 (arguments): New member allow_floppy.
11421 (argp_parser): Handle --allow-floppy.
11422 (main): Pass allow_floppy.
11423 * util/grub-install.in: New option --allow-floppy passed though to
11424 grub-setup.
11425
861dfd4c
VS
114262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * util/grub-install.in: Handle partitionless disks.
11429
f77a8c24
VS
114302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * util/grub-setup.c (setup): Don't clean blocklists before readability
11433 verfification.
11434
27d9ee32
VS
114352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * docs/grub.texi (Installation): Document embedding zone. Remove
11438 obsolete grub-install example.
11439
6bdda8f8
SJ
114402010-10-16 Szymon Janc <szymon@janc.net.pl>
11441
11442 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11443 Set-but-not-used variable ifdef'ed.
11444 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11445 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11446 variable removed.
11447 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11448 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11449 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11450 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11451 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11452 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11453 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11454 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11455 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11456 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11457 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11458 Likewise.
11459
e19b016b
VS
114602010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11463 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11464 enum value.
11465
6c8d3002
VS
114662010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11469 synonym to _S5_. Needed for some DSDTs.
11470
c32b51c9
VS
114712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 Userspace ACPI parser debugging.
11474
11475 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11476 headers and add relevant defines. Don't include standard headers.
11477 (main) [GRUB_DSDT_TEST]: New function.
11478 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11479 Don't declare functions.
11480
fbfbeb39
VS
114812010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 Remove dead grub_efi_mm_fini.
11484
11485 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11486 (ALLOCATED_PAGES_SIZE): Likewise.
11487 (MAX_ALLOCATED_PAGES): Likewise.
11488 (allocated_pages): Likewise.
11489 (grub_efi_allocate_pages): Don't record allocated pages.
11490 (grub_efi_free_pages): Likewise.
11491 (grub_efi_mm_init): Likewise.
11492 (grub_efi_mm_fini): Removed.
11493
65f7ed7c
VS
114942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11497 (grub_efi_mm_init): Take into account the memory map size increase.
11498
24977b44
VS
114992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11502 (serial_hw_put): Wait based on real time rather than port reads. Don't
11503 roken ports.
11504 * include/grub/serial.h (grub_serial_port): New field broken.
11505
1eb01cd2
RM
115062010-10-16 Robert Millan <rmh@gnu.org>
11507
11508 * grub-core/kern/emu/misc.c
11509 (grub_make_system_path_relative_to_its_root): Fix premature return
11510 when processing non-root ZFS filesystems.
5f8b440b 11511 Reported by Sergio Talens-Oliag.
1eb01cd2 11512
2d5fed60
RM
115132010-10-15 Robert Millan <rmh@gnu.org>
11514
11515 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11516 guarantee compressed ones are processed first.
11517
d0f4c1ea
VS
115182010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11521 grub_efiemu_autocore.
11522
d87c681f
VS
115232010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11526 rather than 0x1b.
11527 (grub_console_getkey): Use correct jae opcode rather than ja.
11528
219b3564
RM
115292010-10-12 Robert Millan <rmh@gnu.org>
11530
11531 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11532 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11533 variable. All references updated.
11534
11535 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11536
20c6bb7e
VS
115372010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 Correctly distinguish mdraid flavours.
11540
11541 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11542 (insert_array): New argument raid.
11543 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11544 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11545 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11546
74baff84
VS
115472010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11550 handling of special keys.
11551
3ef068df 115522010-10-02 Aleš Nesrsta <starous@volny.cz>
11553
c7980ad9
VS
11554 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11555 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11556
a9455194 115572010-10-02 Aleš Nesrsta <starous@volny.cz>
11558
c7980ad9
VS
11559 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11560 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11561 users updated.
a9455194 11562 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11563 Use right endpoint when querying descriptor.
a9455194 11564
441cfe65
VS
115652010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 Clear out 0x80 color bit on EFI.
11568 Tested by: decoder
11569 Reported by: decoder and meta tech.
11570
11571 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11572 (grub_console_setcolorstate): Clear out 0x80 bit.
11573 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11574 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11575 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11576
bf26bcc4
VS
115772010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11580 Set to "auto".
11581
6e3c515d
VS
115822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11585 mo_file after freeing.
11586
e6d983ba
VS
115872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11590
74ccb5b5
VS
115912010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11594 flags.
11595
17821956
VS
115962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11599 usage.
11600
ee74fa48
VS
116012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11604
11605 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11606 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11607 and terminfo.h when needed.
11608 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11609 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11610 (terminfo): Enable only on terminfokernel.
11611 (extcmd): Likewise.
11612 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11613 * include/grub/lib/arg.h: Likewise.
11614 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11615 incorrect usage of ->.
11616
aa438e68
VS
116172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11620 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11621
57994012
VS
116222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 Fix coreboot compilation.
11625
11626 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11627 Take VBE info into account even if only text is supported.
11628 (fill_vbe_info): Take into account the case when only VGA text
11629 is supported.
11630 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11631 on coreboot, multiboot and qemu.
11632
2a406611
VS
116332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11636 debug messages.
11637 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11638
d33613fc
VS
116392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11642 parameters.
11643
44a1b432
VS
116442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11647 if they were BSD-style.
11648
edde54e6
VS
116492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * grub-core/boot/i386/pc/lnxboot.S: Replace
11652 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11653 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11654
b65830fa
VS
116552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 Write embedding zone using Reed-Solomon.
11658
11659 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11660 * grub-core/Makefile.am (rs_decoder.S): New target.
11661 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11662 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11663 (multiboot): Move to RS part.
11664 (post_reed_solomon): New label.
11665 (grub_boot_drive): Move to non-RS part since it's modified in memory
11666 on boot.
11667 Include rs_decoder.S.
11668 * grub-core/lib/reed_solomon.c: New file.
11669 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11670 New definition.
11671 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11672 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11673 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11674 * include/grub/partition.h (grub_partition_map): Change prototype of
11675 embed to allow returning additional sectors.
11676 * include/grub/reed_solomon.h: New file.
11677 * util/grub-setup.c (setup): Handle Reed-Solomon.
11678
0b4b227f
CW
116792010-09-28 Colin Watson <cjwatson@ubuntu.com>
11680
11681 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11682 i386 and x86-64 definedness tests.
11683
f772623b
YB
116842010-09-27 Yves Blusseau <blusseau@zetam.org>
11685
11686 Fix generation of kernel_syms.lst
11687
11688 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11689 ASM_PREFIX
11690
8e57a6ca
RM
116912010-09-26 Robert Millan <rmh@gnu.org>
11692
11693 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11694
11695 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11696 the pool is an array of devices, iterate through it and return the
11697 first device that passes a stat() test (instead of blindly returning
11698 the first one).
11699
f9130836
RM
117002010-09-26 Robert Millan <rmh@gnu.org>
11701
11702 Build fixes for GNU/kFreeBSD.
11703
11704 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11705 to programs that require ZFS conversion.
11706 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11707 kernels that don't have FLOPPY_MAJOR.
11708
96510faf
BC
117092010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11710
11711 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11712
449333eb
BC
117132010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11714
11715 Fix grub-emu build.
11716
11717 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11718 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11719 mdraid09 and mdraid1x.
11720
e1fd1939
CW
117212010-09-24 Colin Watson <cjwatson@ubuntu.com>
11722
11723 Re-enable grub-extras.
11724
11725 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11726 avoid confusing Automake. Run autogen only twice, once for the top
11727 level and once for grub-core. Add Makefile.util.def and
11728 Makefile.core.def from extra modules to the appropriate autogen
11729 invocations. If Makefile.common exists in an extra module, include
11730 it in both Makefile.util.am and grub-core/Makefile.core.am;
11731 similarly, include any Makefile.util.common file in Makefile.util.am
11732 and any Makefile.core.common file in grub-core/Makefile.core.am.
11733 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11734 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11735 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11736 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11737
11738 * gentpl.py (gvar_add): Turn GVARS into a set.
11739 (global_variable_initializers): Sort global variables on output.
11740 (vars_init): New function.
11741 (first_time): Likewise.
11742 (library): Ensure that non-global variable initialisations are
11743 emitted before the first time we emit code for a library block.
11744 Append to variables rather than setting them. Only emit
11745 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11746 each conditional path.
11747 (program): installdir() emits an Autogen macro, so must be passed to
11748 var_add rather than gvar_add.
11749 (data): Likewise.
11750 (script): Likewise.
11751 (rules): New function, centralising handling for different target
11752 types. Set up Guile association lists for first_time and vars_init,
11753 and send most output to a diversion so that variable initialisations
11754 can be emitted first.
11755 (module_rules): Use new rules function.
11756 (kernel_rules): Likewise.
11757 (image_rules): Likewise.
11758 (library_rules): Likewise.
11759 (program_rules): Likewise.
11760 (script_rules): Likewise.
11761 (data_rules): Likewise.
11762
11763 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11764
11765 * .bzrignore: Add contrib and grub-core/contrib. Remove
11766 grub-core/Makefile.gcry.am.
11767
1d12cf29
YB
117682010-09-24 Yves Blusseau <blusseau@zetam.org>
11769
11770 * grub-core/lib/LzFind.c: Add missing include.
11771 * grub-core/lib/LzmaEnc.c: Likewise.
11772 * grub-core/script/lexer.c: Likewise.
11773 * grub-core/script/yylex.l: Likewise.
11774 * util/grub-macho2img.c: Likewise.
11775 * util/grub-menulst2cfg.c: Likewise.
11776 * util/grub-mklayout.c: Likewise.
11777 * util/grub-mkpasswd-pbkdf2.c
11778 * util/grub-mkrelpath.c: Likewise.
11779 * util/resolve.c: Likewise.
11780
dd363028
BC
117812010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11782
11783 * Makefile.util.def (example_unit_test): Add
11784 grub-core/gnulib/libgnu.a.
11785
f5a109e2
GS
117862010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11787
11788 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11789
6d0fa83c
VS
117902010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 Support xz compression on yeeloong.
11793
11794 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11795 * configure.ac: Check for LZMA.
11796 * grub-core/Makefile.core.def (xz_decompress): New target.
11797 (none_decompress): Likewise.
11798 * grub-core/boot/decompressor/minilib.c: New file.
11799 * grub-core/boot/decompressor/none.c: Likewise.
11800 * grub-core/boot/decompressor/xz.c: Likewise.
11801 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11802 * grub-core/kern/mips/cache_flush.S: Likewise.
11803 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11804 * grub-core/kern/mips/startup.S: Move first stage to ...
11805 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11806 nomacro.
11807 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11808 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11809 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11810 Allocate statically.
11811 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11812 Allocate statically or use scratch. Don't check CRC32.
11813 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11814 Allocate statically. Don't check CRC32.
11815 * include/grub/decompressor.h: New file.
11816 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11817 Removed.
11818 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11819 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11820 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11821 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11822 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11823 * util/grub-mkimage.c (grub_compression_t): New type.
11824 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11825 (image_target_desc): New field default_compression.
11826 (image_targets): Adjust yeeloong targets.
11827 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11828 (compress_kernel): New parameter comp.
11829 (generate_image): Likewise. Handle new compression case.
11830 (options): New option --compression
11831 (help): Likewise.
11832 (main): Handle new option.
11833
1b655af6
GS
118342010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11835
11836 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11837
8f03f0b5
CW
118382010-09-22 Colin Watson <cjwatson@ubuntu.com>
11839
11840 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11841 typo in __i386__ conditional.
11842
7835dfd3
VS
118432010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11846 include.
11847
e255597e
VS
118482010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11849
6d0fa83c 11850 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11851
11852 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11853 new tags as supported.
11854 (acpiv2_size): New function.
11855 (grub_multiboot_get_mbi_size): Take new tags into account.
11856 (grub_multiboot_make_mbi): Add new tags.
11857 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11858
6cc14051 118592010-09-21 Aleš Nesrsta <starous@volny.cz>
11860
11861 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11862 Added missing configuration of USB device.
11863
df7769d8
CW
118642010-09-21 Colin Watson <cjwatson@ubuntu.com>
11865
11866 * grub-core/normal/menu_entry.c (run): Make sure we always return
11867 a value.
11868
b031012d
CW
118692010-09-21 Colin Watson <cjwatson@ubuntu.com>
11870
11871 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11872 NumberOfPages is UINT64 according to the UEFI specification, not
11873 UINTN. Fix printf format.
11874
174de8f3
CW
118752010-09-21 Colin Watson <cjwatson@ubuntu.com>
11876
11877 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11878 `err' to grub_usb_err_t.
11879 Reported and tested by: KESHAV P.R.
11880
d7dbe923
CW
118812010-09-21 Colin Watson <cjwatson@ubuntu.com>
11882
11883 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11884 tpart non-const, so that we can assign to it. (Since this is a
11885 typedef, the constness refers to the pointer rather than what it
11886 points to.)
11887
8d5e2af3
CW
118882010-09-21 Colin Watson <cjwatson@ubuntu.com>
11889
11890 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11891 $(top_srcdir)/grub-core/gnulib as well as
11892 $(top_builddir)/grub-core/gnulib.
11893 Reported by: KESHAV P.R.
11894
5c527783
CW
118952010-09-21 Colin Watson <cjwatson@ubuntu.com>
11896
11897 * util/grub-install.in: Fix the bootloader ID option to be
11898 consistently --bootloader-id, not --bootloader_id.
11899 Reported by: KESHAV P.R.
11900
d309a16e
CW
119012010-09-21 Colin Watson <cjwatson@ubuntu.com>
11902
11903 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11904 check hash checksum." consistently translatable.
11905
b830cd16
YB
119062010-09-21 Yves Blusseau <blusseau@zetam.org>
11907
11908 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11909 $(top_builddir).
11910
c4fe27a8
CW
119112010-09-21 Colin Watson <cjwatson@ubuntu.com>
11912
11913 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11914 (GRUB_MOD_INIT): Register sha1sum command.
11915 (GRUB_MOD_FINI): Unregister sha1sum command.
11916
a4c1d277
YB
119172010-09-21 Yves Blusseau <blusseau@zetam.org>
11918
11919 Keep boot and grub directory names in sync with utils scripts
11920
11921 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11922 * config.h.in: Add previous macros.
11923 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11924 * util/grub-install.in: Use $bootdir and $grubdir variables.
11925
4eff79d2
CW
119262010-09-21 Colin Watson <cjwatson@ubuntu.com>
11927
11928 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11929 convert partition names to disk names if the new `convert' parameter
11930 is set.
11931 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11932 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11933 disk in its own right. This can happen with Xen disk images.
11934
934d7e44
YB
119352010-09-21 Yves Blusseau <blusseau@zetam.org>
11936
11937 * util/grub-editenv.c: Update strings to avoid warnings when generating
11938 grub.pot file.
11939 * util/grub-setup.c: Likewise.
934d7e44 11940
df3367cc
VS
119412010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 * configure.ac: Change version to 1.99~beta0.
11944
77a94e98
VS
119452010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11948 Add BADRAM.
11949 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11950 Likewise.
11951 * include/multiboot.h: Resynced with specification.
11952 * include/multiboot2.h: Likewise.
11953
269004c1
CW
119542010-09-21 Colin Watson <cjwatson@ubuntu.com>
11955
11956 Fix po directory handling.
11957
11958 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11959 * grub-core/gnulib/Makefile.am: Import gettext module.
11960 * m4/gnulib-cache.m4: Likewise.
11961 * m4/gnulib-comp.m4: Likewise.
11962 * m4/gettext.m4: New file, from gnulib.
11963 * m4/glibc2.m4: Likewise.
11964 * m4/iconv.m4: Likewise.
11965 * m4/intdiv0.m4: Likewise.
11966 * m4/intl.m4: Likewise.
11967 * m4/intldir.m4: Likewise.
11968 * m4/intlmacosx.m4: Likewise.
11969 * m4/intmax.m4: Likewise.
11970 * m4/inttypes-pri.m4: Likewise.
11971 * m4/lcmessage.m4: Likewise.
11972 * m4/lib-ld.m4: Likewise.
11973 * m4/lib-link.m4: Likewise.
11974 * m4/lib-prefix.m4: Likewise.
11975 * m4/lock.m4: Likewise.
11976 * m4/nls.m4: Likewise.
11977 * m4/po.m4: Likewise.
11978 * m4/printf-posix.m4: Likewise.
11979 * m4/progtest.m4: Likewise.
11980 * m4/threadlib.m4: Likewise.
11981 * m4/uintmax_t.m4: Likewise.
11982 * m4/visibility.m4: Likewise.
11983 * po/Makefile.am: Remove.
11984 * po/Makefile.in.in: New file, from gettext.
11985 ($(DOMAIN).pot-update): Support POTFILES-shell.
11986 * po/Makevars: New file.
11987 * po/POTFILES-shell: Rename to ...
11988 * po/POTFILES-shell.in: ... this. Update.
11989 * po/POTFILES: Rename to ...
11990 * po/POTFILES.in: ... this. Update.
11991 * po/Rules-quot: New file, from gettext.
11992 * po/boldquot.sed: Likewise.
11993 * po/en@boldquot.header: Likewise.
11994 * po/en@quot.header: Likewise.
11995 * po/insert-header.sin: Likewise.
11996 * po/quot.sed: Likewise.
11997 * po/remove-potcdate.sin: Likewise.
11998
3e0fa5d0
VS
119992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12002
ade9bd66
VS
120032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * util/grub.d/20_linux_xen.in: Use submenus.
12006
fc55cc4c
VS
120072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 Support submenus.
12010
12011 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12012 parameter submenu. All users updated.
12013 * grub-core/normal/main.c (free_menu): Rename to ...
12014 (grub_normal_free_menu): ... this. Made global.
12015 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12016 if requested.
12017 * grub-core/normal/menu_entry.c (screen): New field submenu.
12018 (make_screen): Set submenu.
12019 (run): Open new context if requested.
12020 * include/grub/menu.h (grub_menu_entry): New field submenu.
12021 * include/grub/normal.h (grub_normal_free_menu): New proto.
12022
600cedf7
VS
120232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 Menu entries extractor.
12026
12027 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12028 variants.
12029 (GRUB_MOD_INIT): Register new variants.
12030 (GRUB_MOD_FINI): Unregister new variants.
12031 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12032 into grub_cmd_legacy_source.
12033 (grub_cmd_legacy_source): Implement extractor variants.
12034 (GRUB_MOD_INIT): Register new variants.
12035 (GRUB_MOD_FINI): Unregister new variants.
12036 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12037 as an extractor.
12038 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12039 search as an extractor.
12040 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12041 test as an extractor.
12042 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12043 as an extractor.
12044 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12045 (grub_env_new_context): New function.
12046 (grub_env_context_open): Likewise.
12047 (grub_env_extractor_open): Likewise.
12048 (grub_env_extractor_close): Likewise.
12049 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12050 grub_extractor_level.
12051 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12052 * include/grub/env.h (grub_env_extractor_open): New proto.
12053 (grub_env_extractor_close): Likewise.
12054 * include/grub/normal.h (grub_extractor_level): New external variable.
12055
7bda3a87
VS
120562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 Make cutmem accept a region specification.
12059 Suggested by: Samuel Thibault
12060
12061 * grub-core/mmap/mmap.c (parsemem): New function.
12062 (grub_cmd_cutmem): Handle new arguments.
12063
2ea57f88
VS
120642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 New command cutmem.
12067
12068 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12069 (GRUB_MOD_INIT): Register new command.
12070 (GRUB_MOD_FINI): Unregister new command.
12071
74342e31
VS
120722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 Support some annoying BSD and Minix subpartitions.
12075
12076 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12077 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12078 Properly handle concatenation.
12079 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12080 * grub-core/normal/completion.c (iterate_partition): Likewise.
12081 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12082 contain partition. All users updated.
12083 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12084 struct.
12085 (grub_openbsdlabel_partition_map): Likewise.
12086 (bsdlabel_partition_map_iterate): Rename to ..
12087 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12088 (bsdlabel_partition_map_iterate): New function.
12089 (netopenbsdlabel_partition_map_iterate): Likewise.
12090 (netbsdlabel_partition_map_iterate): Likewise.
12091 (openbsdlabel_partition_map_iterate): Likewise.
12092 (GRUB_MOD_INIT): Register new partmaps.
12093 (GRUB_MOD_FINI): Unregister new partmaps.
12094 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12095 (grub_partition_msdos_iterate): ... this. All users updated.
12096 Don't support embedding other than in a minix partition.
12097 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12098 proto.
12099 * include/grub/partition.h (grub_partition): New field msdostype.
12100 * util/grub-install.in: Handle openbsd and netbsd types being in
12101 part_bsd module.
12102
1e8d555b
VS
121032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12106
12107 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12108 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12109 (mdraid09): ... this.
12110 (mdraid1x): New module.
12111 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12112 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12113
899d8af4
VS
121142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12117 vsprintf.
12118
40901acd
CW
121192010-09-20 Colin Watson <cjwatson@ubuntu.com>
12120
12121 * grub-core/commands/efi/lsefimmap.c: Correct header.
12122 * NEWS: Update.
12123
dfe3b247
CW
121242010-09-20 Colin Watson <cjwatson@ubuntu.com>
12125
12126 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12127 as printf format strings; the translations might contain '%' which
12128 could cause a crash.
12129 (main): Likewise.
12130 * util/grub-fstest.c (argp_parser): Likewise.
12131 * util/grub-setup.c (argp_parser): Likewise.
12132 (main): Likewise.
12133
3286a4b4
VS
121342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 Use argp in grub-fstest.
12137
12138 * util/grub-fstest.c: Don't include getopt.h.
12139 Include argp.h.
12140 (root): New variable.
12141 (args_count): Likewise.
12142 (nparm): Likewise.
12143 (num_disks): Likewise.
12144 (images): Likewise.
12145 (cmd): Likewise.
12146 (debug_str): Likewise.
12147 (args): Likewise.
12148 (options): Transformed to argp.
12149 (usage): Removed.
12150 (main): Split argument parsing into ...
12151 (argp_parser): ... this. Changed to argp format.
12152 (argp): New variable.
12153 (main): Use argp_parse.
12154
3dccbe4b
TG
121552010-09-20 Tristan Gingold <gingold@free.fr>
121562010-09-20 Robert Millan <rmh.grub@aybabtu.com>
121572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/commands/efi/lsefimmap.c: New file.
12160 * grub-core/Makefile.core.def (lsefimmap): New module.
12161 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12162
38c259a7
VS
121632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 Pause the execution (10s max) if any errors are displayed so the user
12166 has a chance to see them.
12167
12168 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12169 (grub_print_error): Increment grub_err_printed_errors.
12170 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12171 execution if any errors were displayed.
12172 (show_menu): Remove old code for pause.
12173 * grub-core/normal/menu_entry.c (run): Likewise.
12174 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12175 users updated.
12176 (grub_normal_get_char_counter): Likewise.
12177 * include/grub/err.h (grub_err_printed_errors): New external variable.
12178 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12179
f218b09c
VS
121802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 Support multiboot VBE info.
12183
12184 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12185 Take VBE info into account.
12186 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12187 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12188 Call fill_vbe_info when appropriate.
12189 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12190 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12191 as supported.
12192 (grub_multiboot_get_mbi_size): Take new tags into account.
12193 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12194 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12195 Call fill_vbe_tag when appropriate.
12196 (grub_multiboot_make_mbi): Properly align tags.
12197 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12198 function.
12199 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12200 proto.
12201 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12202
a9cc5438
VS
122032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 Suport manual terminal geometry specification.
12206
12207 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12208 Save state in grub_ofconsole_terminfo_output.
12209 (grub_ofconsole_term): Use grub_terminfo_getwh.
12210 (grub_ofconsole_getwh): Removed.
12211 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12212 (grub_serial_term): Use grub_terminfo_getwh.
12213 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12214 (options): New struct.
12215 (OPTION_*): New enum.
12216 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12217 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12218 width and height.
12219 (grub_terminfo_getwh): New proto.
12220 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12221
1a8fed20
VS
122222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 Handle legacy "terminal" command.
12225
12226 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12227 and FLAG_TERMINAL.
12228 (legacy_commands): Add terminal and title.
12229 (grub_legacy_parse): Handle terminal. Simplify title handling.
12230
41e9c57d
VS
122312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12234 parameters overflow.
12235
61c874c5
CW
122362010-09-20 Colin Watson <cjwatson@ubuntu.com>
12237
12238 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12239 widthspec.h.
12240
12241 * docs/grub.texi (Shell-like scripting): Document `!'.
12242 (Network): Simplify using new i386-pc-pxe format. Mention
12243 grub-mknetdir.
12244
12245 * NEWS: Update.
12246
943682b4
CW
122472010-09-20 Colin Watson <cjwatson@ubuntu.com>
12248
12249 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12250 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12251 when needed.
12252
6d3d698d
CW
122532010-09-20 Colin Watson <cjwatson@ubuntu.com>
12254
12255 * grub-core/commands/efi/lsefisystab.c: Correct header.
12256 * grub-core/commands/efi/lssal.c: Likewise.
12257 * grub-core/commands/testload.c: Likewise.
12258
c982589f
CW
122592010-09-20 Colin Watson <cjwatson@ubuntu.com>
12260
12261 * util/grub-mkrescue.in: Add explicit root argument to --set to
12262 prevent the UUID being interpreted as an argument to --set (matches
12263 previous change to prepare_grub_to_access_device).
12264
a63c31b6
CW
122652010-09-20 Colin Watson <cjwatson@ubuntu.com>
12266
12267 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12268 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12269 the verbosity of later #ifs.
12270 (find_partition_start): Define this function on FreeBSD too.
12271 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12272 function.
12273 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12274 on FreeBSD.
12275
6439b8ee
YB
122762010-09-20 Yves Blusseau <blusseau@zetam.org>
12277
12278 * util/grub-editenv.c: Use argp instead of getopt.
12279
c5930ec8
YB
122802010-09-20 Yves Blusseau <blusseau@zetam.org>
12281
12282 * util/grub-setup.c: Use argp instead of getopt.
12283
15c69261
YB
122842010-09-20 Yves Blusseau <blusseau@zetam.org>
12285
12286 Use gnulib-tool to create gnulib source files.
12287
12288 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12289 grub-core/gnulib directories
12290 * .bzignore: Add **/.deps and autogenerated gnulib files
12291 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12292 of gnulib macros, add grub-core/gnulib/Makefile
12293 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12294 include m4 directory to aclocal.
12295 * Makefile.util.def: Remove direct compilation of gnulib source files
12296 and use the new grub-core/gnulib/libgnu.a.
12297 * build-aux/config.rpath: move config.rpath from top directory to
12298 build-aux
12299 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12300 in gnulib headers
12301 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12302 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12303 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12304 header.
12305 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12306 string.
12307
e511c9f5
YB
123082010-09-20 Yves Blusseau <blusseau@zetam.org>
12309
12310 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12311 grub-core/genmod.sh and grub-core/gensyminfo.sh
12312
c2dede05
BC
123132010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12314
12315 Add a test for echo command options.
12316
12317 * tests/grub_cmd_echo.in: New test.
12318 * Makefile.util.def: Rules for new test.
12319
c55f5018
SJ
123202010-09-20 Szymon Janc <szymon@janc.net.pl>
12321
12322 Remove crc.mod and move crc command to hashsum.mod.
12323 Remove lib/crc.c - users updated to use gcrypt implementation.
12324
12325 * grub-core/commands/crc.c: Removed.
12326 * grub-core/Makefile.core.def (crc): Module removed.
12327 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12328 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12329 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12330 * grub-core/lib/crc.c: Removed.
12331 * include/grub/lib/crc.h: Removed.
12332 * Makefile.util.def (crc): Remove lib/crc.c
12333 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12334 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12335 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12336 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12337 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12338 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12339
e0337366
VS
123402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12343
742f9232
VS
123442010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 Split config.h for util and core.
12347
12348 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12349 (ADDR32): Likewise.
12350 (DATA32): Likewise.
12351 (BSS_START_SYMBOL): Likewise.
12352 (END_SYMBOL): Likewise.
12353 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12354 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12355 * config.h.in: New file.
12356 * configure.ac: Use config-util.h as config define file.
12357 Rename MACHINE into GRUB_MACHINE. All users updated.
12358 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12359 updated.
12360 (NESTED_FUNC_ATTR): Likewise.
12361 Substitue new variables.
12362 (COND_HAVE_ASM_USCORE): New conditional.
12363 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12364 (kernel_syms.lst): Use ASM_PREFIX.
12365 * grub-core/kern/emu/console.c: Include config-util.h.
12366 * grub-core/kern/emu/misc.c: Likewise.
12367 * grub-core/kern/emu/mm.c: Likewise.
12368 * include/grub/emu/misc.h: Likewise.
12369 * include/grub/libgcc.h: Likewise.
12370
39feb0e8
VS
123712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12374 constants usage.
12375 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12376 Fix GRUB_TERM_KEY_* constants usage.
12377 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12378
9af6dac3
VS
123792010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12382 print pointer.
12383 * grub-core/bus/usb/uhci.c: Remove empty define.
12384 (grub_uhci_check_transfer): Add missing cast.
12385 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12386 print pointer.
12387 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12388 PRIuGRUB_SIZE.
12389 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12390
d6d94820
VS
123912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * grub-core/Makefile.core.def (legacycfg): Add
12394 lib/i386/pc/vesa_modes_table.c on emu.
12395
3572f2b6
BC
123962010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12397
12398 Reduce number of temporary files generated by build system.
12399
12400 * grub-core/gencmdlist.sh: Removed.
12401 * grub-core/genfslist.sh: Removed.
12402 * grub-core/genhandlerlist.sh: Removed.
12403 * grub-core/genmodsrc.sh: Removed.
12404 * grub-core/genpartmaplist.sh: Removed.
12405 * grub-core/genparttoollist.sh: Removed.
12406 * grub-core/gentermiinallist.sh: Removed.
12407 * grub-core/genvideolist.sh: Removed.
12408
12409 * grub-core/genmod.sh.in: New file.
12410 * grub-core/gensyminfo.sh.in: New file.
12411
12412 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12413 * conf/Makefile.extra-dist: Update with new files.
12414 * gentpl.py: Remove rules related to unnecessary temporary files.
12415 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12416 and und-* files.
12417 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12418 genmod.sh scripts.
12419 * grub-core/bus/usb/uhci.c: Remove empty #define.
12420 * grub-core/genmoddep.awk: Updated with new syminfo format.
12421 * util/bash-completion.d/Makefile.am: Add config.log to
12422 CLEANFILES.
12423
c836b030
YB
124242010-09-19 Yves Blusseau <blusseau@zetam.org>
12425
12426 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12427
2f4e8053
BC
124282010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12429
12430 * util/grub-mkconfig.in: Check the config script for syntax errors
12431 before saving.
12432
75831c34
CW
124332010-09-19 Colin Watson <cjwatson@ubuntu.com>
124342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12437 platforms.
12438 * util/grub-install.in: Add EFI and IEEE1275 support.
12439 * util/i386/efi/grub-install.in: Removed.
12440 * util/ieee1275/grub-install.in: Likewise.
12441
eaf41b25
VS
124422010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12445 (grub_cmd_cmosclean): Likewise.
12446 (GRUB_MOD_INIT): Register command cmosclean.
12447 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12448 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12449
1a9130dd
CPE
124502010-09-18 Carles Pina i Estany <carles@pina.cat>
124512010-09-18 Aleš Nesrsta <starous@volny.cz>
124522010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 Add keyboard layouts support.
12455
12456 * Makefile.util.def (grub-mklayout): New file.
12457 (grub-kbdcomp): New script.
12458 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12459 Add keyboard_layouts.h.
12460 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12461 commands/boot.c on yeeloong.
12462 (keylayouts): New module.
12463 * grub-core/bus/usb/ohci.c
12464 * grub-core/bus/usb/uhci.c
12465 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12466 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12467 (attach_root_port): Likewise.
12468 (poll_nonroot_hub): Likewise.
12469 (grub_usb_poll_devices): Likewise.
12470 (detach_device): Close transfer.
12471 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12472 function.
12473 (grub_usb_bulk_setup_readwrite): Likewise.
12474 (grub_usb_bulk_finish_readwrite): Likewise.
12475 * grub-core/commands/keylayouts.c: New file.
12476 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12477 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12478 aliases.
12479 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12480 support scancode 2.
12481 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12482 * include/grub/keyboard_layouts.h: New file.
12483 * util/grub-mklayout.c: New file.
12484 * util/grub-kbdcomp.in: Likewise.
12485
a1d84a5e
VS
124862010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12487
12488 Unify memory types.
12489
12490 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12491 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12492 types.
12493 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12494 (grub_upper_mem): Likewise.
12495 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12496 * include/grub/memory.h (grub_memory_type_t): New enum.
12497 All users updated.
12498
9696382e
VS
124992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 * grub-core/Makefile.core.def (lsapm): New module.
12502 * grub-core/commands/i386/pc/lsapm.c: New file.
12503 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12504 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12505 Likewise.
12506 * include/grub/i386/pc/apm.h: New file.
12507 * include/multiboot.h (multiboot_apm_info): New struct.
12508
125092010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 GRUB-legacy configuration file support.
12512
12513 * Makefile.util.def (grub-menulst2cfg): New util.
12514 * docs/man/grub-menulst2cfg.h2m: New file.
12515 * grub-core/Makefile.core.def (legacycfg): New module.
12516 * grub-core/commands/legacycfg.c: New file.
12517 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12518 (grub_normal_add_menu_entry): ... this.
12519 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12520 (grub_normal_set_password): ...this.
12521 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12522 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12523 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12524 * grub-core/lib/legacy_parse.c: New file.
12525 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12526 * include/grub/i386/pc/vesa_modes_table.h: New file.
12527 * include/grub/legacy_parse.h: Likewise.
12528 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12529 * util/grub-menulst2cfg.c: New file.
12530
bf8d1338
CW
125312010-09-17 Colin Watson <cjwatson@ubuntu.com>
12532
12533 * grub-core/kern/emu/hostdisk.c
12534 (convert_system_partition_to_system_disk): Initialise node.
12535
9c0bad2e
CW
125362010-09-17 Colin Watson <cjwatson@ubuntu.com>
12537
12538 * grub-core/kern/emu/hostdisk.c
12539 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12540 leak.
12541 Reported and based on patch by: Modestas Vainius.
12542
a939d135
CW
125432010-09-17 Colin Watson <cjwatson@ubuntu.com>
12544
12545 Fix DM-RAID probing with recent versions of device-mapper udev
12546 rules.
12547
12548 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12549 canonicalise device paths under /dev/mapper/.
12550 (convert_system_partition_to_system_disk): Compare the
12551 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12552 path, since device nodes under /dev/mapper/ are often symlinks.
12553
0f7ee3c9
YB
125542010-09-17 Yves Blusseau <blusseau@zetam.org>
12555
12556 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12557
10854d0d
YB
125582010-09-16 Yves Blusseau <blusseau@zetam.org>
12559
12560 * configure.ac: Avoid some annoying error messages if freetype-config
12561 program is not found.
12562
108538d8
CW
125632010-09-16 Colin Watson <cjwatson@ubuntu.com>
12564
12565 Support RAID on virtio devices, and others.
12566
12567 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12568 Rename to ...
12569 [__MINGW32__] (grub_find_device): ... this.
12570 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12571 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12572 reasonable default if dir is NULL.
12573 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12574 ...
12575 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12576 (grub_guess_root_device): Update callers.
12577 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12578
12579 * util/raid.c (grub_util_getdiskname): Remove.
12580 (grub_util_raid_getmembers): Use grub_find_device rather than
12581 grub_util_getdiskname.
12582
e5bfc130
CW
125832010-09-16 Colin Watson <cjwatson@ubuntu.com>
12584
12585 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12586 needing to be compiled with serial support.
12587 (ls): Indicate that multiple files are accepted.
12588 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12589 indicate that multiple files are accepted.
12590
be458ae2
CW
125912010-09-16 Colin Watson <cjwatson@ubuntu.com>
12592
12593 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12594 libgrub_a_init.c, and util/bash-completion.d/grub.
12595
cb731b5e
VS
125962010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * util/grub-setup.c (setup): Fix incorrect container semantics.
12599
35139e8a
VS
126002010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12603 misusage.
12604 Reported by: J. Nick Terry
12605
e50fca4a
VS
126062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 Move embedding routines to partmap sources files.
12609
12610 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12611 [GRUB_UTIL]: New variable.
12612 (gpt_partition_map_iterate): Set part.parent.
12613 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12614 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12615 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12616 New function.
12617 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12618 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12619 (grub_partition_map) [GRUB_UTIL]: New field embed.
12620 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12621 (setup): Use ->embed.
12622
f00478b7
VS
126232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12626 function.
12627 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12628 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12629
2b94e3ff
YB
126302010-09-15 Yves Blusseau <blusseau@zetam.org>
12631
12632 Add function to get completions from usage.
12633
12634 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12635 completions from usage. Use LC_ALL=C to get options properly.
12636
2e04a006
VS
126372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/gnulib/basename-lgpl.c: Imported.
12640 * grub-core/gnulib/basename.c: Likewise.
12641 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12642 * grub-core/gnulib/dirname.c: Likewise.
12643 * grub-core/gnulib/dirname.h: Likewise.
12644 * grub-core/gnulib/stripslash.c: Likewise.
12645
5dcdf93a
VS
126462010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/gnulib/error.c: Resynced.
12649 * grub-core/gnulib/getopt.c: Likewise.
12650 * grub-core/gnulib/getopt_int.h: Likewise.
12651 * grub-core/gnulib/regex.h: Likewise.
12652 * grub-core/gnulib/regex_internal.c: Likewise.
12653 * grub-core/gnulib/regex_internal.h: Likewise.
12654
014f47b7
SJ
126552010-09-15 Szymon Janc <szymon@janc.net.pl>
12656
12657 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12658 CRC calculations and validity checks.
12659 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12660 calculations.
12661
dd521a4a
SJ
126622010-09-15 Szymon Janc <szymon@janc.net.pl>
12663
12664 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12665
79c4eeb9
VS
126662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 Fix incorrect echo options handling.
12669 Reported by: Yves Blusseau.
12670
12671 * include/grub/command.h (grub_command_flags_t): New flags
12672 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12673 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12674 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12675
ed80f7d5
VS
126762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12679 users updated.
12680 (GRUB_COMMAND_FLAG_MENU): Likewise.
12681 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12682 (GRUB_COMMAND_FLAG_TITLE): Removed.
12683 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12684 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12685 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12686 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12687 (grub_command_flags_t): New enum. All users updated.
12688
5fe7620a
SG
126892010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12690
12691 Fix solaris compilation.
12692
12693 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12694 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12695 (grub-emu-list): Likewise.
12696
545b752f
VS
126972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 Remove deprecated root command.
12700
12701 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12702 updated.
12703
6c1a338c
VS
127042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 * util/i386/pc/grub-setup.c: Merge this ...
12707 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12708 * util/grub-setup.c: ... into this.
12709 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12710 New struct.
12711
127122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12715 possible.
12716
d2ea4551
VS
127172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12720 allocate p.
12721
3c3b5040
VS
127222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12725 explicit root argument to set to prevent UUID to be interpreted as
12726 argument to set.
12727
b71c3fae
VS
127282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12731
275433e6
VS
127322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Don't export grub_gate_a20.
12735
12736 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12737 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12738 to ...
12739 (grub_gate_a20): ... this. All users updated.
12740 * include/grub/i386/pc/init.h: Removed. All users updated.
12741
a5dbb1f1
VS
127422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 Create euro.pf2 which supports most European languages.
12745
12746 * Makefile.am (grubdata_DATA): Add euro.pf2.
12747 (euro.pf2): New target.
12748 (CLEANFILES): Add euro.pf2.
12749
62a747cb
VS
127502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * configure.ac: Disable emu-usb by default to prevent inadvertent
12753 device takeover.
12754
608e43b1
VS
127552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 Disable usbserial on grub-emu since our libusb code isn't good enough
12758 yet.
12759
12760 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12761 (usbserial_pl2303): Likewise.
12762 (usbserial_ftdi): Likewise.
12763
94564f81
VS
127642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * include/grub/disk.h (grub_disk): Remove has_partitions.
12767 All users updated.
12768 * disk/loopback.c (grub_loopback): Remove has_partitions.
12769 All users updated.
12770 (options): Remove partitions. All users updated.
12771 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12772 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12773 actual partition table is found.
12774
3352800b
VS
127752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 Remove readability checks (too many false negatives).
12778
12779 * util/grub-install.in: Remove readability checks.
12780 * util/grub-mkconfig.in: Likewise.
12781 * util/grub.d/10_hurd.in: Likewise.
12782 * util/grub.d/10_kfreebsd.in: Likewise.
12783 * util/grub.d/10_linux.in: Likewise.
12784 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12785 way.
12786
2419f17a
VS
127872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 Enable acpi shutdown on all ACPI platforms.
12790
12791 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12792 on coreboo, multiboot and EFI.
12793 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12794 (grub_acpi_halt): Likewise.
12795 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12796 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12797 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12798 * grub-core/lib/i386/halt.c (grub_halt)
12799 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12800
0575c7c3
VS
128012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12804 context.
12805
54ac3cd1
VS
128062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12809 * grub-core/video/efi_uga.c: Likewise.
12810
b2a30ac5
VS
128112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 Filter devaliases and never open same device twice.
12814
12815 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12816 (last_ihandle): Likewise.
12817 (ofdisk_hash_ent): New member shortest.
12818 (ofdisk_hash_add): Add canonical path too.
12819 (scan): New function.
12820 (grub_ofdisk_iterate): Iterate over hashed entries.
12821 (compute_dev_path): Don't add :0.
12822 (grub_ofdisk_open): Don't really open the disk.
12823 (grub_ofdisk_close): Avoid closing unrelated disk.
12824 (grub_ofdisk_read): Implement reopen logic.
12825 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12826 New function.
12827 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12828 New proto.
12829
fb53b340
VS
128302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 Fix sparc64.
12833
12834 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12835 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12836 right address. Add sparc64_ieee1275_ldflags.
12837 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12838 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12839 to grub_host_to_target_addr
12840 (load_image): Likewise.
12841
f452b040
VS
128422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * grub-core/normal/completion.c (complete_file): Handle device
12845 containing slash.
12846 Fix based on patch by Doug Nazar.
12847
9b5b2541
VS
128482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 grub-mknetdir script.
12851
12852 * Makefile.util.def (grub-mknetdir): New module.
12853 * tests/util/grub-shell.in: Support boot=net
12854 * util/grub-mknetdir.in: New file.
12855
9d2be652
VS
128562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 videoinfo on non-vbe.
12859
12860 * grub-core/Makefile.core.def (vbeinfo): Removed.
12861 (vbetest): Removed.
12862 (videoinfo): New module.
12863 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12864 * grub-core/commands/i386/pc/vbetest.c: Removed.
12865 * grub-core/commands/videoinfo.c: New file.
12866 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12867 specification.
12868 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12869 as vbetest.
12870 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12871 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12872 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12873 mode_number. New parameter mode. All users updated.
12874 (grub_video_gop_iterate): New function.
12875 (grub_video_efi_gop): New member iterate.
12876 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12877 (grub_vbe_set_video_mode): Remove setting useless fields.
12878 (vbe2videoinfo): New function.
12879 (grub_video_vbe_iterate): Likewise.
12880 (grub_video_vbe_setup): Use vbe2videoinfo.
12881 (grub_video_vbe_print_adapter_specific_info): New function.
12882 (grub_video_vbe_adapter): New fields iterate and
12883 print_adapter_specific_info.
12884 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12885 All users updated.
12886 (grub_video_mode_info): New field mode_number.
12887 (grub_video_adapter): New fields iterate and
12888 print_adapter_specific_info.
12889
179503f5
TG
128902010-09-13 Tristan Gingold <gingold@free.fr>
128912010-09-13 Robert Millan <rmh.grub@aybabtu.com>
128922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/commands/efi/lsefisystab.c: New file.
12895 * grub-core/commands/efi/lssal.c: Likewise.
12896 * grub-core/Makefile.core.def (lsacpi): New module.
12897 (lsefisystab): Likewise.
12898 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12899 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12900 (grub_efi_sal_system_table): New struct.
12901 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12902 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12903 (grub_efi_sal_system_table_platform_features): Likewise.
12904 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12905 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12906 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12907 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12908
cf9827de
VS
129092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 Support explicit user claim that a device is BIOS-visible.
12912
12913 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12914 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12915 * grub-core/kern/emu/hostdisk.c
12916 (convert_system_partition_to_system_disk): Support mdX.
12917 (find_system_device): New parameter add. All users updated.
12918 (grub_util_biosdisk_is_present): New function.
12919 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12920 proto.
12921
53f0eb1f
VS
129222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 Search hints support.
12925
12926 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12927 All users updated.
12928
b23ffd70
YB
129292010-09-13 Yves Blusseau <blusseau@zetam.org>
12930
12931 Bash completion script for util commands
12932
12933 * Makefile.am: Add util/bash-completion.d directory
12934 * configure.ac: Likewise.
12935 * util/bash-completion.d/Makefile.am: New file.
12936 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12937
d547dc28
VS
129382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12941 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12942 Reported by: Yves Blusseau.
12943
2fc8ccb9
VS
129442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12947 partition size and offset.
12948
d8a84076
VS
129492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12952
84fb3b3d
VS
129532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12956
768ec2e2
VS
129572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12960 (grub_xvasprintf): Likewise.
12961
4870900f
VS
129622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12965
faca6bec
VS
129662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12969 args ending with NULL.
12970
129712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12972
12973 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12974 pointer.
12975
3c70f225
SJ
129762010-09-11 Szymon Janc <szymon@janc.net.pl>
12977
12978 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12979
4df7996d
VS
129802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 Shutdown using ACPI.
12983
12984 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12985 * grub-core/commands/acpihalt.c: New file.
12986 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12987 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12988 (grub_acpi_halt): New proto.
12989 (GRUB_ACPI_SLP_EN): New const.
12990 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12991 (GRUB_ACPI_OPCODE_*): New enum.
12992 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12993
126b4c32
TG
129942010-09-11 Tristan Gingold <gingold@free.fr>
129952010-09-11 Robert Millan <rmh.grub@aybabtu.com>
129962010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * commands/lsacpi.c: New file.
12999 * grub-core/Makefile.core.def (lsacpi): New module.
13000 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13001 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13002 (grub_acpi_madt_entry_header): New struct.
13003 (grub_acpi_madt): Likewise.
13004 (grub_acpi_madt_entry_interrupt_override): Likewise.
13005 (grub_acpi_madt_entry_sapic): Likewise.
13006 (grub_acpi_madt_entry_lsapic): Likewise.
13007 (grub_acpi_madt_entry_platform_int_source): Likewise.
13008 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13009 (PRIuGRUB_UINT32_T): Likewise.
13010 (PRIxGRUB_UINT64_T): Likewise.
13011
1aa4fe88
VS
130122010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 Implement loading palette on ieee1275_fb.
13015
13016 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13017 (have_setcolors): Likewise.
13018 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13019 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13020 (grub_video_ieee1275_set_palette): Implement.
13021
25761e13
VS
130222010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
130232010-09-11 Colin Watson <cjwatson@ubuntu.com>
13024
13025 * util/grub-install.in (grub_partition): New variable.
13026 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13027 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13028 Fixes a bug reported by Yves Blusseau.
13029
050abaea
VS
130302010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13031
13032 Fix emu on mipsel.
13033
13034 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13035 =grub_cpu_flush_cache on all mips and not only yeeloong.
13036 * configure.ac (COND_mips): New conditional.
13037 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13038 platforms.
13039 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13040 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13041 [GRUB_LINKER_HAVE_INIT]: New function.
13042 (grub_emu_post_init): Likewise.
13043 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13044 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13045 * include/grub/cache.h (_mips): Include mips/cache.h.
13046 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13047 LVM and RAID prototypes.
13048 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13049 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13050 function.
13051
5ed7d816
CW
130522010-09-10 Colin Watson <cjwatson@ubuntu.com>
13053
13054 * util/grub-install.in: Don't try to verify core.img until after
13055 running grub-mkimage to create it.
13056
90367e04
RM
130572010-09-10 Robert Millan <rmh@gnu.org>
13058
13059 * util/grub.d/10_hurd.in: Add misc readability checks.
13060 * util/grub.d/10_kfreebsd.in: Likewise.
13061 * util/grub.d/10_linux.in: Likewise.
13062
c452fa66
CW
130632010-09-10 Colin Watson <cjwatson@ubuntu.com>
13064
13065 * util/grub-install.in: ${imgext} won't be defined here until the
13066 install branch is merged. For the meantime, only verify core.img on
13067 i386-pc and sparc64-ieee1275 platforms.
13068
c38fe9f4
RM
130692010-09-10 Robert Millan <rmh@gnu.org>
13070
13071 Solaris support in grub_find_zpool_from_dir(). Thanks
13072 Seth Goldberg for referring to getextmntent() facility.
13073
13074 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13075 `sys/mkdev.h'.
13076 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13077 `<sys/mnttab.h>'.
13078 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13079 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13080 method for finding zpool name.
13081
905f7773
CW
130822010-09-10 Colin Watson <cjwatson@ubuntu.com>
13083
13084 grub-fstest needs the host and hostfs modules while other utilities
13085 actively require those modules to be absent, so grub-fstest needs
13086 its own initialisation and finalisation code.
13087
13088 * Makefile.am (grub_fstest.pp): New target.
13089 (grub_fstest_init.lst): Likewise.
13090 (grub_fstest_init.c): Likewise.
13091 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13092
fb90b546
RM
130932010-09-10 Robert Millan <rmh@gnu.org>
13094
13095 * configure.ac: Check for `struct statfs.f_fstypename' and
13096 `struct statfs.f_mntfromname'.
13097
13098 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13099 kFreeBSD-specific code.
13100
66d4bea5
RM
131012010-09-10 Robert Millan <rmh@gnu.org>
13102
13103 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13104 on ZFS. Now non-main filesystems are supported as / too.
13105
b6a690ee
CW
131062010-09-09 Colin Watson <cjwatson@ubuntu.com>
13107
13108 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13109 and grub-core/disk/host.c to ...
13110 (grub-fstest): ... here. Having the host disk implementation
13111 present confuses grub-probe and other utility programs.
13112
13113 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13114 when writing to a file, not when writing to stdout.
13115
8901b00c 131162010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13117
13118 * tests/partmap_test.in: New test for partitions.
13119 * Makefile.util.def: Rules for new test.
13120
7bf45fdd
RM
131212010-09-09 Robert Millan <rmh@gnu.org>
13122
13123 * util/grub-probe.c (probe): Fix a pair of unhandled error
13124 conditions.
13125
4dfbc574
RM
131262010-09-09 Robert Millan <rmh@gnu.org>
13127
13128 Basic Btrfs support (detection and UUID).
13129
13130 * grub-core/fs/btrfs.c: New file.
13131 * Makefile.util.def (library): Register btrfs.c.
13132 * grub-core/Makefile.core.def: Likewise.
13133
6b8e78ae
RM
131342010-09-08 Robert Millan <rmh@gnu.org>
13135
13136 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13137 with (optional) parameters to specify device and relative path.
13138 * util/grub-install.in: Use is_path_readable_by_grub() to
13139 verify readability of a few critical files.
13140 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13141 verify readability of grub.cfg.new.
13142
27f21a8b
VS
131432010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 Split minix.mod into minix.mod and minix2.mod.
13146
13147 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13148 * grub-core/Makefile.core.def (minix2): New module.
13149 * grub-core/fs/minix.c: Use definitions instead of runtime version
13150 checking.
13151 * grub-core/fs/minix2.c: New file.
13152
c0e53ea5
YB
131532010-09-08 Yves Blusseau <blusseau@zetam.org>
13154
13155 Add new --boot-directory option to replace --root-directory
13156
13157 * util/grub-install.in: Add new --boot-directory option
13158 * util/grub-reboot.in: Likewise.
13159 * util/grub-set-default.in: Likewise.
13160
b9fe6ea2
YB
131612010-09-08 Yves Blusseau <blusseau@zetam.org>
13162
13163 * util/grub-mkconfig.in: Use new variable.
13164
d87aedff
YB
131652010-09-08 Yves Blusseau <blusseau@zetam.org>
13166
13167 * configure.ac: Define some useful variables.
13168
e55e8495
VS
131692010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13170
13171 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13172 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13173 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13174 Use terminfo and don't use cursor-on/cursor-off unless it's known
13175 to work.
13176 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13177 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13178
6fa6d675
CW
131792010-09-08 Colin Watson <cjwatson@ubuntu.com>
13180
13181 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13182 starts with "(,", fill the drive containing the loaded image in
13183 between those two characters, but expect that a full partition
13184 specification including partition map names will follow.
13185
92f2aef0
RM
131862010-09-08 Robert Millan <rmh@gnu.org>
13187
13188 * configure.ac: Remove `--enable-grub-fstest' option.
13189 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13190
13191 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13192 `grub-fstest' instead of `grub-probe' for readability verification.
13193 * util/grub-probe.c (probe): Remove readability verification kludge.
13194
99fd620d
RM
131952010-09-08 Robert Millan <rmh@gnu.org>
13196
13197 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13198 initializing `GRUB_FS'.
13199
058e30ac 132002010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13201
13202 Not command (!) support to GRUB script.
13203
13204 * tests/grub_script_not.in: New test.
13205 * Makefile.util.def: Rules for new test.
13206
13207 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13208 ! command as a special case.
13209 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13210
b61d05ed 132112010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13212
058e30ac 13213 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13214 grub_free.
b61d05ed 13215
4d69c786 132162010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13217
13218 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13219
aa3119c4 132202010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13221
13222 * docs/grub.texi (Shell-like scripting): Documentation for break,
13223 continue, shift and return commands.
13224
db0f7e3d
VS
132252010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 Rename CD-ROM to cd on BIOS.
13228
13229 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13230 "cd".
13231 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13232
88b87c93
VS
132332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13236 * util/grub-probe.c (main): Likewise.
13237 * util/i386/pc/grub-setup.c (main): Likewise.
13238 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13239 Reported and debugged by: alexxy
13240
294f324d
VS
132412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13244 diagnostic info.
13245
d7ee3441
JS
132462010-09-05 Jo Shields <directhex@apebox.org>
13247
13248 * util/grub.d/30_os-prober.in: Add missing classes.
13249
d7e06c1f
VS
132502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * docs/grub.texi (Theme file format): Document new position format.
13253
fc157e53
VS
132542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13257 a table. Use @code instead of @verbatim.
13258
506e9a1c
CB
132592010-09-05 Colin D Bennett <colin@gibibit.com>
13260
13261 Gfxmenu documentation.
13262
13263 * docs/grub.texi (Theme file format): New chapter.
13264
f0aff67c
SJ
132652010-09-05 Szymon Janc <szymon@janc.net.pl>
13266
13267 * grub-core/Makefile.core.def (xzio): New module.
13268 * grub-core/io/xzio.c: New file.
13269 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13270 * grub-core/lib/xzembed/xz_config.h: Likewise.
13271 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13272 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13273 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13274 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13275 * grub-core/lib/xzembed/xz_private.h: Likewise.
13276 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13277 * include/grub/file.h (grub_file_filter_id): New compression filter
13278 GRUB_FILE_FILTER_XZIO.
13279
82a85062
VS
132802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13283 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13284 size.
13285
3579415d
VS
132862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13289 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13290
5124ae6d
VS
132912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 Uncompressed checksum support.
13294
13295 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13296 (check_list): New parameter uncompress.
13297 (grub_cmd_hashsum): Handle --uncompress.
13298
9aadb3d1
VS
132992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 Reintroduce testload.
13302
13303 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13304 from here ...
13305 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13306 (GRUB_MOD_INIT): New function.
13307 (GRUB_MOD_FINI): Likewise.
13308 * grub-core/Makefile.core.def (testload): New module.
13309
a17792c3
SJ
133102010-09-05 Szymon Janc <szymon@janc.net.pl>
13311
13312 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13313 (uint8_t): New type.
13314 (uint16_t): Likewise.
13315 (uint32_t): Likewise.
13316 (uint64_t): Likewise.
13317
b81e40a3
SJ
133182010-09-05 Szymon Janc <szymon@janc.net.pl>
13319
13320 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13321
fc2ef117
VS
133222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13325 Made static.
13326 (grub_gzfile_open): Removed. All users updated.
13327 (GRUB_MOD_INIT): New function.
13328 (GRUB_MOD_FINI): Likewise.
13329 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13330 (grub_file_filters_enabled): Likewise.
13331 (grub_file_open): Handle filters.
13332 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13333 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13334 * include/grub/file.h (grub_file_filter_id_t): New type.
13335 (grub_file_filter_t): Likewise.
13336 (grub_file_filters_all): New extern variable.
13337 (grub_file_filters_enabled): Likewise.
13338 (grub_file_filter_register): New inline function.
13339 (grub_file_filter_unregister): Likewise.
13340 (grub_file_filter_disable): Likewise.
13341 (grub_file_filter_disable_compression): Likewise.
13342 * include/grub/gzio.h: Removed.
13343
35ee15e0
BC
133442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13345
13346 Filename expansion support for wildcards in GRUB script.
13347
13348 * tests/grub_script_expansion.in: New test.
13349 * Makefile.util.def: Rule for new test.
13350
13351 * grub-core/commands/wildcard.c: New file, implements filename
13352 expansion support for GRUB script.
13353 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13354 * grub-core/script/argv.c: Cosmetic changes.
13355 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13356 Refactored to perform wildcard expansion on arguments.
13357 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13358 struct.
13359
13360 * tests/util/grub-shell.in: Fix quoting for read input.
13361
5f0c4aca
BC
133622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13363
13364 Support for updating environment variables with matched substrings
13365 of regexp.
13366
13367 * tests/grub_cmd_regexp.in: New test.
13368 * Makefile.util.def: Rule for new test.
13369
13370 * grub-core/commands/regexp.c: New option -s to update environment
13371 variables with regexp matches.
13372
3759a35f
SJ
133732010-09-04 Szymon Janc <szymon@janc.net.pl>
13374
13375 * include/grub/file.h (grub_file): New member not_easly_seekable.
13376 (grub_file_seekable): New inline function.
13377 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13378 easily seekable.
13379 (grub_gzio_open): Set not_easly_seekable.
13380 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13381 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13382
ed8c6dec
BC
133832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13384
13385 Support for options to appear multiple times on cmdline.
13386
13387 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13388 * grub-core/commands/extcmd.c: Support for repeatable option.
13389 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13390 repeatable option support.
13391
13392 Refactor menuentry into a regular command.
13393
13394 * grub-core/commands/menuentry.c: New file, menuentry command
13395 implementation.
13396 * grub-core/Makefile.core.def: Rule update for normal.mod.
13397 * grub-core/normal/main.c: Moved menuentry creation to
13398 grub-core/commands/menuentry.c.
13399 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13400 (grub_menu_execute_entry_real): Removed.
13401 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13402 function.
13403 (grub_script_execute_menuentry): Removed.
13404 * grub-core/script/parser.y (menuentry): Removed.
13405 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13406 * grub-core/script/yylex.l (menuentry): Removed.
13407 * include/grub/menu.h (grub_menu_init): New prototype.
13408 (grub_menu_fini): New prototype.
13409 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13410 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13411 (grub_script_execute_sourcecode): New prototype.
13412
dacd0cf0
BC
134132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13414
13415 "return" command for GRUB script functions.
13416
13417 * tests/grub_script_return.in: New test.
13418 * Makefile.util.def: Rules for new test.
13419
13420 * grub-core/script/execute.c (grub_script_return): New function.
13421 * grub-core/script/main.c: Register/unregister return commaond.
13422 * include/grub/script_sh.h (grub_script_return): New prototype.
13423
52e72f9d
BC
134242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13425
13426 "setparams" command to update positional parameters.
13427
13428 * tests/grub_script_setparams.in: New test.
13429 * Makefile.util.def: Rules for new test.
13430
13431 * grub-core/script/argv.c (grub_script_argv_make): New function.
13432 * grub-core/script/execute.c (replace_scope): New function.
13433 (grub_script_setparams): New function.
13434 * grub-core/script/lexer.c: Remove unused variables.
13435 * grub-core/script/main.c: Register/unregister setparams command.
13436 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13437 (grub_script_setparams): New prototype.
13438
25b60c91
BC
134392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13440
13441 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13442 grub_free order.
13443
37e7bf68
BC
134442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13445
13446 Support for passing block of commands as an argument to extcmds.
13447
13448 * Makefile.util.def: Rules for new test.
13449 * tests/grub_script_blockarg.in: New test.
13450 * grub-core/tests/test_blockarg.c: New file, block argument
13451 command used in the test.
13452
13453 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13454 (grub_register_extcmd_prio): New function prototype.
13455 (grub_extcmd_dispatcher): New function prototype.
13456 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13457 type.
13458 * include/grub/script_sh.h (struct grub_script): New members
13459 `children', `next_siblings' and `refcnt' for block arguments and
13460 reference counting.
13461 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13462 (grub_script_arg): New member `script' for block argument.
13463 (grub_script_argv): New member `script' for block argument.
13464 (grub_parser_param): New member `scripts' for block argument.
13465 (grub_script_mem_free): New extern function prototype.
13466 (grub_script_ref): New function prototype.
13467 (grub_script_unref): New function prototype.
13468
13469 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13470 extcmd form to support block arguments.
13471 * grub-core/script/argv.c: Block arguments support.
13472 * grub-core/script/execute.c: Likewise.
13473 * grub-core/script/lexer.c: Likewise.
13474 * grub-core/script/main.c: Likewise.
13475 * grub-core/script/script.c: Likewise.
13476 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13477 non-terminals.
13478
13479 * grub-core/commands/acpi.c: Update extcmd implementations with
13480 grub_extcmd_context_t.
13481 * grub-core/commands/cat.c: Likewise.
13482 * grub-core/commands/echo.c: Likewise.
13483 * grub-core/commands/extcmd.c: Likewise.
13484 * grub-core/commands/hashsum.c: Likewise.
13485 * grub-core/commands/hdparm.c: Likewise.
13486 * grub-core/commands/help.c: Likewise.
13487 * grub-core/commands/hexdump.c: Likewise.
13488 * grub-core/commands/i386/cpuid.c: Likewise.
13489 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13490 * grub-core/commands/i386/pc/halt.c: Likewise.
13491 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13492 * grub-core/commands/iorw.c: Likewise.
13493 * grub-core/commands/keystatus.c: Likewise.
13494 * grub-core/commands/loadenv.c: Likewise.
13495 * grub-core/commands/ls.c: Likewise.
13496 * grub-core/commands/lspci.c: Likewise.
13497 * grub-core/commands/memrw.c: Likewise.
13498 * grub-core/commands/probe.c: Likewise.
13499 * grub-core/commands/search_wrap.c: Likewise.
13500 * grub-core/commands/setpci.c: Likewise.
13501 * grub-core/commands/sleep.c: Likewise.
13502 * grub-core/disk/loopback.c: Likewise.
13503 * grub-core/hello/hello.c: Likewise.
13504 * grub-core/loader/i386/bsd.c: Likewise.
13505 * grub-core/loader/xnu.c: Likewise.
13506 * grub-core/term/gfxterm.c: Likewise.
13507 * grub-core/term/serial.c: Likewise.
13508 * grub-core/tests/lib/functional_test.c: Likewise.
13509
888d1500
BC
135102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13511
13512 Multi-line quoted strings support.
13513
13514 * grub-core/script/lexer.c (append_newline): Removed.
13515 (grub_script_lexer_yywrap): Refactored.
13516 (grub_script_lexer_init): Refactored.
13517 * grub-core/script/yylex.l (yywrap): New function.
13518 (grub_lexer_resplit): New function.
13519 (grub_lexer_unput): New function.
13520 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13521 and resplit.
13522 * tests/grub_script_echo1.in: Added few more testcases.
13523
dda060dd
VS
135242010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * grub-core/kern/misc.c: Don't add abort alias in utils.
13527 Reported by: echoline.
13528
6556eba9
BC
135292010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13530
13531 Add missing files into "make dist" tarball for other platforms.
13532
13533 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13534 * conf/Makefile.common (dist_noinst_DATA): New variable.
13535 * conf/Makefile.extra-dist: Added missing make dist files.
13536 * grub-core/Makefile.core.def: Likewise.
13537
c8e7bf5f
VS
135382010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 Compress grub_prefix.
13541
13542 * grub-core/boot/i386/pc/lnxboot.S: Use
13543 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13544 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13545 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13546 GRUB_MACHINE_PREFIX_END. All users updated.
13547 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13548 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13549 + 0x40.
13550 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13551 * util/grub-mkimage.c (image_target_desc): Change data_end to
13552 prefix_end. All users updated.
13553
a7c00cdb
VS
135542010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13557 value.
13558 (grub_openbsd_boot): Likewise.
13559 (grub_netbsd_boot): Likewise.
13560 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13561 (grub_xnu_boot): Likewise.
13562
9f915872
VS
135632010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * configure.ac: Clean LIBS variable after tests.
13566
efa1bee7
CW
135672010-09-02 Colin Watson <cjwatson@ubuntu.com>
13568
13569 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13570
61d720e5
VS
135712010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13574 echo if libdevmapper will be used.
13575
ef8e0ec8
IT
135762010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13577
13578 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13579 constant for the same file.
13580
03e261d8
VS
135812010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13584
c2a4eba6
CW
135852010-09-02 Colin Watson <cjwatson@ubuntu.com>
13586
13587 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13588 grub-core/*.pp.
13589
9056cbf3
CW
135902010-09-02 Colin Watson <cjwatson@ubuntu.com>
13591
13592 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13593 required by the boot protocol.
13594
13595 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13596 ebp and edi members.
13597 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13598 state.ebp and state.edi.
13599 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13600 %ebp and %edi according to grub_relocator32_ebp and
13601 grub_relocator32_edi respectively.
13602 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13603 and state.edi.
13604
529cc99a
VS
136052010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 Add i386-pc-pxe image target.
13608
13609 * util/grub-mkimage.c (image_target_desc): New enum value
13610 IMAGE_I386_PC_PXE.
13611 (image_targets): New target i386-pc-pxe.
13612 (generate_image): Handle i386-pc-pxe image.
13613
9a093920
VS
136142010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 Fix grub_pxe_scan.
13617
13618 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13619 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13620 All users updated.
13621 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13622 (grub_pxe_pxenv): Correct type.
13623
f9cefc4e
CW
136242010-09-01 Colin Watson <cjwatson@ubuntu.com>
13625
13626 * NEWS: Document most of the important changes since 1.98.
13627
4066f57f
CW
136282010-09-01 Colin Watson <cjwatson@ubuntu.com>
13629
13630 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13631 generated manual page) a little.
13632
da2891f9
CW
136332010-09-01 Colin Watson <cjwatson@ubuntu.com>
13634
13635 * docs/grub.texi: Add myself as an author.
13636
ad717fae
VS
136372010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 * Makefile.util.def (libgrub.a): Add missing sunpc.
13640 Reported by: Seth Goldberg.
13641
eefe8abd
VS
136422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 Interrupt wrapping and code simplifications.
13645
9494ef9a
VS
13646 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13647 x86_noieee1275 which are functionaly equivalent in this case.
13648 (grub-install): Make source on each platform explicit. Enable on
13649 all noemu.
13650 * gentpl.py (x86_efi_pc): Removed group.
13651 (x86_noefi): Likewise.
13652 (i386_noefi): Likewise.
13653 (x86_noieee1275): Likewise.
13654 (i386_noieee1275): Likewise.
13655 (i386_noefi_noieee1275): Likewise.
13656 (i386_pc_qemu_coreboot): Likewise.
13657 (i386_coreboot_multiboot): Likewise.
13658 (i386_pc_coreboot_multiboot_qemu): Likewise.
13659 (x86_noefi_mips): Likewise.
13660 (noieee1275): Likewise.
13661 (ieee1275_mips): Likewise.
13662 (noemu_noieee1275): Likewise.
13663 (cmos): New group.
13664 (usb): Likewise.
13665 (videoinkernel): Likewise.
13666 (videomodules): Likewise.
eefe8abd 13667 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13668 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13669 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13670 include/grub/loader.h, include/grub/msdos_partition.h,
13671 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13672 include/grub/machine/console.h, include/grub/machine/vga.h,
13673 include/grub/machine/vbe.h, include/grub/machine/init.h,
13674 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13675 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13676 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13677 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13678 * grub-core/Makefile.core.def (kernel): Explicit the source for
13679 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13680 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13681 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13682 Use videoinkernel tag.
13683 (usb): Enable on all usb.
13684 (usbserial_common): Likewise.
13685 (usbserial_pl2303): Likewise.
13686 (usbserial_ftdi): Likewise.
13687 (uhci): Enable on all x86.
13688 (ohci): Enable on all pci.
13689 (cmostest): Enable on all CMOS.
13690 (acpi): Include commands/acpi.c on all platforms.
13691 (halt): Add relevant lib/*/halt.c.
13692 (hdparm): Enable on all pci.
13693 (lspci): Likewise.
13694 (usbtest): Enable on all usb.
13695 (ata): Enable on all pci.
13696 (ata_pthru): Likewise.
13697 (usbms): Enable on all usb.
13698 (usb_keyboard): Likewise.
13699 (font): Use tag videomodules.
13700 (bufio): Likewise.
13701 (datetime): Use tag cmos. Enable on all noemu.
13702 (mmap): Use tags common and x86.
13703 (gfxterm): Use tag videomodules.
13704 (bitmap): Likewise.
13705 (bitmap_scale): Likewise.
13706 (video_fb): Likewise.
13707 (video): Likewise.
13708 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13709 adjust padding accordingly. All users updated.
13710 (grub_ohci_transaction): Fix bad format specification.
13711 (GRUB_MOD_INIT): Add asserts for struct size.
13712 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13713 (grub_alloc_td): Likewise.
13714 (grub_free_queue): Likewise.
13715 (grub_uhci_transfer): Likewise.
13716 (grub_uhci_transaction): Fix bad format specification.
13717 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13718 (grub_usb_bulk_readwrite): Likewise.
13719 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13720 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13721 Made static.
13722 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13723 Made static.
13724 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13725 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13726 Transformed into C.
13727 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13728 Moved from here ...
13729 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13730 ... here. Transformed into C. Made static.
13731 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13732 Moved from here ...
13733 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13734 ... here. Transformed into C. Made static.
13735 * grub-core/kern/i386/pc/startup.S
13736 (grub_biosdisk_check_int13_extensions): Moved from here ...
13737 * grub-core/disk/i386/pc/biosdisk.c
13738 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13739 Made static.
13740 * grub-core/kern/i386/pc/startup.S
13741 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13742 * grub-core/disk/i386/pc/biosdisk.c
13743 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13744 Transformed into C. Made static.
13745 * grub-core/kern/i386/pc/startup.S
13746 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13747 * grub-core/disk/i386/pc/biosdisk.c
13748 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13749 Transformed into C. Made static.
13750 * grub-core/kern/i386/pc/startup.S
13751 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13752 * grub-core/disk/i386/pc/biosdisk.c
13753 (grub_biosdisk_get_diskinfo_standard): ... here.
13754 Transformed into C. Made static.
13755 * grub-core/kern/i386/pc/startup.S
13756 (grub_biosdisk_get_num_floppies): Moved from here ...
13757 * grub-core/disk/i386/pc/biosdisk.c
13758 (grub_biosdisk_get_num_floppies): ... here.
13759 Transformed into C. Made static.
13760 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13761 New function.
13762 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13763 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13764 Transformed into C. Made static.
13765 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13766 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13767 Transformed into C. Made static.
13768 * grub-core/kern/i386/ieee1275/init.c: Removed.
13769 * grub-core/kern/i386/misc.S: Likewise.
13770 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13771 Splitted from here ...
13772 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13773 Transformed into C. Made static. All users updated.
13774 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13775 Transformed into C. Made static. All users updated.
13776 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13777 Moved from here...
13778 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13779 Transformed into C. Made static. All users updated.
13780 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13781 Moved from here...
13782 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13783 Transformed into C. Made static. All users updated.
13784 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13785 Removed (replaced by C version).
13786 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13787 Moved from here...
13788 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13789 Transformed into C. Made static.
13790 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13791 Moved from here...
13792 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13793 ... here. Transformed into C.
13794 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13795 Moved from here...
13796 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13797 ... here. Transformed into C.
13798 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13799 Moved from here...
13800 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13801 ... here. Transformed into C. Made static.
13802 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13803 Moved from here...
13804 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13805 ... here. Transformed into C.
21ed554b
VS
13806 * grub-core/kern/i386/pc/startup.S
13807 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13808 * grub-core/video/i386/pc/vbe.c
13809 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13810 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13811 Moved from here...
13812 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13813 ... here. Transformed into C.
13814 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13815 Moved from here...
13816 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13817 ... here. Transformed into C.
13818 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13819 Moved from here...
13820 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13821 ... here. Transformed into C.
13822 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13823 Moved from here...
13824 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13825 ... here. Transformed into C.
13826 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13827 Moved from here...
13828 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13829 ... here. Transformed into C. Made static.
13830 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13831 Moved from here...
13832 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13833 ... here. Transformed into C. Made static.
13834 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13835 Moved from here...
13836 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13837 ... here. Transformed into C. Made static.
13838 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13839 pxe_rm_entry as third argument.
13840 (grub_bios_interrupt): New function.
13841 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13842 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13843 of calling grub_stop.
13844 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13845 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13846 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13847 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13848 * grub-core/lib/i386/halt.c: Moved from here ...
13849 * grub-core/lib/i386/halt.c: ... here.
13850 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13851 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13852 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13853 grub_stop_floppy.
13854 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13855 * include/grub/i386/coreboot/init.h: Removed.
13856 * include/grub/i386/multiboot/init.h: Likewise.
13857 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13858 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13859 * include/grub/i386/pc/int.h: New file.
13860 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13861 (grub_pxe_scan): Removed.
13862 (grub_pxe_call): Update prototype.
13863 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13864 prototypes.
13865 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13866 * include/grub/i386/qemu/init.h: Removed.
13867 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13868 noreturn.
13869 (grub_halt): Likewise.
13870 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13871 (grub_reboot): Likewise.
13872 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13873 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13874 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13875
215dd471
RM
138762010-08-30 Robert Millan <rmh@gnu.org>
13877
13878 * NEWS: Document addition of ZFS support in `grub-install' and
13879 `grub-mkconfig'.
13880
ebd65b82
BC
138812010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13882
13883 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13884 dprintf output.
13885
11721d19
VS
138862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 Remove leftover embedding of font objects.
13889
13890 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13891 * util/grub-install.in (font): Removed.
13892 * util/grub-mkimage.c (generate_image): Remove font support. All users
13893 updated.
13894
37837d4e
VS
138952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 Remove leftover embedding of font objects.
13898
13899 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13900 * util/grub-install.in (font): Removed.
13901 * util/grub-mkimage.c (generate_image): Remove font support. All users
13902 updated.
13903
b4c1aae0
VS
139042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13907 Reported by: Ian Turner
b4c1aae0 13908
8920a08d
VS
139092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13912 timeout to avoid indefinite boot stalling.
13913
f21db033
VS
139142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13917 (grub_env_write_color_highlight): Likewise.
13918
9a9de209
VS
139192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * grub-core/normal/term.c (print_more): Return to normal and not
13922 to standard state after printing "---MORE---".
13923
3dca01d7
VS
139242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13927 Mask out the bit 0x80 since it has other meaning that specifiing color.
13928
0b986c40
VS
139292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 New relocator. Allows for more kernel support and more straightforward
13932 loader writing.
13933
13934 * Makefile.am (BOOTTARGET): New variable.
13935 (QEMU32): Likewise.
13936 (linux.init.x86_64): New target.
13937 (linux.init.i386): Likewise.
13938 (multiboot.elf): Likewise.
13939 (kfreebsd.elf): Likewise.
13940 (kfreebsd.aout): Likewise.
13941 (pc-chainloader.elf): Likewise.
13942 (pc-chainloader.bin): Likewise.
13943 (ntldr.elf): Likewise.
13944 (ntldr.bin): Likewise.
13945 (multiboot2.elf): Likewise.
13946 (kfreebsd.init.x86_64): Likewise.
13947 (kfreebsd.init.i386): Likewise.
13948 (knetbsd.init.i386): Likewise.
13949 (kopenbsd.init.i386): Likewise.
13950 (knetbsd.init.x86_64): Likewise.
13951 (kopenbsd.init.x86_64): Likewise.
13952 (linux-initramfs.i386): Likewise.
13953 (linux-initramfs.x86_64): Likewise.
13954 (kfreebsd-mfsroot.i386.img): Likewise.
13955 (knetbsd.image.i386): Likewise.
13956 (kopenbsd.image.i386): Likewise.
13957 (kopenbsd.image.x86_64): Likewise.
13958 (knetbsd.miniroot-image.i386.img): Likewise.
13959 (kfreebsd-mfsroot.x86_64.img): Likewise.
13960 (knetbsd.image.x86_64): Likewise.
13961 (knetbsd.miniroot-image.x86_64.img): Likewise.
13962 (kfreebsd-mfsroot.i386.gz): Likewise.
13963 (bootcheck-kfreebsd-i386): Likewise.
13964 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13965 (bootcheck-kfreebsd-x86_64): Likewise.
13966 (knetbsd.miniroot-image.i386.gz): Likewise.
13967 (bootcheck-knetbsd-i386): Likewise.
13968 (bootcheck-kopenbsd-i386): Likewise.
13969 (bootcheck-kopenbsd-x86_64): Likewise.
13970 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13971 (bootcheck-knetbsd-x86_64): Likewise.
13972 (bootcheck-linux-i386): Likewise.
13973 (bootcheck-linux-x86_64): Likewise.
13974 (bootcheck-linux16-i386): Likewise.
13975 (bootcheck-linux16-x86_64): Likewise.
13976 (bootcheck-multiboot): Likewise.
13977 (bootcheck-multiboot2): Likewise.
13978 (bootcheck-kfreebsd-aout): Likewise.
13979 (bootcheck-pc-chainloader): Likewise.
13980 (bootcheck-ntldr): Likewise.
13981 (CLEANFILES): Add new targets.
13982 (BOOTCHECKS): New variable.
13983 (.PHONY): Add bootchecks.
13984 (SUCCESSFUL_BOOT_STRING): New variable.
13985 (BOOTCHECK_TIMEOUT): Likewise.
13986 (bootcheck): New target
13987 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13988 * configure.ac: Correct efiemu excuse.
13989 * docs/grub.texi (Supported kernels): New chapter.
13990 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13991 include/grub/mm_private.h. Simplify inclusion of
13992 include/grub/boot.h, include/grub/loader.h
13993 and include/grub/msdos_partition.h
13994 (KERNEL_HEADER_FILES) [i386_coreboot]:
13995 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13996 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13997 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13998 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13999 include/grub/machine/loader.h.
14000 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14001 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14002 extra_dist.
14003 (pci.mod): Enable on i386-multiboot.
14004 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14005 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14006 i386-qemu.
14007 (relocator.mod): Rewritten.
14008 (aout.mod): Enable on all x86.
14009 (bsd.mod): Likewise.
14010 (ntldr.mod): New module.
14011 (linux.mod): Use loader/i386/linux.c on all x86.
14012 (xnu.mod): Enable on all x86.
14013 (vga_text.mod): disable on EFI and QEMU.
14014 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14015 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14016 * grub-core/efiemu/loadcore.c: Likewise.
14017 * grub-core/efiemu/main.c: Likewise.
14018 (grub_efiemu_exit_boot_services): Removed.
14019 (grub_efiemu_finish_boot_services): Likewise.
14020 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14021 function.
14022 * grub-core/efiemu/i386/nocfgtables.c: New file.
14023 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14024 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14025 (grub_efi_finish_boot_services): Moved from here ...
14026 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14027 Fille finish memory map and related data.
14028 (finish_mmap_buf): New variable.
14029 (grub_efi_uintn_t finish_mmap_size): Likewise.
14030 (grub_efi_uintn_t finish_key): Likewise.
14031 (grub_efi_uintn_t finish_desc_size): Likewise.
14032 (grub_efi_uint32_t finish_desc_version): Likewise.
14033 (grub_efi_is_finished): Likewise.
14034 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14035 finished.
14036 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14037 (grub_elf64_phdr_iterate): Likewise.
14038 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14039 (grub_os_area_size): Likewise.
14040 (grub_machine_init): Don't reserve os area.
14041 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14042 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14043 * grub-core/kern/i386/loader.S: Removed.
14044 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14045 (grub_os_area_size): Likewise.
14046 (grub_machine_init): Don't reserve os area.
14047 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14048 Don't call grub_dl_unload_all.
14049 Don't include loader.S.
14050 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14051 Declare the memory after _end as available.
14052 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14053 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14054 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14055 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14056 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14057 * include/grub/mm_private.h (grub_mm_header): ... here.
14058 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14059 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14060 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14061 (grub_mm_region): ..here. Removed addr. Added pre_size.
14062 All users updated.
14063 * grub-core/kern/mm.c (base): Renamed to ...
14064 (grub_mm_base): ... this. Made global.
14065 (grub_real_malloc): Alloc from end of region.
14066 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14067 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14068 * grub-core/kern/powerpc/cache_flush.S: ... here.
14069 * grub-core/lib/efi/relocator.c: New file.
14070 * grub-core/lib/i386/relocator.c: Rewritten.
14071 * grub-core/lib/i386/relocator16.S: New file.
14072 * grub-core/lib/i386/relocator32.S: Likewise.
14073 * grub-core/lib/i386/relocator64.S: Likewise.
14074 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14075 * grub-core/lib/i386/relocator_common.S: New file.
14076 * grub-core/lib/ieee1275/relocator.c: Likewise.
14077 * grub-core/lib/mips/relocator.c: Rewritten.
14078 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14079 stylistic adjustments.
14080 * grub-core/lib/powerpc/relocator.c: New file.
14081 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14082 * grub-core/lib/relocator.c: Rewritten.
14083 * grub-core/lib/x86_64/relocator_asm.S: New file.
14084 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14085 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14086 (bsd_tag): New struct.
14087 (tags): New variable.
14088 (tags_last): Likewise.
14089 (netbsd_module): New struct.
14090 (netbsd_mods): New variable.
14091 (netbsd_mods_last): Likewise.
14092 (openbsd_opts): New parameter "serial".
14093 (OPENBSD_SERIAL_ARG): New definition.
14094 (netbsd_opts): New parameter "serial".
14095 (NETBSD_SERIAL_ARG): New definition.
14096 (grub_freebsd_add_meta): Reorganised into ...
14097 (grub_bsd_add_meta): ...this. All users updated.
14098 (grub_freebsd_add_mmap): Reorganised into ...
14099 (generate_e820_mmap): ...this...
14100 (grub_bsd_add_mmap): ...and this. All users updated.
14101 (grub_freebsd_list_modules): Use tags.
14102 (grub_netbsd_add_meta_module): New function.
14103 (grub_netbsd_list_modules): Likewise.
14104 (grub_freebsd_boot): Use relocator and finish EFI.
14105 (grub_openbsd_boot): Likewise.
14106 (grub_netbsd_setup_video): New function.
14107 (grub_netbsd_add_modules): Likewise.
14108 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14109 and finish EFI.
14110 (grub_bsd_unload): Unload tags.
14111 (grub_bsd_load_aout): Use relocator.
14112 (grub_bsd_elf32_size_hook): New function.
14113 (grub_bsd_elf32_hook): Use relocator.
14114 (grub_bsd_elf64_size_hook): New function.
14115 (grub_bsd_elf64_hook): Use relocator.
14116 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14117 (grub_bsd_load): Zero-out openbsd_ramdisk.
14118 (grub_bsd_load): Use relocator.
14119 (grub_cmd_openbsd): Support serial.
14120 (grub_cmd_netbsd): Support modules.
14121 (grub_cmd_freebsd_module): Use relocator.
14122 (grub_netbsd_module_load): New function.
14123 (grub_cmd_netbsd_module): Likewise.
14124 (grub_cmd_openbsd_ramdisk): Likewise.
14125 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14126 kopenbsd_ramdisk.
14127 (GRUB_MOD_FINI): Unregister new commands.
14128 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14129 (grub_freebsd_load_elfmodule_obj): Use relocator.
14130 (grub_freebsd_load_elfmodule): Likewise.
14131 (grub_freebsd_load_elf_meta): Likewise.
14132 (grub_netbsd_load_elf_meta): New function.
14133 (grub_openbsd_find_ramdisk): Likewise.
14134 * grub-core/loader/i386/bsd_helper.S: Removed.
14135 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14136 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14137 * grub-core/loader/i386/efi/linux.c: Likewise.
14138 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14139 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14140 (DEFAULT_VIDEO_MODE): Likewise.
14141 (real_mode_target): New variable.
14142 (prot_mode_target): Likewise.
14143 (initrd_mem_target): Likewise.
14144 (relocator): Likewise.
14145 (efi_mmap_buf): Likewise.
14146 (efi_mmap_size): Likewise.
14147 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14148 (free_pages): Use relocator.
14149 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14150 (grub_linux_setup_video): Return error.
14151 (grub_linux_trampoline_start): Removed.
14152 (grub_linux_trampoline_end): Likewise.
14153 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14154 andd video parameters depending on firmware.
14155 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14156 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14157 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14158 (grub_cmd_initrd): Use relocator.
14159 * grub-core/loader/i386/linux_trampoline.S: Removed.
14160 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14161 (elf_sec_entsize): Likewise.
14162 (elf_sec_shstrndx): Likewise.
14163 (elf_sections): Likewise.
14164 (grub_multiboot_load): Use relocator.
14165 (grub_multiboot_get_mbi_size): Account for sections.
14166 (grub_multiboot_make_mbi): Use relocator and support sections.
14167 (grub_multiboot_add_elfsyms): New function.
14168 (grub_multiboot_free_mbi): Free sections.
14169 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14170 (grub_linux_real_target): Likewise.
14171 (grub_linux_real_chunk): Likewise.
14172 (grub_linux16_prot_size): Likewise.
14173 (grub_linux16_boot): Use relocator.
14174 (grub_linux_unload): Unload relocator.
14175 (grub_cmd_linux): Use relocator.
14176 (grub_cmd_initrd): Likewise.
14177 * grub-core/loader/i386/pc/ntldr.c: New file.
14178 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14179 Don't try to guess CPU frequency.
14180 (grub_xnu_set_video): Stretch bitmap.
14181 (grub_xnu_boot): Use relocator.
14182 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14183 (grub_linux_unload): Free relocator.
14184 (grub_linux_load32): Use relocator.
14185 (grub_linux_load64): Likewise.
14186 (grub_cmd_initrd): Likewise.
14187 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14188 (grub_multiboot_unload): Unload relocator.
14189 (grub_cmd_multiboot): Use relocator.
14190 (grub_cmd_module): Likewise.
14191 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14192 Use relocator and support sections.
14193 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14194 (elf_sec_entsize): Likewise.
14195 (elf_sec_shstrndx): Likewise.
14196 (elf_sections): Likewise.
14197 (grub_multiboot_load): Use relocator.
14198 (grub_multiboot_get_mbi_size): Account for sections.
14199 (grub_multiboot_make_mbi): Use relocator and support sections.
14200 (grub_multiboot_add_elfsyms): New function.
14201 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14202 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14203 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14204 Prototype changed. All users updated.
14205 (grub_xnu_align_heap): Simplified.
14206 (grub_xnu_writetree_toheap): Likewise.
14207 (grub_xnu_unload): Unload relocator.
14208 (grub_cmd_xnu_kernel): Use relocator.
14209 (grub_cmd_xnu_kernel64): Likewise.
14210 (grub_xnu_register_memory): Simplified.
14211 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14212 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14213 EFI is finished.
14214 (grub_console_checkkey): Likewise.
14215 (grub_console_getkey): Likewise.
14216 (grub_console_getwh): Likewise.
14217 (grub_console_getxy): Likewise.
14218 (grub_console_gotoxy): Likewise.
14219 (grub_console_cls): Likewise.
14220 (grub_console_setcolorstate): Likewise.
14221 (grub_console_setcursor): Likewise.
14222 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14223 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14224 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14225 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14226 * grub-core/tests/boot/kernel-8086.S: Likewise.
14227 * grub-core/tests/boot/kernel-i386.S: Likewise.
14228 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14229 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14230 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14231 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14232 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14233 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14234 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14235 * grub-core/tests/boot/linux.cfg: Likewise.
14236 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14237 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14238 * grub-core/tests/boot/linux16.cfg: Likewise.
14239 * grub-core/tests/boot/multiboot.cfg: Likewise.
14240 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14241 * grub-core/tests/boot/ntldr.cfg: Likewise.
14242 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14243 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14244 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14245 New definition.
14246 * include/grub/dl.h (grub_dl_unload_all): Removed.
14247 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14248 (grub_efi_finish_boot_services): Change prototype.
14249 (grub_efi_is_finished): New variable.
14250 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14251 Changed prototype.
14252 (grub_efiemu_finish_boot_services): Removed.
14253 (grub_machine_efiemu_init_tables): New prototype.
14254 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14255 (grub_elf64_phdr_iterate): Likewise.
14256 * include/grub/i386/bsd.h: Include relocator.h.
14257 (freebsd_tag_header): New struct.
14258 (grub_openbsd_bios_mmap): Removed.
14259 (grub_unix_real_boot): Removed.
14260 (grub_freebsd_load_elfmodule32): Changed prototype.
14261 (grub_freebsd_load_elfmodule_obj64): Likewise.
14262 (grub_freebsd_load_elf_meta32): Likewise.
14263 (grub_freebsd_load_elf_meta64): Likewise.
14264 (grub_freebsd_add_meta): Removed.
14265 (grub_netbsd_load_elf_meta32): New prototype.
14266 (grub_netbsd_load_elf_meta64): Likewise.
14267 (grub_bsd_add_meta): Likewise.
14268 (grub_openbsd_ramdisk_descriptor): New struct.
14269 (grub_openbsd_find_ramdisk32): New prototype.
14270 (grub_openbsd_find_ramdisk64): Likewise.
14271 * include/grub/i386/coreboot/loader.h: Removed.
14272 * include/grub/i386/efi/loader.h: Likewise.
14273 * include/grub/i386/ieee1275/loader.h: Likewise.
14274 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14275 to grub_uint32_t.
14276 * include/grub/i386/loader.h: Removed.
14277 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14278 value.
14279 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14280 (grub_phys_addr_t): New type.
14281 (grub_vtop): New inline function.
14282 (grub_map_memory): Likewise.
14283 (grub_unmap_memory): Likewise.
14284 * include/grub/i386/multiboot/loader.h: Removed.
14285 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14286 (NETBSD_BTINFO_CONSOLE): New definition.
14287 (NETBSD_BTINFO_SYMTAB): Likewise.
14288 (NETBSD_BTINFO_MODULES): Likewise.
14289 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14290 (grub_netbsd_bootinfo): New struct.
14291 (grub_netbsd_btinfo_common): Use explicit bitsize.
14292 (grub_netbsd_btinfo_mmap_entry): Removed.
14293 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14294 (grub_netbsd_btinfo_bootdisk): New struct.
14295 (grub_netbsd_btinfo_symtab): Likewise.
14296 (grub_netbsd_btinfo_serial): Likewise.
14297 (grub_netbsd_btinfo_modules): Likewise.
14298 (grub_netbsd_btinfo_framebuf): Likewise.
14299 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14300 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14301 Likewise.
14302 (grub_openbsd_bootargs): Use explicit bitsize.
14303 (grub_openbsd_bootarg_console): New struct.
14304 (GRUB_OPENBSD_COM_MAJOR): New definition.
14305 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14306 * include/grub/i386/pc/efiemu.h: Removed.
14307 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14308 * include/grub/i386/qemu/loader.h: Removed.
14309 * include/grub/i386/relocator.h: Rewritten.
14310 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14311 * include/grub/mips/memory.h: New file.
14312 * include/grub/mips/multiboot.h: Rewritten.
14313 * include/grub/mips/relocator.h: Rewritten.
14314 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14315 (grub_vtop): New function.
14316 (grub_map_memory): Likewise.
14317 (grub_unmap_memory): Likewise.
14318 * include/grub/misc.h (ALIGN_DOWN): New definition.
14319 * include/grub/mm.h (grub_mm_check_real): New proto.
14320 (GRUB_MM_CHECK): New definition.
14321 * include/grub/mm_private.h: New file.
14322 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14323 (grub_multiboot_get_mbi_size): Removed.
14324 (grub_multiboot_make_mbi): Change prottype.
14325 (grub_multiboot_set_accepts_video): New proto.
14326 (grub_multiboot_add_elfsyms): Likewise.
14327 (grub_multiboot_payload_eip): New variable.
14328 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14329 New prototype.
14330 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14331 New definition.
14332 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14333 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14334 * include/grub/powerpc/ieee1275/loader.h: Removed.
14335 * include/grub/powerpc/memory.h: New file.
14336 * include/grub/powerpc/relocator.h: Likewise.
14337 * include/grub/relocator.h: Likewise.
14338 * include/grub/relocator_private.h: Likewise.
14339 * include/grub/sparc64/ieee1275/loader.h: Removed.
14340 * include/grub/x86_64/memory.h: New file.
14341 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14342 (grub_xnu_heap_malloc): Likewise.
14343 (grub_xnu_heap_real_start): Removed.
14344 (grub_xnu_heap_start): Likewise.
14345 (grub_xnu_relocator): New variable.
14346 (grub_xnu_heap_target_start): Likewise.
14347 * tests/util/grub-shell.in: Support non-pc.
14348 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14349
5303b85d
VS
143502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14353 on malloc error.
14354 (grub_bidi_logical_to_visual): Check that malloc succeded.
14355 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14356 puts.
14357 (grub_xputs_normal): Likewise.
14358
d768d159
VS
143592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14362 extra_dist.
14363
143642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14367
5bf84df4
VS
143682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14371
3626810e
VS
143722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14375 dprintf.
14376
a7363f53
BC
143772010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14378
14379 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14380
902f75f6
VS
143812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * grub-core/normal/term.c (print_more): Fix a memory leak.
14384 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14385 (grub_xputs_normal): Likewise.
14386
3c707967
VS
143872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14390 the begining of the string
14391
2053cc07
VS
143922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 * grub-core/script/script.c (grub_script_parse): Free parsed on
14395 failure.
14396
46422ebf
VS
143972010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14400 on failure.
14401
9e0fa3f6
VS
144022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14405 return.
14406
3393cf16
VS
144072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14410 (scroll_up): Fix a memory leak.
14411
b17540cb
VS
144122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14415 errors.
14416
67140446
VS
144172010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 Handle USB pendrives exposed as floppies.
14420
14421 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14422 floppy.
14423 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14424 Check for partitions on all devices.
14425
e35e46fc
VS
144262010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14427
14428 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14429 (readkey): Likewise.
14430
d24c6190
BC
144312010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14432
14433 Multiple variable names support to "export" command.
14434
14435 * normal/context.c (grub_cmd_export): "export" command supports
14436 multiple variable names.
14437
04ddcc6a
ST
144382010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14439
14440 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14441 --target=drive output to Mach device name.
14442
0c8b61d8
BC
144432010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14444
14445 New Automake based build system for GRUB.
14446
14447 * ABOUT-NLS: New file.
14448 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14449 in Makefile.util.def file.
14450 * Makefile.util.def: New file. Autogen build definitions file for
14451 GRUB host utils.
14452 * conf/Makefile.common: New file. Common variables for GRUB host
14453 utils and target modules.
14454 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14455 * docs/Makefile.am: New file. Automake file for docs.
14456 * gentpl.py: New file. Python script to generate Autogen
14457 template.
14458 * grub-core/Makefile.am: New file. GRUB target modules' rules
14459 that doesn't fit in Makefile.core.def file.
14460 * grub-core/Makefile.core.def: New file. Autogen build
14461 definitions file for GRUB target modules.
14462 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14463 specific setjmp.S file.
14464 * po/Makefile.am: New file.
14465
14466 * .bzrignore: New ignores.
14467 * INSTALL: New requirements, without Ruby.
14468 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14469 * autogen.sh: Updated to invoke autogen as necessary.
14470 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14471 and defines for Automake conditionals.
14472 * geninit.sh: Refactoring.
14473
14474 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14475 necessary.
14476 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14477 New prototype.
14478
14479 * include/grub/test.h: Fix functional test modules' naming.
14480 * grub-core/tests/example_functional_test.c: Fix test module name.
14481
14482 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14483 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14484 * util/grub-editenv.c: Likewise.
14485 * util/grub-fstest.c: Likewise.
14486 * util/grub-mkdevicemap.c: Likewise.
14487 * util/grub-mkfont.c: Likewise.
14488 * util/grub-mkimage.c: Likewise.
14489 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14490 * util/grub-probe.c: Likewise.
14491 * util/grub-script-check.c: Likewise.
14492 * util/i386/pc/grub-setup.c: Likewise.
14493 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14494
14495 * tests/util/grub-shell.in: Fix override directory path.
14496 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14497 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14498
14499 * util/lvm.c: Update #includes.
14500 * util/raid.c: Likewise.
14501 * util/resolve.c: Likewise.
14502 * grub-core/bus/emu/pci.c: Likewise.
14503 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14504 * grub-core/lib/posix_wrap/string.h: Likewise.
14505 * grub-core/kern/emu/main.c: Likewise.
14506
14507 * grub-core/gensymlist.sh: New file. Script for generating kernel
14508 symbols file.
14509 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14510
14511 * grub-core/gentrigtables.c: Fix unused variable warnings.
14512
14513 * Makefile.in: Removed.
14514 * conf/any-emu.rmk: Removed.
14515 * conf/common.rmk: Removed.
14516 * conf/i386-coreboot.rmk: Removed.
14517 * conf/i386-efi.rmk: Removed.
14518 * conf/i386-ieee1275.rmk: Removed.
14519 * conf/i386-multiboot.rmk: Removed.
14520 * conf/i386-pc.rmk: Removed.
14521 * conf/i386-qemu.rmk: Removed.
14522 * conf/i386.rmk: Removed.
14523 * conf/mips-yeeloong.rmk: Removed.
14524 * conf/mips.rmk: Removed.
14525 * conf/powerpc-ieee1275.rmk: Removed.
14526 * conf/sparc64-ieee1275.rmk: Removed.
14527 * conf/tests.rmk: Removed.
14528 * conf/x86-efi.rmk: Removed.
14529 * conf/x86_64-efi.rmk: Removed.
14530 * gendistlist.sh: Removed.
14531 * geninitheader.sh: Removed.
14532 * genkernsyms.sh.in: Removed.
14533 * genmk.rb: Removed.
14534 * gensymlist.sh.in: Removed.
14535 * mkinstalldirs: Removed.
14536 * boot: Moved ...
14537 * grub-core/boot: ... to here.
14538 * bus: Moved ...
14539 * grub-core/bus: ... to here.
14540 * commands: Moved ...
14541 * grub-core/commands: ... to here.
14542 * disk: Moved ...
14543 * grub-core/disk: ... to here.
14544 * efiemu: Moved ...
14545 * grub-core/efiemu: ... to here.
14546 * font: Moved ...
14547 * grub-core/font: ... to here.
14548 * fs: Moved ...
14549 * grub-core/fs: ... to here.
14550 * gencmdlist.sh: Moved ...
14551 * grub-core/gencmdlist.sh: ... to here.
14552 * genemuinit.sh: Moved ...
14553 * grub-core/genemuinit.sh: ... to here.
14554 * genemuinitheader.sh: Moved ...
14555 * grub-core/genemuinitheader.sh: ... to here.
14556 * genfslist.sh: Moved ...
14557 * grub-core/genfslist.sh: ... to here.
14558 * genhandlerlist.sh: Moved ...
14559 * grub-core/genhandlerlist.sh: ... to here.
14560 * genmoddep.awk: Moved ...
14561 * grub-core/genmoddep.awk: ... to here.
14562 * genmodsrc.sh: Moved ...
14563 * grub-core/genmodsrc.sh: ... to here.
14564 * genpartmaplist.sh: Moved ...
14565 * grub-core/genpartmaplist.sh: ... to here.
14566 * genparttoollist.sh: Moved ...
14567 * grub-core/genparttoollist.sh: ... to here.
14568 * genterminallist.sh: Moved ...
14569 * grub-core/genterminallist.sh: ... to here.
14570 * gentrigtables.c: Moved ...
14571 * grub-core/gentrigtables.c: ... to here.
14572 * genvideolist.sh: Moved ...
14573 * grub-core/genvideolist.sh: ... to here.
14574 * gettext: Moved ...
14575 * grub-core/gettext: ... to here.
14576 * gfxmenu: Moved ...
14577 * grub-core/gfxmenu: ... to here.
14578 * gnulib: Moved ...
14579 * grub-core/gnulib: ... to here.
14580 * hello: Moved ...
14581 * grub-core/hello: ... to here.
14582 * hook: Moved ...
14583 * grub-core/hook: ... to here.
14584 * io: Moved ...
14585 * grub-core/io: ... to here.
14586 * kern: Moved ...
14587 * grub-core/kern: ... to here.
14588 * lib: Moved ...
14589 * grub-core/lib: ... to here.
14590 * loader: Moved ...
14591 * grub-core/loader: ... to here.
14592 * mmap: Moved ...
14593 * grub-core/mmap: ... to here.
14594 * normal: Moved ...
14595 * grub-core/normal: ... to here.
14596 * partmap: Moved ...
14597 * grub-core/partmap: ... to here.
14598 * parttool: Moved ...
14599 * grub-core/parttool: ... to here.
14600 * script: Moved ...
14601 * grub-core/script: ... to here.
14602 * term: Moved ...
14603 * grub-core/term: ... to here
14604 * tests/example_functional_test.c: Moved ...
14605 * grub-core/tests/example_functional_test.c: ... to here.
14606 * tests/lib/functional_test.c: Moved ...
14607 * grub-core/tests/lib/functional_test.c: ... to here.
14608 * tests/lib/test.c: Moved ...
14609 * grub-core/tests/lib/test.c: ... to here.
14610 * video: Moved ...
14611 * grub-core/video: ... to here.
14612
645586e6
BC
146132010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14614
14615 Replace --enable-grub-emu-modules with grub-emu-lite.
14616
14617 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14618 cache.S.
14619
14620 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14621 * kern/emu/full.c: New file. For grub-emu specific initialization.
14622 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14623 * kern/emu/main.c: Call initialization function grub_emu_init.
14624
14625 * Makefile.in: Include grub-emu-lite in install.
14626 * commands/parttool.c: Use grub_no_autoload to differentiate
14627 between grub-emu and grub-emu-lite.
14628 * include/grub/misc.h: New variable grub_no_autoload.
14629
14630 * conf/any-emu.rmk: New rules for grub-emu-lite.
14631 * configure.ac: Remove --enable-grub-emu-modules.
14632 * genmk.rb: Cleanup unnecessary rules.
14633 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14634
14635 * normal/main.c: Don't load list files on grub-emu-lite.
14636 * util/misc.c (grub_arch_sync_caches): Removed.
14637
f86a4030
CW
146382010-08-23 Colin Watson <cjwatson@ubuntu.com>
14639
14640 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14641 grub-mkimage rather than grub-mkelfimage.
14642 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14643
06776944
VS
146442010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14647 a key after CapsLock or NumLock. It's just a qemu bug.
14648
df262419
VS
146492010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14652 needed by libusb wrapper.
14653
b40ea81b
ST
146542010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14655
14656 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14657
dee50575
VS
146582010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14661 --nounzip is passed.
14662
fb1d7b79
VS
146632010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 USB hotunplugging and USB serial support.
14666
14667 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14668 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14669 (grub_uhci_transfer): Respect timeout and set *actual.
14670 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14671 non-standard length.
14672 (grub_usb_device_attach): Autoload modules.
14673 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14674 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14675 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14676 users updated.
14677 (grub_usb_add_hub): Fill nports and children.
14678 (attach_root_port): Receive hub instead of controller.
14679 All users updated. Fill hub->devices.
14680 (grub_usb_root_hub): Allocate hub->devices.
14681 (detach_device): New function.
14682 (poll_nonroot_hub): Fill children and detach devices.
14683 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14684 actual arguments. All users updated.
14685 (grub_usb_bulk_read_extended): New function.
14686 * bus/usb/serial/common.c: New file.
14687 * bus/usb/serial/ftdi.c: Likewise.
14688 * bus/usb/serial/pl2303.c: Likewise.
14689 * commands/terminal.c (handle_command): Support wildcard.
14690 * commands/usbtest.c: Output "Unknown" instead of empty string.
14691 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14692 (usbserial_common_mod_SOURCES): New variable.
14693 (usbserial_common_mod_CFLAGS): Likewise.
14694 (usbserial_common_mod_LDFLAGS): Likewise.
14695 (pkglib_MODULES): Add usbserial_pl2303.mod.
14696 (usbserial_pl2303_mod_SOURCES): New variable.
14697 (usbserial_pl2303_mod_CFLAGS): Likewise.
14698 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14699 (pkglib_MODULES): Add usbserial_ftdi.mod.
14700 (usbserial_ftdi_mod_SOURCES): New variable.
14701 (usbserial_ftdi_mod_CFLAGS): Likewise.
14702 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14703 (pkglib_MODULES): Add serial.mod.
14704 (serial_mod_SOURCES): New variable.
14705 (serial_mod_CFLAGS): Likewise.
14706 (serial_mod_LDFLAGS): Likewise.
14707 * conf/i386-pc.rmk: Likewise.
14708 * conf/mips-yeeloong.rmk: Likewise.
14709 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14710 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14711 * disk/usbms.c (first_available_slot): New variable.
14712 (grub_usbms_attach): Don't reuse free slots due to potential cache
14713 problems.
14714 * include/grub/serial.h: Moved to ..
14715 * include/grub/ns8250.h: ...this.
14716 * include/grub/serial.h: New file.
14717 * include/grub/term.h (grub_term_poll_usb): New variable.
14718 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14719 readkey. All users updated.
14720 (grub_terminfo_output_state): Pass term to put.
14721 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14722 (grub_usb_controller_dev): Add timeout and actual arguments to
14723 transfer. All users updated.
14724 (grub_usb_interface): New field detach_data.
14725 (grub_usb_device): New fields children and nports.
14726 (grub_usb_ep_type_t): New type.
14727 (grub_usb_get_ep_type): New function.
14728 (grub_usb_bulk_read_extended): Likewise.
14729 * include/grub/usbdesc.h (grub_usb_desc): New type.
14730 * include/grub/usbserial.h: New file.
14731 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14732 * kern/term.c (grub_term_poll_usb): New variable.
14733 (grub_getkey): Call grub_term_poll_usb if set.
14734 (grub_checkkey): Likewise.
14735 (grub_getkeystatus): Likewise.
14736 * term/serial.c: Moved controller-specific parts to ...
14737 * term/ns8250.c: ... here.
14738 * term/serial.c: Mostly rewritten.
14739 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14740 according to spec.
14741
21a313de
RM
147422010-08-20 Robert Millan <rmh@gnu.org>
14743
14744 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14745 a separate module and maybe other interesting combinations.
14746
14747 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14748 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14749 (kfreebsd_entry): Add generic filesystem module load routine.
14750 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14751
63c734a6
CW
147522010-08-20 Colin Watson <cjwatson@ubuntu.com>
14753
14754 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14755 "numcenter" (I misunderstood the purpose of this entry).
14756 * docs/grub.texi (sendkey): Likewise.
14757
c4d16542
CW
147582010-08-20 Colin Watson <cjwatson@ubuntu.com>
14759
14760 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14761 status flag options; simply omitting the option is equivalent and
14762 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14763 (keysym_table): Rename "num5numlock" to "numlock".
14764 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14765 can uniformly say that only the last of multiple `sendkey'
14766 invocations has any effect.
14767 * docs/grub.texi (sendkey): New section.
14768
93541d66
CW
147692010-08-19 Colin Watson <cjwatson@ubuntu.com>
14770
14771 * commands/i386/pc/sendkey.c (options): Fix three typos.
14772
b4ece5e1
VS
147732010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 Implement sendkey support.
14776
14777 * commands/i386/pc/sendkey.c: New file.
14778 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14779 (sendkey_mod_SOURCES): New variable.
14780 (sendkey_mod_CFLAGS): Likewise.
14781 (sendkey_mod_LDFLAGS): Likewise.
14782
51f1f5af
CW
147832010-08-18 Colin Watson <cjwatson@ubuntu.com>
14784
14785 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14786 fix warnings from Autoconf.
14787
9da94e05
CW
147882010-08-18 Colin Watson <cjwatson@ubuntu.com>
14789
14790 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14791 to avoid false positives with some assemblers that output things
14792 like "someprefix_func" as part of their output.
14793
729a0f2e
RM
147942010-08-15 Robert Millan <rmh@gnu.org>
14795
14796 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14797 errors.
14798 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14799 grub_get_libzfs_handle() errors.
14800
f3710e08
RM
148012010-08-14 Robert Millan <rmh@gnu.org>
14802
14803 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14804 filesystem is not ZFS.
14805
7a3c13de
BC
148062010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14807
14808 Fix for misspelled color names defaulting to black/black (bug
14809 reported by Doug Nazar)
14810
14811 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14812 status to prototype.
14813 * normal/color.c (grub_parse_color_name_pair): Return failure
14814 status.
14815 (grub_env_write_color_normal): Ignore bad color names.
14816 (grub_env_write_color_highlight): Likewise.
14817 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14818
ab8ba50d
BC
148192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14820
14821 "shift" command support to GRUB script.
14822
14823 * include/grub/script_sh.h (grub_script_shift): New prototype.
14824 * script/execute.c (grub_script_shift): New function.
14825 * script/main.c (grub_script_init): Register shift command.
14826 (grub_script_fini): Unregister shift command.
14827 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14828
14829 * tests/grub_script_shift.in: New testcase.
14830 * conf/tests.rmk: Rules for new testcase.
14831
4d61999e
BC
148322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14833
14834 "continue" command support to GRUB script.
14835
14836 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14837 (grub_script_break): Continue support.
14838 * script/main.c (grub_script_init): Register continue command.
14839 (grub_script_fini): Unregister continue command.
14840
14841 * tests/grub_script_continue.in: New testcase.
14842 * conf/tests.rmk: Rules for new testcase.
14843
4df51e00
BC
148442010-08-12 BVK Chaitanya <bvk@dbook>
14845
14846 "break" command support to GRUB script.
14847
14848 * conf/common.rmk: Rule updates to grub-script-check.
14849 * include/grub/misc.h (grub_min): New function.
14850 * include/grub/script_sh.h (grub_script_init): New prototype.
14851 (grub_script_fini): New prototype.
14852 (grub_script_break): New prototype.
14853 * script/main.c (grub_script_init): New function.
14854 (grub_script_fini): New function.
14855 * script/execute.c (grub_script_break): New function.
14856 * normal/main.c: Calls to grub_script_{init,fini}.
14857 * util/grub-script-check.c (grub_script_break): New function.
14858
14859 * tests/grub_script_break.in: New testcase.
14860 * conf/tests.rmk: Rules for new test case.
14861
f12c8420
BC
148622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14863
14864 Function parameters support to GRUB script.
14865
14866 * script/yylex.l (VARIABLE): Regular expression update.
14867 * script/function.c (grub_script_function_call): Moved ...
14868 * script/execute.c (grub_script_function_call): ... to here.
14869 (grub_script_execute_arglist_to_argv): Removed.
14870 (grub_script_arglist_to_argv): New function.
14871 * script/argv.c: New file.
14872 (grub_script_argv_free): New function.
14873 (grub_script_argv_next): Likewise.
14874 (grub_script_argv_append): Likewise.
14875 (grub_script_argv_split_append): Likewise.
14876 * include/grub/script_sh.h (grub_script_argv): New struct.
14877 (grub_script_argv_free): New function.
14878 (grub_script_argv_next): Likewise.
14879 (grub_script_argv_append): Likewise.
14880 (grub_script_argv_split_append): Likewise.
14881
14882 * conf/common.rmk (normal.mod): New source script/argv.c.
14883
14884 * tests/grub_script_echo1.in: More tests.
14885 * tests/grub_script_vars1.in: Likewise.
14886 * tests/grub_script_functions.in: New test case.
14887 * conf/tests.rmk: Rules for new testcase.
14888
8022b748
BC
148892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14890
14891 Remove grub_script_cmdblock struct.
14892
14893 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14894 * script/parser.y: Likewise.
14895 * script/execute.c: Rename cmdblock suffix to cmdlist.
14896 * script/script.c: Likewise.
14897 * util/grub-script-check.c: Likewise.
14898
79a6ba61
YB
148992010-08-11 Yves Blusseau <blusseau@zetam.org>
14900
14901 * .bzrignore: add grub-macho2img
14902
d04b9414
VS
149032010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14906
f947ab49
VS
149072010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 Remove the dump of sm712 initialisation sequence.
14910
14911 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14912 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14913 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14914 (GRUB_VGA_CR_*): Added many registers.
14915 (GRUB_VGA_SR_*): Likewise.
14916 (GRUB_VGA_GR_*): Likewise.
14917 (grub_vga_write_arx): New function.
14918 (grub_video_hw_config): New struct.
14919 (grub_vga_set_geometry): New function.
14920 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14921 GRUB_PCI_CLASS_SUBCLASS_VGA.
14922 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14923 * video/sm712.c (grub_sm712_write_reg): New function
14924 (grub_sm712_read_reg): Likewise.
14925 (grub_sm712_sr_write): Likewise.
14926 (grub_sm712_gr_write): Likewise.
14927 (grub_sm712_cr_write): Likewise.
14928 (grub_sm712_write_arx): Likewise.
14929 (grub_sm712_cr_shadow_write): Likewise.
14930 (grub_sm712_write_dda_lookup): Likewise.
14931 (grub_video_sm712_setup): Initialise the video rather then
14932 blindly replay the dump.
14933 (main) [TEST]: Add a routine to be able to compile as standalone for
14934 tests.
14935 * video/sm712_init.c (sm712_init): Removed.
14936 (sm712_sr_seq1): New array.
14937 (sm712_sr_seq2): Likewise.
14938
f0206638
VS
149392010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 * include/grub/vga.h: Add missing grub/pci.h include.
14942
2764da3b
YB
149432010-08-10 Yves Blusseau <blusseau@zetam.org>
14944
14945 * util/grub-macho2img.c (main): fix typo
14946
cf0c775e
VS
149472010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14950 (grub_vga_gr_read): Likewise.
14951 (grub_vga_cr_write): Likewise.
14952 (grub_vga_cr_read): Likewise.
14953 (grub_vga_sr_write): Likewise.
14954 (grub_vga_sr_read): Likewise.
14955 (grub_vga_palette_read): Likewise.
14956 (grub_vga_palette_write): Likewise.
14957 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14958 (grub_sm712_sr_read): New function.
14959 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14960 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14961
07f360e9
RM
149622010-08-09 Robert Millan <rmh@gnu.org>
14963
14964 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14965 out unused variables on non-ZFS build.
14966
346c2072
RM
149672010-08-08 Robert Millan <rmh@gnu.org>
14968
14969 Fix path generation for sub-filesystems in ZFS.
14970
14971 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14972 missing slash.
14973
71175420
RM
149742010-08-08 Robert Millan <rmh@gnu.org>
14975
14976 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14977
0d8286f3
RM
149782010-08-08 Robert Millan <rmh@gnu.org>
14979
14980 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14981 exist, issue a proper error message (rely on `ls' for translated
14982 strings).
14983
55dd2924
RM
149842010-08-08 Robert Millan <rmh@gnu.org>
14985
14986 Fix grub-probe invocation.
14987
14988 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14989
d3dd9e80
RM
149902010-08-04 Robert Millan <rmh@gnu.org>
14991
14992 * configure.ac: Remove checks for getfsstat() and getmntany().
14993 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14994 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14995 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14996 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14997 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14998 function.
14999 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15000 via find_mount_point_from_dir() and getfsstat() / getmntany().
15001
0de22aa9
RM
150022010-08-04 Robert Millan <rmh@gnu.org>
15003
15004 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15005 (grub_find_zpool_from_mount_point): Merge into ...
15006 (grub_find_zpool_from_dir): ... this.
15007 * kern/emu/misc.c: Likewise.
15008
15009 * kern/emu/misc.c
15010 (grub_make_system_path_relative_to_its_root): Replace
15011 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15012 with grub_find_zpool_from_dir().
15013 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15014
62858144
RM
150152010-08-04 Robert Millan <rmh@gnu.org>
15016
15017 Support OpenSolaris in ZFS device resolution.
15018
15019 * configure.ac: Check for getmntany().
15020 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15021 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15022 support.
15023
9dd6fd50
RM
150242010-08-03 Robert Millan <rmh@gnu.org>
15025
15026 Fix grub-emu build.
15027
15028 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15029 * include/grub/emu/misc.h: ... here.
15030
15031 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15032 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15033
15034 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15035 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15036 (grub_get_libzfs_handle): Move to ...
15037 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15038 (grub_get_libzfs_handle): ... here.
15039
c9f7ff97
BC
150402010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15041
15042 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15043 as command name case.
15044
a870a783
CW
150452010-08-02 Colin Watson <cjwatson@ubuntu.com>
15046
15047 * disk/raid.c (insert_array): Select unique numbers for named arrays
15048 as well, for use as keys in the disk cache.
15049
c7db243b
RM
150502010-08-01 Robert Millan <rmh@gnu.org>
15051
15052 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15053 kFreeBSD device name, except on ZFS where the filesystem label is
15054 used.
15055 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15056 `/boot/zfs/zpool.cache'.
15057 Set mountfrom kernel variable using ${kfreebsd_device}.
15058
f7abdefb
RM
150592010-08-01 Robert Millan <rmh@gnu.org>
15060
15061 Make it even harder to use uninitialized `libzfs_handle' (and
15062 make the interface a bit simpler).
15063
15064 * include/grub/util/misc.h (grub_util_init_libzfs)
15065 (libzfs_handle): Remove.
15066 (grub_get_libzfs_handle): New prototype.
15067
15068 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15069 attribute.
15070 (grub_util_init_libzfs): Remove.
15071 (grub_get_libzfs_handle): New function.
15072
15073 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15074 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15075 accessing `libzfs_handle' directly.
15076
c882acc0
RM
150772010-08-01 Robert Millan <rmh@gnu.org>
15078
15079 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15080 (grub_find_zpool_from_mount_point): New function prototypes.
15081
15082 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15083 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15084
15085 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15086 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15087 `static' attribute.
15088
15089 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15090 finding zpool from mount point into ...
15091 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15092
15093 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15094 requested path is part of a ZFS pool, use
15095 grub_find_zpool_from_mount_point() to detect its filesystem name,
15096 and generate a path with `/fsname@path' syntax.
15097
8bfe31d8
CW
150982010-08-01 Colin Watson <cjwatson@ubuntu.com>
15099
15100 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15101 (void) rather than () so that this is a proper prototype.
15102
553df63d
VS
151032010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15104
15105 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15106
8687cf07
VS
151072010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15110 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15111
ea9be8ea
CW
151122010-08-01 Colin Watson <cjwatson@ubuntu.com>
15113
15114 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15115
6eea041a
CW
151162010-08-01 Colin Watson <cjwatson@ubuntu.com>
15117
15118 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15119
2cfb45df
CW
151202010-08-01 Colin Watson <cjwatson@ubuntu.com>
15121
15122 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15123 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15124 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15125 disable gfxpayload.
15126 (Shell-like scripting): Add real content.
15127 (Serial terminal): Suggest `terminal_input serial; terminal_output
15128 serial' rather than putting the two commands on separate lines,
15129 since console input will be inoperative after the first command.
15130 (menuentry): Document --class, --users, and --hotkey options.
15131 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15132 Vladimir Serbinenko).
15133
7decd202
VS
151342010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
151352010-08-01 Colin Watson <cjwatson@ubuntu.com>
15136
15137 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15138
c882acc0
RM
151392010-08-01 Robert Millan <rmh@gnu.org>
15140
15141 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15142 (grub_find_zpool_from_mount_point): New function prototypes.
15143
15144 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15145 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15146
15147 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15148 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15149 `static' attribute.
15150
15151 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15152 finding zpool from mount point into ...
15153 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15154
15155 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15156 requested path is part of a ZFS pool, use
15157 grub_find_zpool_from_mount_point() to detect its filesystem name,
15158 and generate a path with `/fsname@path' syntax.
15159
deb0caa3
RM
151602010-08-01 Robert Millan <rmh@gnu.org>
15161
15162 Prevent accidental use of uninitialized libzfs_handle.
15163
15164 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15165 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15166 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15167
ce04ef47
CW
151682010-08-01 Colin Watson <cjwatson@ubuntu.com>
15169
15170 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15171 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15172
ebf53056
RM
151732010-08-01 Robert Millan <rmh@gnu.org>
15174
15175 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15176
3710bb6b
RM
151772010-07-31 Robert Millan <rmh@gnu.org>
15178
15179 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15180
8072efeb
RM
151812010-07-31 Robert Millan <rmh@gnu.org>
15182
15183 * kern/emu/misc.c: Add missing license header.
15184
3169f4c7
RM
151852010-07-31 Robert Millan <rmh@gnu.org>
15186
15187 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15188
15189 * include/grub/util/libnvpair.h: Include `<config.h>'.
15190 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15191 declaring libnvpair prototypes ourselves.
15192 * include/grub/util/libzfs.h: Include `<config.h>'.
15193 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15194 declaring libzfs prototypes ourselves.
15195
15196 (libzfs_handle): Moved to ...
15197 * include/grub/util/misc.h (libzfs_handle): ... here.
15198 Include `<grub/util/libzfs.h>'.
15199
c9a00aee
RM
152002010-07-30 Robert Millan <rmh@gnu.org>
15201
15202 * include/grub/emu/misc.h: Add missing license header.
15203
a184f9c8
RM
152042010-07-30 Robert Millan <rmh@gnu.org>
15205
15206 Enable `grub-probe -t device' resolution on ZFS.
15207
15208 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15209 * include/grub/util/libnvpair.h: New file.
15210 * include/grub/util/libzfs.h: New file.
15211
15212 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15213 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15214 `<grub/util/libnvpair.h>'.
15215 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15216
15217 (find_mount_point_from_dir): New static function.
15218 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15219 function.
15220 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15221 find_root_device_from_libzfs() before ressorting to find_root_device().
15222
15223 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15224 prototype.
15225 * util/misc.c: Include `<grub/util/libzfs.h>'.
15226 (grub_util_init_libzfs): New function.
15227 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15228 [HAVE_LIBZFS] (fini_libzfs): New static function.
15229 (grub_util_init_libzfs): New function.
15230 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15231
f7790cdd
RM
152322010-07-30 Robert Millan <rmh@gnu.org>
15233
15234 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15235 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15236 `warn_unused_result' attribute.
15237 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15238 (grub_xasprintf, grub_xvasprintf): Likewise.
15239 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15240
0806b63c
RM
152412010-07-29 Robert Millan <rmh@gnu.org>
15242
15243 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15244 (probe): Handle `PRINT_FS_LABEL'.
15245 (main): Handle `-t fs_label'.
15246
9f841f5c
RM
152472010-07-29 Robert Millan <rmh@gnu.org>
15248
15249 * configure.ac: Remove grub-mkisofs checks.
15250
46371121
VS
152512010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15254 Reported by: Lennart Sorensen.
15255
152562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15259 prior to terminal_input/terminal_output separation. It's been over 1.5
15260 years and those versions weren't widely deployed.
15261
a9600892
CW
152622010-07-22 Colin Watson <cjwatson@ubuntu.com>
15263
15264 * disk/raid.c (insert_array): Don't count named arrays when looking
15265 for unused array numbers.
697e053c 15266 Reported and tested by: Michael Guntsche.
a9600892 15267
c03507df
CW
152682010-07-20 Colin Watson <cjwatson@ubuntu.com>
15269
15270 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15271 implementation of this so that grub-emu links again, with a note
15272 that this should support hotplugging in the future.
15273
b26f1c11
CW
152742010-07-20 Colin Watson <cjwatson@ubuntu.com>
15275
15276 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15277
efc9d7f1
CW
152782010-07-20 Colin Watson <cjwatson@ubuntu.com>
15279
15280 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15281 handle on failure.
15282 (grub_loopback_close): Remove empty function.
15283 (grub_loopback_dev): Remove close method.
15284
dd8ff5c9
CW
152852010-07-20 Colin Watson <cjwatson@ubuntu.com>
15286
15287 Disable EFI cursor when the EFI console becomes inactive.
15288
15289 * term/efi/console.c (grub_efi_console_init): New function.
15290 (grub_efi_console_fini): New function.
15291 (grub_console_term_output): Register init and fini methods.
15292
5e3bec67
VS
152932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15296 sh script.
15297
afaec079
VS
152982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 * disk/loopback.c (grub_loopback): Replace filename with file.
15301 (delete_loopback): Handle new semantics.
15302 (grub_cmd_loopback): Likewise.
15303 (grub_loopback_iterate): Likewise.
15304 (grub_loopback_close): Likewise.
15305
a6a11f3c
VS
153062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15309 with -p "".
15310 Reported by: Tito Keitel.
15311
64a638b0
VS
153122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 * docs/grub.texi (Naming convention): Document new naming convention.
15315
ab8ba957
VS
153162010-07-20 Vadim Solomin <vadic052@gmail.com>
153172010-07-20 Colin Watson <cjwatson@ubuntu.com>
15318
15319 Generate device.map in something closer to the old ordering.
15320
15321 * util/deviceiter.c (struct device): New declaration.
15322 (compare_file_names): Rename to ...
15323 (compare_devices): ... this. Sort by kernel name in preference to
15324 the stable by-id name, but keep the latter as a fallback comparison.
15325 Update header comment.
15326 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15327 of `struct device' rather than of plain file names.
15328
a29d6a4b
TF
153292010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15330
15331 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15332 on i386.
15333
39d824e8
VS
153342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15337 hardcoding size.
15338 (setv1table): Likewise.
15339
f058276b
FZ
153402010-07-20 Colin Watson <cjwatson@ubuntu.com>
15341
15342 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15343 removing the homehost if present.
15344 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15345 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15346 removing the homehost if present.
15347 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15348 if possible.
15349 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15350
15351 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15352 parameter. Set its pointer target to 0.
15353 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15354 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15355 `data_offset' value from the superblock for 1.x metadata.
15356 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15357 data on the device.
15358 (insert_array): Record the start sector of data on the device.
15359 (grub_raid_register): Pass start_sector parameters to
15360 grub_raid_list->detect and insert_array.
15361 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15362 member.
15363 (struct grub_raid): Add start_sector parameter to `detect'.
15364
15365 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15366 __attribute__ ((packed)), leaving a comment.
15367 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15368 (grub_mdraid_detect_09): ... here and ...
15369 (grub_mdraid_detect_1x): ... here.
15370
153712010-07-20 Peter Henn <peter.henn@web.de>
15372
15373 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15374 chunk size and disk size, which are already given as sector counts
15375 as distinct from the 0.90 units. Fetch the correct device number
15376 from the role table instead of using the table index.
15377
153782010-07-20 Felix Zielcke <fzielcke@z-51.de>
15379
15380 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15381 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15382 (WriteMostly1): New macro.
15383 Set array->name to NULL for metadata format 0.90. Add support for
15384 metadata 1.x. Fix some comments.
15385 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15386 few comments.
15387 * util/getroot.c (grub_util_get_grub_dev): Add support for
15388 /dev/md/name style devices.
15389
4b761da9
CW
153902010-07-20 Colin Watson <cjwatson@ubuntu.com>
15391
15392 * .bzrignore: Ignore 20_linux_xen.
15393
5771289a
CW
153942010-07-17 Colin Watson <cjwatson@ubuntu.com>
15395
15396 * util/import_unicode.py: Remove unnecessary imports.
15397
5dab68df
AN
153982010-07-17 Aleš Nesrsta <starous@volny.cz>
15399
15400 Hotplugging and USB hub support.
15401
15402 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15403 (grub_ohci): Likewise.
15404 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15405 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15406 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15407 (GRUB_OHCI_CTRL_EDS): Likewise.
15408 (GRUB_OHCI_BULK_EDS): Likewise.
15409 (GRUB_OHCI_TDS): Likewise.
15410 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15411 (grub_ohci_ed_phys2virt): New function.
15412 (grub_ohci_virt_to_phys): Likewise.
15413 (grub_ohci_td_phys2virt): Likewise.
15414 (grub_ohci_td_virt2phys): Likewise.
15415 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15416 attachment.
15417 (grub_ohci_find_ed): New function.
15418 (grub_ohci_alloc_td): Likewise.
15419 (grub_ohci_free_td): Likewise.
15420 (grub_ohci_free_tds): Likewise.
15421 (grub_ohci_transfer): Use previously allocated memory.
15422 (grub_ohci_portstatus): Reset status changed bit.
15423 (grub_ohci_detect_dev): Supply status changed.
15424 (grub_ohci_fini_hw): Free memory.
15425 (grub_ohci_restore_hw): Reallocate memory.
15426 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15427 Reset status change.
15428 (grub_uhci_detect_dev): Supply status_change.
15429 * bus/usb/usb.c (attach_hooks): New var.
15430 (grub_usb_device_attach): New function.
15431 (grub_usb_register_attach_hook_class): Likewise.
15432 (grub_usb_unregister_attach_hook_class): Likewise.
15433 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15434 (grub_usb_add_hub): Reset connection changed bit.
15435 (attach_root_port): New function.
15436 (grub_usb_root_hub): Likewise.
15437 (poll_nonroot_hub): Likewise.
15438 (grub_usb_poll_devices): Likewise.
15439 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15440 * disk/usbms.c (grub_usbms_open): Use device hooks.
15441 (grub_usbms_iterate) :Poll devices.
15442 (grub_usbms_finddevs): Split into ...
15443 (grub_usbms_attach): ... this ...
15444 (grub_usbms_attach): ... and this.
15445 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15446 in detect_dev.
15447 (grub_usb_interface): New fields attached and detach_hook.
15448 (grub_usb_attach_hook_class): New type.
15449 (grub_usb_attach_desc): New struct.
15450 (grub_usb_register_attach_hook_class): New function.
15451 (grub_usb_unregister_attach_hook_class): Likewise.
15452 (grub_usb_poll_devices): Likewise.
15453 (grub_usb_device_attach): Likewise.
15454 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15455 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15456
3222efaf
VS
154572010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15460 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15461 delta determination style. Works with most NetBSD partitions too.
15462
139b714a
VS
154632010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15466 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15467
986aad56
VS
154682010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15471
99be513c
AB
154722010-07-14 Anton Blanchard <anton@samba.org>
15473
15474 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15475 ET_DYN files.
15476
18075f62
GS
154772010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15478
15479 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15480
8d9a5b15
GS
154812010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15482
15483 * kern/partition.c (grub_partition_check_containment): New function to
15484 check that a partition is physically contained in a parent. Since
15485 offsets are relative (and non-negative), this reduces to checking that
15486 the partition ends before its parent.
15487 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15488 (grub_partition_iterate): Likewise.
15489 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15490 comments.
15491 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15492 partitions that start before their parent, and add debug printfs.
15493
19563c25
CW
154942010-07-13 Colin Watson <cjwatson@ubuntu.com>
15495
15496 * Makefile.in (.SUFFIX): Spell correctly, as ...
15497 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15498 bare module name without `.mod', e.g. `test') tried to invoke a
15499 Modula-2 compiler.
15500
1a1f1e67
CW
155012010-07-13 Colin Watson <cjwatson@ubuntu.com>
15502
15503 * README: Point to the Info manual.
15504
811b0dca
JS
155052010-07-13 Jiro SEKIBA <jir@unicus.jp>
15506
15507 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15508 2nd superblock position from partition size.
15509
e4f4eafc
CW
155102010-07-10 Colin Watson <cjwatson@ubuntu.com>
15511
15512 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15513 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15514 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15515 outputs.
15516
4274c30f
VS
155172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 Restructure SCSI .id handling.
15520 Reported and tested by: Aleš Nesrsta.
15521
15522 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15523 (grub_atapi_dev): Changed .name to "ata". New field .id.
15524 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15525 (grub_usbms_dev): New field .id.
15526 * disk/scsi.c (grub_scsi_iterate): Generate name.
15527 (grub_scsi_open): Parse name.
15528 * include/grub/scsi.h (grub_make_scsi_id): New function.
15529 (grub_scsi_dev): Change iterate and open to number instead of naming
15530 busses. All users updated.
15531 (grub_scsi): Remove name. Add .bus.
15532
5bc24388
VS
155332010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * commands/help.c (grub_cmd_help): Fix a typo.
15536
249975ba
VS
155372010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15540 Reported and tested by: Colin Watson.
15541
3eaac1a1
VS
155422010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15545 in this context.
15546
becce1b1
VS
155472010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15550
f7bf0918
CW
155512010-07-07 Colin Watson <cjwatson@ubuntu.com>
15552
15553 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15554 indentation.
15555
0b0f9620
CW
155562010-07-06 Colin Watson <cjwatson@ubuntu.com>
15557
15558 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15559 and disk/raid6_recover.c.
15560 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15561 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15562
1e545469
CW
155632010-07-06 Colin Watson <cjwatson@ubuntu.com>
15564
15565 * term/gfxterm.c (repaint_schedulded): Rename to ...
15566 (repaint_scheduled): ... this. Update all callers.
15567 (repaint_was_schedulded): Rename to ...
15568 (repaint_was_scheduled): ... this. Update all callers.
15569
5357687a
CW
155702010-07-06 Colin Watson <cjwatson@ubuntu.com>
15571
15572 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15573 which we expect to be handled by upper layers.
15574
29d7e783
BC
155752010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15576
15577 * bus/usb/usbhub.c: #include time.h header.
15578
37582066
CW
155792010-07-06 Colin Watson <cjwatson@ubuntu.com>
15580
15581 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15582 entry_name also for entries without stat blocks (e.g. ".."); fixes
15583 corruption of the first entry in a directory.
15584
c8c06953
CW
155852010-07-06 Colin Watson <cjwatson@ubuntu.com>
15586
15587 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15588 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15589 doesn't work otherwise.
15590
e75056f1
CW
155912010-07-05 Colin Watson <cjwatson@ubuntu.com>
15592
15593 * docs/grub.texi (Features): Update list of supported file systems.
15594 (GNU/Linux): Update for GRUB 2.
15595 (Serial terminal): Remove mention of --disable-serial, which was a
15596 GRUB Legacy configure option. Update instructions to use
15597 `terminal_input' and `terminal_output' rather than `terminal'.
15598 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15599 configuration' and `Installing GRUB using grub-install'.
15600 (Menu entry editor): Update for GRUB 2.
15601 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15602 Document new -a, -u, and -v options.
15603 (initrd): New section.
15604 (initrd16): New section.
15605 (linux): New section.
15606 (linux16): New section.
15607 (search): The `var' argument to `--set' is optional.
15608 (GRUB only offers a rescue shell): Go into a little more detail on
15609 drive ordering.
15610
5cf69151
CW
156112010-07-05 Colin Watson <cjwatson@ubuntu.com>
15612
15613 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15614
e3f90044
CW
156152010-07-05 Colin Watson <cjwatson@ubuntu.com>
15616
15617 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15618 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15619
38d8f4f3
CW
156202010-07-05 Colin Watson <cjwatson@ubuntu.com>
15621
15622 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15623 install_prefix, in line with install_dos_part and install_bsd_part.
15624 Add new prefix variable, which is copied to install_prefix after
15625 comparing core.img in memory with the one read from disk in the
15626 no-embedding case, and use that rather than overwriting
15627 install_prefix immediately when installing to a partition.
15628 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15629 Bicakci.
15630
57ebd41e
GS
156312010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15632
15633 * configure.ac: Avoid == in test command, it's not portable.
15634 * util/grub.d/30_os-prober.in: Likewise.
15635
cb7f64b2
CW
156362010-07-04 Colin Watson <cjwatson@ubuntu.com>
15637
15638 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15639
6b654bb0
GS
156402010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15641
15642 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15643 multiple (top-level) partmaps.
15644
72a2026d
VS
156452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15648 Reported by: Tino Keitel.
72a2026d 15649
df3eb88f
VS
156502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 Bidi and diacritics support.
15653
15654 * Makefile.in (widthspec.bin): New target.
15655 (widthspec.h): Likewise.
15656 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15657 * autogen.sh: Generate unidata.c.
15658 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15659 * commands/ls.c (grub_ls_list_devices): Likewise.
15660 (grub_ls_list_files): Likewise.
15661 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15662 (grub_mini_cmd_lsmod): Likewise.
15663 * commands/read.c: Likewise.
15664 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15665 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15666 * lib/arg.c (grub_arg_show_help): Likewise.
15667 * lib/crypto.c (grub_password_get): Likewise.
15668 * normal/auth.c (grub_username_get): Likewise.
15669 * normal/misc.c (grub_normal_print_device_info): Likewise.
15670 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15671 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15672 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15673 (normal/charset.c_DEPENDENCIES): New variable.
15674 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15675 (pkglib_MODULES): Remove charset.mod.
15676 (charset_mod_SOURCES): Removed.
15677 (charset_mod_CFLAGS): Likewise.
15678 (charset_mod_LDFLAGS): Likewise.
15679 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15680 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15681 and term/tparm.c.
15682 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15683 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15684 (kernel_img_HEADERS): Add terminfo.h.
15685 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15686 Fill ->font. Reverse ascii bitmaps.
15687 (grub_font_get_xheight): New function.
15688 * font/font.c (grub_font_get_string_width): Moved from here ...
15689 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15690 * font/font.c (grub_font_draw_string): Moved from here ...
15691 * gfxmenu/font.c (grub_font_draw_string): ... here.
15692 * font/font.c (grub_font_dup_glyph): New function.
15693 (grub_font_blit_glyph): Likewise.
15694 (grub_font_blit_glyph_mirror): Likewise.
15695 (blit_comb): Likewise.
15696 (grub_font_construct_dry_run): Likewise.
15697 (grub_font_get_constructed_device_width): Likewise.
15698 (grub_font_construct_glyph): Likewise.
15699 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15700 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15701 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15702 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15703 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15704 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15705 (grub_font_get_xheight): New proto.
15706 (grub_font_get_constructed_device_width): Likewise.
15707 (grub_font_construct_glyph): Likewise.
15708 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15709 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15710 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15711 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15712 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15713 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15714 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15715 (grub_console_getcharwidth): Likewise.
15716 * include/grub/misc.h (grub_xputs): New proto.
15717 (grub_puts): Inlined.
15718 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15719 (grub_normal_get_line_counter): Removed.
15720 (grub_install_newline_hook): Likewise.
15721 (grub_normal_get_char_counter): New proto.
15722 (grub_normal_reset_more): Likewise.
15723 (grub_xputs_normal): Likewise.
15724 * include/grub/powerpc/ieee1275/console.h: Removed.
15725 * include/grub/sparc64/ieee1275/console.h: Likewise.
15726 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15727 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15728 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15729 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15730 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15731 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15732 (grub_term_input): Pass reference to self. All users updated.
15733 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15734 Pass reference to self. New fields normal_color, highlight_color and
15735 data. All users updated.
15736 (grub_putchar): Removed.
15737 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15738 (grub_unicode_estimate_width): New function.
15739 (grub_term_getcharwidth): Add defaults.
15740 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15741 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15742 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15743 (grub_cls): Remove EXPORT_FUNC.
15744 (grub_setcolorstate): Inline.
15745 (grub_newline_hook): Removed.
15746 * include/grub/terminfo.h: Rewritten. All users updated.
15747 * include/grub/unicode.h: New file.
15748 * include/grub/video.h (grub_video_signed_rect): New type.
15749 * kern/emu/console.c (grub_console_highlight_color): Removed.
15750 (grub_console_normal_color): Likewise.
15751 (grub_console_standard_color): Made static.
15752 (grub_ncurses_putchar): Remove mapping.
15753 (grub_ncurses_getcharwidth): Removed.
15754 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15755 (grub_ncurses_setcolor): Removed.
15756 (grub_ncurses_getcolor): Likewise.
15757 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15758 (grub_console_putchar): ... this.
15759 (grub_console_putchar): Handle argument difference.
15760 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15761 console_init_early and console_init_lately.
15762 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15763 * kern/misc.c (grub_puts): Removed.
15764 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15765 (grub_vsnprintf_real): Remove str = NULL support.
15766 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15767 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15768 * kern/term.c (grub_putcode): Renamed to ...
15769 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15770 (grub_putchar): Removed.
15771 (grub_xputs_dumb): New function.
15772 (grub_xputs): New variable.
15773 * lib/charset.c: Move from here ...
15774 * normal/charset.c: ... to here.
15775 (grub_ucs4_to_utf8): New function.
15776 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15777 (join_types): New variable.
15778 (unpack_join): New function.
15779 (bidi_types): New variable.
15780 (unpack_bidi): New function.
15781 (get_bidi_type): Likewise.
15782 (get_join_type): Likewise.
15783 (is_mirrored): Likewise.
15784 (grub_unicode_get_comb_type): Likewise.
15785 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15786 (is_type_after): Likewise.
15787 (grub_unicode_aglomerate_comb): Likewise.
15788 (bidi_line_wrap): Likewise.
15789 (grub_bidi_line_logical_to_visual): Likewise.
15790 (grub_bidi_logical_to_visual): Likewise.
15791 (grub_unicode_mirror_code): Likewise.
15792 (grub_unicode_shape_code): Likewise.
15793 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15794 Don't use grub_putchar.
15795 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15796 (grub_normal_reader_init): Likewise.
15797 (grub_xputs_saved): New variable.
15798 (GRUB_MOD_INIT): Set grub_xputs.
15799 (GRUB_MOD_FINI): Restore grub_xputs.
15800 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15801 (menu_init): Avoid printing gfxmenu error.
15802 (show_menu): Use grub_normal_get_char_counter.
15803 * normal/menu_entry.c (update_screen): Fix out-of-array.
15804 (complete): Avoid NULL dereferencing.
15805 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15806 * normal/menu_text.c (print_spaces): Removed.
15807 (grub_print_ucs4): Likewise.
15808 (grub_print_message_indented): Use grub_print_ucs4.
15809 (print_message): Use grub_putcode.
15810 (print_entry): Hanlde diacritics.
15811 * normal/term.c (term_state): New type.
15812 (grub_more_lines): Removed.
15813 (term_states): New variable.
15814 (grub_normal_line_counter): Renamed to ..
15815 (grub_normal_char_counter): ...this. All users updated.
15816 (grub_normal_get_line_counter): Renamed to ...
15817 (grub_normal_get_char_counter): ... this.
15818 (grub_normal_reset_more): New function.
15819 (process_newline): Removed.
15820 (print_more): New function.
15821 (grub_install_newline_hook): Removed.
15822 (map_code): New function.
15823 (grub_puts_terminal): Use grub_print_ucs4.
15824 (putglyph): New function.
15825 (putcode_real): Likewise.
15826 (grub_putcode): Use putcode_real.
15827 (get_maxwidth): New function.
15828 (get_startwidth): Likewise.
15829 (print_ucs4_terminal): Likewise.
15830 (find_term_state): Likewise.
15831 (put_glyphs_terminal): Likewise.
15832 (print_backlog): Likewise.
15833 (print_ucs4_real): Likewise.
15834 (grub_print_ucs4): Likewise.
15835 (grub_xputs_normal): Likewise.
15836 * term/efi/console.c (grub_console_putchar): Output diacritics.
15837 (grub_console_getcharwidth): Removed.
15838 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15839 * term/gfxterm.c (clear_char): Free chars.
15840 (scroll_up): Avoid leaking memory.
15841 (grub_gfxterm_putchar): Support diacritics.
15842 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15843 * term/i386/pc/console.c (grub_console_term_output): Declare as
15844 GRUB_TERM_CODE_TYPE_VGA.
15845 * term/i386/pc/vga.c (grub_vga_term): Declare as
15846 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15847 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15848 GRUB_TERM_CODE_TYPE_VGA.
15849 * term/i386/vga_common.c (map_char): Removed.
15850 (grub_console_putchar): Likewise.
15851 (grub_console_getcharwidth): Likewise.
15852 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15853 (colors): Reordered to match terminfo.
15854 (grub_ofconsole_normal_color): Removed.
15855 (grub_ofconsole_writeesc): Likewise.
15856 (grub_ofconsole_highlight_color): Likewise.
15857 (grub_ofconsole_getcharwidth): Likewise.
15858 (grub_ofconsole_setcolorstate): Likewise.
15859 (grub_ofconsole_setcolor): Likewise.
15860 (grub_ofconsole_getcolor): Likewise.
15861 (grub_ofconsole_readkey): Renamed to ...
15862 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15863 key.
15864 (grub_ofconsole_checkkey): Removed.
15865 (grub_ofconsole_getkey): Likewise.
15866 (grub_ofconsole_getxy): Likewise.
15867 (grub_ofconsole_gotoxy): Likewise.
15868 (grub_ofconsole_cls): Likewise.
15869 (grub_ofconsole_refresh): Likewise.
15870 (grub_ofconsole_terminfo_input): New struct.
15871 (grub_ofconsole_terminfo_output): Likewise.
15872 (grub_ofconsole_term_input): Use terminfo.
15873 (grub_ofconsole_term_output): Likewise.
15874 (grub_console_init): Split into ...
15875 (grub_console_init_early): ...this and ...
15876 (grub_console_init_lately): ...this. Use terminfo.
15877 (grub_ofconsole_putchar): Renamed to ...
15878 (put): ... this. Remove mapping.
15879 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15880 * term/serial.c: Simplify using terminfo.
15881 (xpos): Removed.
15882 (ypos): Likewise.
15883 (keep_track): Likewise.
15884 (registered): Likewise.
15885 (input_buf): Likewise.
15886 (npending): Likewise.
15887 (serial_translate_key_sequence): Likewise.
15888 (fill_input_buf): Likewise.
15889 (grub_serial_checkkey): Likewise.
15890 (grub_serial_getkey): Likewise.
15891 (grub_serial_getxy): Likewise.
15892 (grub_serial_gotoxy): Likewise.
15893 (grub_serial_putchar): Likewise.
15894 (grub_serial_cls): Likewise.
15895 (grub_serial_setcolorstate): Likewise.
15896 (grub_serial_setcursor): Likewise.
15897 (serial_hw_init): Use serial_hw_fetch.
15898 (grub_serial_terminfo_input): New variable.
15899 (grub_serial_terminfo_output): Likewise.
15900 (grub_serial_term_input): Use terminfo.
15901 (grub_serial_term_output): Likewise.
15902 * term/terminfo.c (putstr): Use put.
15903 (grub_terminfo_all_free): New function
15904 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15905 (grub_terminfo_output_register): New function.
15906 (grub_terminfo_output_unregister): Likewise.
15907 (grub_terminfo_getxy): Likewise.
15908 (grub_terminfo_readkey): Likewise.
15909 (grub_terminfo_checkkey): Likewise.
15910 (grub_terminfo_getkey): Likewise.
15911 (grub_terminfo_input_init): Likewise.
15912 (print_terminfo): Likewise.
15913 (grub_cmd_terminfo): Handle encoding.
15914 (grub_terminfo_gotoxy): Track position.
15915 (grub_terminfo_cls): Likewise.
15916 (grub_terminfo_putchar): Likewise.
15917 (grub_terminfo_setcolorstate): Handle colors
15918 (grub_terminfo_cursor_on): This ...
15919 (grub_terminfo_cursor_off): ... and this merged into ...
15920 (grub_terminfo_setcursor): ... this.
15921 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15922 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15923 * unicode/BidiMirroring.txt: Likewise.
15924 * unicode/UnicodeData.txt: Likewise.
15925 * unicode/COPYING: Likewise.
15926 * util/grub-editenv.c (grub_putchar): Removed.
15927 (grub_xputs_real): New function.
15928 (grub_xputs): New variable.
15929 * util/grub-fstest.c (grub_putchar): Removed.
15930 (grub_xputs_real): New function.
15931 (grub_xputs): New variable.
15932 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15933 (grub_xputs_real): New function.
15934 (grub_xputs): New variable.
15935 * util/grub-probe.c (grub_putchar): Removed.
15936 (grub_xputs_real): New function.
15937 (grub_xputs): New variable.
15938 * util/grub-script-check.c (grub_putchar): Removed.
15939 (grub_xputs_real): New function.
15940 (grub_xputs): New variable.
15941 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15942 (grub_xputs_real): New function.
15943 (grub_xputs): New variable.
15944 * util/import_unicode.py: New file.
15945 * util/grub-mkfont.c (ft_errmsgs): New array.
15946 (grub_glyph_info): Make bitmap a pointer.
15947 (file_formats): New type WIDTH_SPEC.
15948 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15949 (options): Add width-spec.
15950 (help): Likewise.
15951 (add_char): Renamed to ...
15952 (add_glyph): ... this.
15953 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15954 (glyph_replace): New type.
15955 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15956 (add_char): New function.
15957 (add_subst): Likewise.
15958 (process_cursive): Likewise.
15959 (add_font): Handle GSUB.
15960 (write_font_width_spec): New function.
15961 (main): Sort glyphs.
15962 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15963 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15964 * kern/term.c (grub_cls): Moved from here...
15965 * normal/term.c (grub_cls): ... here.
15966
50f0bcda
CW
159672010-07-02 Colin Watson <cjwatson@ubuntu.com>
15968
15969 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15970 suitable for using within the format argument of printf when
15971 converting grub_size_t.
15972 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15973 "x" to convert grub_size_t arguments.
15974
40372103
VS
159752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15978 too long captions.
15979 (list_get_minimal_size): Take selection box into account.
15980
942a10c7
VS
159812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15982
15983 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15984 NULL font.
15985
2bdb2892
CW
159862010-07-02 Colin Watson <cjwatson@ubuntu.com>
15987
15988 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15989 devices when iterating over /dev/disk/by-id; they will be handled
15990 later if appropriate, which they aren't always (e.g. LVM).
15991
e03ed6c1
CW
159922010-07-02 Colin Watson <cjwatson@ubuntu.com>
15993
15994 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15995 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15996 fails.
15997 (grub_halt): Likewise.
15998 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15999 reset-all fails.
16000 (grub_halt): Don't return, even if all of shut-down, power-off, and
16001 poweroff fail.
16002
47695765
CW
160032010-07-02 Colin Watson <cjwatson@ubuntu.com>
16004
16005 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16006 arguments, not three.
16007
507736c8
CW
160082010-07-02 Colin Watson <cjwatson@ubuntu.com>
16009
16010 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16011 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16012 LVM-on-RAID is handled correctly.
16013
e3c8cd37
CW
160142010-07-02 Colin Watson <cjwatson@ubuntu.com>
16015
16016 * docs/grub.texi (Changes from GRUB Legacy): New section.
16017 (Future): Fix typo.
16018
8d4a2fec
CW
160192010-07-02 Colin Watson <cjwatson@ubuntu.com>
16020
16021 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16022 grub.d/README accidentally ends up executable for one reason or
16023 another. Ignore it.
16024
1c4827be
VS
160252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16028 (gpt_partition_map_iterate): Support non-512B sectors.
16029
d9a0c941
VS
160302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16033 Tested by: Seth Goldberg.
16034
48f27e87
VS
160352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16038 Properly align mbi.
16039 Reported by: Seth Goldberg.
16040
b0c4f956
VS
160412010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * util/grub-mkrescue.in: Avoid module duplication.
16044
105a2e8c
SF
160452010-07-01 Sean Finney <seanius@seanius.net>
16046
16047 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16048
5944958c
SF
160492010-07-01 Sean Finney <seanius@seanius.net>
16050
16051 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16052
160532010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * disk/lvm.c (grub_lvm_checkvalue): New function.
16056 (grub_lvm_check_flag): Likewise.
16057
b79889ba
RM
160582010-07-01 Robert Millan <rmh@gnu.org>
16059
16060 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16061 Support 'p' as partition separator on kernel of FreeBSD (used
16062 with GPT labels).
16063 (grub_util_biosdisk_get_grub_dev): Likewise.
16064
ec1d04f1
VS
160652010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 Yeeloong firmware port.
16068
16069 * boot/mips/yeeloong/fwstart.S: New file.
16070 * bus/cs5536.c (gpiodump): New const.
16071 (set_io_space): New function.
16072 (set_iod): Likewise.
16073 (set_p2d): Likewise.
16074 (grub_cs5536_init_geode): Likewise.
16075 * commands/mips/yeeloong/lsspd.c: New file.
16076 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16077 (serial_mod_SOURCES): New variable.
16078 (serial_mod_CFLAGS): Likewise.
16079 (serial_mod_LDFLAGS): Likewise.
16080 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16081 term/terminfo.c and term/tparm.c.
16082 (pkglib_IMAGES): Add fwstart.img.
16083 (fwstart_img_SOURCES): New variable.
16084 (fwstart_img_CFLAGS): Likewise.
16085 (fwstart_img_ASFLAGS): Likewise.
16086 (fwstart_img_LDFLAGS): Likewise.
16087 (fwstart_img_FORMAT): Likewise.
16088 (pkglib_MODULES): Add lsspd.mod.
16089 (lsspd_mod_SOURCES): New variable.
16090 (lsspd_mod_CFLAGS): Likewise.
16091 (lsspd_mod_LDFLAGS): Likewise.
16092 (pkglib_MODULES): Add halt.mod.
16093 (halt_mod_SOURCES): New variable.
16094 (halt_mod_CFLAGS): Likewise.
16095 (halt_mod_LDFLAGS): Likewise.
16096 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16097 (serial_mod_SOURCES): Removed.
16098 (serial_mod_CFLAGS): Likewise.
16099 (serial_mod_LDFLAGS): Likewise.
16100 * disk/ata.c (check_device): New function.
16101 (grub_ata_device_initialize): Use check_device.
16102 (grub_ata_iterate): Recheck devices.
16103 (grub_ata_open): Likewise.
16104 (grub_atapi_iterate): Likewise.
16105 (grub_atapi_open): Likewise.
16106 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16107 (GRUB_ATA_CH1_PORT1): Likewise.
16108 (GRUB_ATA_CH0_PORT2): Likewise.
16109 (GRUB_ATA_CH1_PORT2): Likewise.
16110 * include/grub/mips/loongson.h: New file.
16111 * include/grub/mips/yeeloong/ec.h: Likewise.
16112 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16113 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16114 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16115 * include/grub/misc.h (grub_halt): Declare as noreturn.
16116 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16117 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16118 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16119 (UART_ENABLE_DTRRTS): Likewise.
16120 (UART_ENABLE_MODEM): Removed.
16121 (UART_ENABLE_OUT2): New const.
16122 * include/grub/term.h (grub_term_register_input_active): New function.
16123 (grub_term_register_output_active): Likewise.
16124 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16125 argument.
16126 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16127 (init_pci): New function.
16128 (grub_machine_init): Execute platform init when firmware. Init serial.
16129 (grub_halt): Implement.
16130 (grub_exit): Likewise.
16131 (grub_reboot): Likewise.
16132 * term/serial.c (serial_hw_init): Update macros.
16133 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16134 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16135 (image_targets): New target mipsel-yeeloong-flash.
16136 (generate_image): Support IMAGE_YEELOONG_FLASH.
16137 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16138 (grub_video_sm712_setup): Init card.
16139 (grub_video_sm712_set_palette): Removed.
16140 * video/sm712_init.c: New file.
16141
ff4a70d2
CW
161422010-06-30 Colin Watson <cjwatson@ubuntu.com>
16143
16144 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16145 PATH when running help2man and then run it on the unadorned
16146 executable names, rather than passing $(builddir)/* paths to
16147 help2man. This avoids the build directory ending up in generated
16148 manual pages.
16149
1246efeb
CW
161502010-06-29 Colin Watson <cjwatson@ubuntu.com>
16151
16152 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16153 to avoid accidents when debugging with 'sh -x'.
16154 * util/grub-mkrescue.in: Likewise.
16155 * util/grub.d/00_header.in: Likewise.
16156 * util/grub.d/10_hurd.in: Likewise.
16157 * util/grub.d/10_kfreebsd.in: Likewise.
16158 * util/grub.d/10_linux.in: Likewise.
16159 * util/grub.d/10_netbsd.in: Likewise.
16160 * util/grub.d/10_windows.in: Likewise.
16161 * util/grub.d/20_linux_xen.in: Likewise.
16162 * util/grub.d/30_os-prober.in: Likewise.
16163 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16164
1ba9b889
CW
161652010-06-29 Colin Watson <cjwatson@ubuntu.com>
16166
16167 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16168 last character in the buffer.
16169 Reported by: Vladimir Serbinenko.
16170
dccaf99d
RM
161712010-06-29 Robert Millan <rmh@gnu.org>
16172
16173 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16174 (Command-line and menu entry commands): Document `badram' command.
16175
d500ed12
RM
161762010-06-28 Robert Millan <rmh@gnu.org>
16177
16178 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16179 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16180 command using ${GRUB_BADRAM} as parameter.
16181
20bc84a6
CW
161822010-06-28 Colin Watson <cjwatson@ubuntu.com>
16183
16184 * docs/grub.texi (Device map): New section.
16185 (Themes): New section (stub).
16186 * Makefile.in (docs/grub.info): The info documentation now builds
16187 without errors. Make sure it stays that way.
16188
4045dee1
VS
161892010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 Use normal parser for menu entries.
16192 Reported by: Thomas Frauendorfer
16193
16194 * include/grub/parser.h (grub_parser_execute): Don't export.
16195 * normal/menu.c (grub_menu_execute_entry_real): New function.
16196 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16197
bca58c7b
CW
161982010-06-28 Colin Watson <cjwatson@ubuntu.com>
16199
16200 * docs/grub.texi (Embedded configuration): New section (replacing
16201 old "Preset Menu" stub).
16202 (Images): New section.
16203 (configfile): Note that any menu entries defined in `file' are shown
16204 immediately.
16205
dec53e63
JT
162062010-06-28 Josh Triplett <josh@joshtriplett.org>
16207
16208 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16209
c06e40f7
CW
162102010-06-28 Colin Watson <cjwatson@ubuntu.com>
16211
16212 * util/grub-install.in: Add --debug-image= option.
16213
cb88052b
CW
162142010-06-28 Colin Watson <cjwatson@ubuntu.com>
16215
16216 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16217 possible on Linux.
16218
16219 * util/deviceiter.c (check_device): Rename to ...
16220 (check_device_readable_unique): ... this. Update all callers.
16221 Maintain and check a list of which devices (by canonicalized name)
16222 have already been seen.
16223 (clear_seen_devices): New function.
16224 (compare_file_names) [__linux__]: New function.
16225 (grub_util_iterate_devices): Clear the list of seen devices on exit
16226 and (just in case) on entry.
16227 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16228 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16229 seen-devices list, superseded by general code in check_device.
16230
bbe34652
CW
162312010-06-28 Colin Watson <cjwatson@ubuntu.com>
16232
16233 * commands/cat.c (options): New variable.
16234 (grub_cmd_cat): Parse options. If the --dos option is given, print
16235 DOS-style "\r\n" line endings as simple newlines (Debian bug
16236 #586358).
16237 (GRUB_MOD_INIT): Use extcmd.
16238 (GRUB_MOD_FINI): Likewise.
16239 * docs/grub.texi (cat): Document --dos.
16240
412e09f3
VS
162412010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16242
16243 XEN with Linux grub-mkconfig support.
16244
16245 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16246 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16247 GRUB_CMDLINE_XEN_DEFAULT.
16248 * util/grub.d/20_linux_xen.in: New file.
16249
53f3ef38 162502010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16251
16252 Initialise VGA video on qemu ourselves.
16253
16254 * boot/i386/qemu/boot.S: Don't call 0xc000.
16255 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16256 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16257 (kernel_img_HEADERS): Add pci.h.
16258 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16259 * configure.ac: Force unifont on qemu and yeeloong.
16260 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16261 (grub_vga_palette_write): Use correct register.
16262 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16263 Call grub_qemu_init_cirrus.
16264 * kern/i386/qemu/init.c: New file.
16265 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16266
16267 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16268
c75be4fb
PR
162692010-06-26 Pavel Roskin <proski@gnu.org>
16270
16271 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16272 13.
16273
d8034603
CW
162742010-06-26 Colin Watson <cjwatson@ubuntu.com>
16275
16276 * docs/grub.texi (Simple configuration): Explain that
16277 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16278 set to `true' to disable their respective recovery entries, not
16279 merely set.
16280
3fa06487
CW
162812010-06-26 Colin Watson <cjwatson@ubuntu.com>
16282
16283 Make the `source' command slightly faster.
16284
16285 * normal/main.c (grub_normal_execute): Don't re-read list files when
16286 nested.
16287
e9b29642
CW
162882010-06-23 Colin Watson <cjwatson@ubuntu.com>
16289
16290 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16291 field position and mask size to red fields from mode_info, not
16292 green.
16293 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16294 Remove redundant tag->common.framebuffer_type assignment.
16295 Reported by: Seth Goldberg.
16296
e726542f
CW
162972010-06-23 Colin Watson <cjwatson@ubuntu.com>
16298
16299 Sync up other versions of the Linux loader with Robert Millan's
16300 change of 2010-01-09, "Make loader output a bit more user-friendly".
16301
16302 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16303 grub_dprintf().
16304 (grub_cmd_linux): Likewise.
16305 (grub_cmd_initrd): Likewise.
16306 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16307 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16308
d6e98a17
CW
163092010-06-21 Colin Watson <cjwatson@ubuntu.com>
16310
16311 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16312 larger than MEMORY_MAP_SIZE.
16313
14d3f08e
BC
163142010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16315
16316 Fix parallel build.
16317
16318 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16319 dependency.
16320 * script/parser.y: #include grub_script.tab.h header.
16321
4f9613a3
VS
163222010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16323
16324 Support >3GiB and <16MiB RAM in i386-qemu.
16325
16326 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16327 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16328 (grub_lower_mem): Removed.
16329 (grub_upper_mem): Likewise.
16330 (mem_size): Made static.
16331 (above_4g): New variable.
16332 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16333 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16334 support.
16335
05e51879
VS
163362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 Cirrus 5446 and Bochs video cards support.
16339
16340 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16341 video_bochs.mod
16342 (video_cirrus_mod_SOURCES): New variable.
16343 (video_cirrus_mod_CFLAGS): Likewise.
16344 (video_cirrus_mod_LDFLAGS): Likewise.
16345 (video_bochs_mod_SOURCES): Likewise.
16346 (video_bochs_mod_CFLAGS): Likewise.
16347 (video_bochs_mod_LDFLAGS): Likewise.
16348 * include/grub/vga.h: New file.
16349 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16350 (grub_video_fb_set_page_t): New type.
16351 (grub_video_fb_setup): New prototype.
16352 (grub_video_fb_swap_buffers): Likewise.
16353 (grub_video_fb_get_info_and_fini): Likewise.
16354 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16355 (CRTC_DATA_PORT): Likewise.
16356 (CRTC_CURSOR): Likewise.
16357 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16358 (CRTC_CURSOR_ADDR_LOW): Likewise.
16359 (CRTC_CURSOR_DISABLE): Likewise.
16360 (update_cursor): Use grub_vga_cr_write.
16361 (grub_vga_text_setcursor): Likewise.
16362 * video/bochs.c: New file.
16363 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16364 (palette): Likewise.
16365 (palette_size): Likewise.
16366 (framebuffer): New variable.
16367 (grub_video_fb_init): Use 'framebuffer'.
16368 (grub_video_fb_fini): Likewise.
16369 (grub_video_fb_get_info): Likewise.
16370 (grub_video_fb_get_palette): Likewise.
16371 (grub_video_fb_set_palette): Likewise.
16372 (grub_video_fb_set_viewport): Likewise.
16373 (grub_video_fb_get_viewport): Likewise.
16374 (grub_video_fb_map_color): Likewise.
16375 (grub_video_fb_map_rgb): Likewise.
16376 (grub_video_fb_map_rgba): Likewise.
16377 (grub_video_fb_unmap_color): Likewise.
16378 (grub_video_fb_unmap_color_int): Likewise.
16379 (grub_video_fb_fill_rect): Likewise.
16380 (grub_video_fb_blit_bitmap): Likewise.
16381 (grub_video_fb_blit_render_target): Likewise.
16382 (grub_video_fb_scroll): Likewise.
16383 (grub_video_fb_create_render_target): Likewise.
16384 (grub_video_fb_doublebuf_blit_init): Likewise.
16385 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16386 (doublebuf_pageflipping_update_screen): New function.
16387 (doublebuf_pageflipping_init): Likewise.
16388 (grub_video_fb_setup): Likewise.
16389 (grub_video_fb_swap_buffers): Likewise.
16390 (grub_video_fb_get_info_and_fini): Likewise.
16391 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16392 All users updated.
16393 (doublebuf_pageflipping_commit): Restructured into ...
16394 (doublebuf_pageflipping_set_page): ... this.
16395 (doublebuf_pageflipping_update_screen): Removed.
16396 (doublebuf_pageflipping_init): Likewise.
16397 (double_buffering_init): Likewise.
16398 (grub_video_vbe_setup): Use grub_video_fb_setup.
16399 (grub_video_vbe_swap_buffers): Removed.
16400 (grub_video_vbe_set_active_render_target): Likewise.
16401 (grub_video_vbe_get_active_render_target): Likewise.
16402 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16403 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16404 grub_video_fb_set_active_render_target and
16405 grub_video_fb_get_active_render_target.
16406 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16407 (SEQUENCER_DATA_PORT): Likewise.
16408 (MAP_MASK_REGISTER): Likewise.
16409 (CRTC_ADDR_PORT): Likewise.
16410 (CRTC_DATA_PORT): Likewise.
16411 (START_ADDR_HIGH_REGISTER): Likewise.
16412 (START_ADDR_LOW_REGISTER): Likewise.
16413 (GRAPHICS_ADDR_PORT): Likewise.
16414 (GRAPHICS_DATA_PORT): Likewise.
16415 (READ_MAP_REGISTER): Likewise.
16416 (INPUT_STATUS1_REGISTER): Likewise.
16417 (INPUT_STATUS1_VERTR_BIT): Likewise.
16418 (get_map_mask): Use grub_vga_sr_read.
16419 (set_map_mask): Use grub_vga_sr_write.
16420 (set_read_map): Use grub_vga_gr_write.
16421 (set_start_address): Use grub_vga_cr_write.
16422 * video/sm712.c (framebuffer): Remove leftover fields.
16423
4321c64a
CW
164242010-06-20 Colin Watson <cjwatson@ubuntu.com>
16425
16426 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16427 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16428 instead. Replace the gfxterm backend check with a check that
16429 ${GRUB_PREFIX}/video.lst is non-empty.
16430 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16431 again.
16432 (load_video): New generated function. Call it before loading
16433 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16434 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16435 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16436 * docs/grub.texi (Simple configuration): Document
16437 GRUB_VIDEO_BACKEND.
16438
164392010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 Use video functions in linux and xnu loaders.
16442
16443 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16444 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16445 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16446 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16447 loader/i386/pc/linux.c.
16448 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16449 (find_line_len): Removed.
16450 (find_framebuf): Likewise.
16451 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16452 * loader/i386/efi/xnu.c: Removed.
16453 * loader/i386/pc/xnu.c: Moved from here...
16454 * loader/i386/xnu.c: ...here.
16455
16456 Enable priorities in video drivers.
16457
16458 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16459 (grub_video_adapter): New field prio.
16460 (grub_video_register): Respect prio when inserting.
16461 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16462 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16463 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16464 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16465 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16466 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16467 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16468
16469 Fix SDL driver ID.
16470
16471 * include/grub/video.h (grub_video_driver_id_t): New value
16472 GRUB_VIDEO_DRIVER_SDL.
16473 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16474
7d24e434
CW
164752010-06-17 Colin Watson <cjwatson@ubuntu.com>
16476
16477 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16478 argument to printf.
16479 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16480
c88a83f6
CW
164812010-06-17 Colin Watson <cjwatson@ubuntu.com>
16482
16483 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16484 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16485
094dfb69
CW
164862010-06-17 Colin Watson <cjwatson@ubuntu.com>
16487
16488 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16489 directly, and recommend grub-install instead.
16490 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16491
2164da6b
CW
164922010-06-17 Colin Watson <cjwatson@ubuntu.com>
16493
16494 Fix i386-pc prefix handling with nested partitions (Debian bug
16495 #585068). Note that the case where the core image is booted using
16496 multiboot and relocated from its original location still requires
16497 more work.
16498
16499 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16500 with "(,", fill the boot drive in between those two characters, but
16501 expect that a full partition specification including partition map
16502 names will follow.
16503 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16504 specified, write a prefix without the drive name but including a
16505 full partition specification.
16506
044e2e60
CW
165072010-06-16 Colin Watson <cjwatson@ubuntu.com>
16508
16509 * util/grub-mkconfig.in: Ignore non-option arguments, for
16510 compatibility with older versions (before 2010-06-12) which did the
16511 same. In particular, this makes it easier to ship an update-grub
16512 wrapper which is compatible with that used with GRUB Legacy (Debian
16513 bug #586056).
16514
5591324f
GS
165152010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16516
16517 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16518 for manual page generation.
16519
662e24d5
GS
165202010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16521
16522 * po/POTFILES: Remove leftover commands/handler.c.
16523
8d70754e
CW
165242010-06-14 Colin Watson <cjwatson@ubuntu.com>
16525
16526 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16527 left this script non-functional.
16528
41160e2e
CW
165292010-06-14 Colin Watson <cjwatson@ubuntu.com>
16530
16531 * docs/man/grub-emu.h2m: New file.
16532
b5309cc1
CW
165332010-06-13 Colin Watson <cjwatson@ubuntu.com>
16534
16535 * docs/grub.texi (Commands): Document reduced command set in rescue
16536 mode.
16537 (cpuid): New section.
16538
fcb2d090
GS
165392010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16540
16541 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16542 new partition naming style.
16543 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16544
96e5c556
BC
165452010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16546
16547 Add "-o grub.iso" like cmdline options support.
16548
16549 * util/grub-install.in: Improve cmdline option parsing.
16550 * util/grub-mkconfig.in: Likewise.
16551 * util/grub-mkrescue.in: Likewise.
16552 * util/grub-reboot.in: Likewise.
16553 * util/grub-set-default.in: Likewise.
16554 * util/i386/efi/grub-install.in: Likewise.
16555 * util/ieee1275/grub-install.in: Likewise.
16556 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16557
c16be99b
CW
165582010-06-12 Colin Watson <cjwatson@ubuntu.com>
16559
16560 * .bzrignore: Ignore 41_custom.
16561
ce08a9fb
TS
165622010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16563
16564 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16565
7beac90c
CW
165662010-06-12 Colin Watson <cjwatson@ubuntu.com>
16567
16568 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16569 prototype declarations.
16570
16571 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16572 generating fs, partmap, and video lists.
16573 * include/grub/fs.h (grub_fs_register): Omit prototype if
16574 GRUB_LST_GENERATOR is defined.
16575 * include/grub/partition.h (grub_partition_map_register): Likewise.
16576 * include/grub/video.h (grub_video_register): Likewise.
16577
1c8f0f8d
JM
165782010-06-12 Javier Martín <lordhabbit@gmail.com>
16579
16580 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16581
a6085973
TS
165822010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16583
16584 * util/grub-mkrescue.in: Support --xorriso argument.
16585
25c56d29
VS
165862010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16589 Suggested by: Thomas Schmitt.
16590
e03e4b24
VS
165912010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16594 Suggested by: Thomas Schmitt.
16595
57711df6
VS
165962010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 custom.cfg support.
16599
16600 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16601 * util/grub.d/41_custom.in: New file.
16602
ee62c427
CW
166032010-06-12 Colin Watson <cjwatson@ubuntu.com>
16604
16605 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16606 been merged back into normal.
16607
283af07a
CW
166082010-06-11 Colin Watson <cjwatson@ubuntu.com>
16609
16610 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16611 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16612
56a0d956
CW
166132010-06-11 Colin Watson <cjwatson@ubuntu.com>
16614
16615 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16616 when generating manual pages.
16617 * docs/man/grub-bin2h.h2m: New file.
16618 * docs/man/grub-editenv.h2m: New file.
16619 * docs/man/grub-fstest.h2m: New file.
16620 * docs/man/grub-install.h2m: New file.
16621 * docs/man/grub-macho2img.h2m: New file.
16622 * docs/man/grub-mkconfig.h2m: New file.
16623 * docs/man/grub-mkdevicemap.h2m: New file.
16624 * docs/man/grub-mkfont.h2m: New file.
16625 * docs/man/grub-mkimage.h2m: New file.
16626 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16627 * docs/man/grub-mkrelpath.h2m: New file.
16628 * docs/man/grub-mkrescue.h2m: New file.
16629 * docs/man/grub-ofpathname.h2m: New file.
16630 * docs/man/grub-pe2elf.h2m: New file.
16631 * docs/man/grub-probe.h2m: New file.
16632 * docs/man/grub-reboot.h2m: New file.
16633 * docs/man/grub-script-check.h2m: New file.
16634 * docs/man/grub-set-default.h2m: New file.
16635 * docs/man/grub-setup.h2m: New file.
16636
3a37e322
VS
166372010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 Use FOR_* macros instead of *_iterate whenever possible.
16640
16641 * commands/handler.c: Removed.
16642 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16643 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16644 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16645 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16646 (grub_probe_SOURCES): Remove kern/parser.c.
16647 (util/grub-script-check.c_DEPENDENCIES): Removed.
16648 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16649 and grub_script_check_init.c.
16650 (grub_script_check_init.lst): Removed.
16651 (grub_script_check_init.h): Likewise.
16652 (grub_script_check_init.c): Likewise.
16653 (pkglib_MODULES): Remove handler.mod and sh.mod.
16654 (handler_mod_SOURCES): Removed.
16655 (handler_mod_CFLAGS): Likewise.
16656 (handler_mod_LDFLAGS): Likewise.
16657 (normal_mod_SOURCES): Remove normal/handler.c.
16658 Add script/main.c, script/script.c, script/execute.c,
16659 script/function.c, script/lexer.c, grub_script.tab.c
16660 and grub_script.yy.c.
16661 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16662 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16663 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16664 (grub_setup_SOURCES): Remove kern/parser.c.
16665 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16666 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16667 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16668 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16669 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16670 (grub_setup_SOURCES): Remove kern/parser.c.
16671 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16672 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16673 * include/grub/command.h (grub_command_iterate): Removed.
16674 (FOR_COMMANDS): New macro.
16675 * include/grub/dl.h (grub_dl): New member next.
16676 (grub_dl_iterate): Removed.
16677 (grub_dl_head): New variable declaration.
16678 (FOR_DL_MODULES): New macro.
16679 * include/grub/fs.h: Include list.h.
16680 (grub_fs): Make next first element.
16681 (grub_fs_list): New variable declaration.
16682 (grub_fs_register): Make inline.
16683 (grub_fs_unregister): Likewise.
16684 (grub_fs_iterate): Removed.
16685 (FOR_FILESYSTEMS): New macro.
16686 * include/grub/handler.h: Removed.
16687 * include/grub/list.h (grub_list_hook_t): Removed.
16688 (grub_list_test_t): Likewise.
16689 (grub_list_pop): Likewise.
16690 (grub_list_iterate): Likewise.
16691 (grub_list_insert): Likewise.
16692 (FOR_LIST_ELEMENTS): New macro.
16693 * include/grub/parser.h (grub_parser_class): Removed.
16694 (grub_parser_register): Likewise.
16695 (grub_parser_unregister): Likewise.
16696 (grub_parser_get_current): Likewise.
16697 (grub_parser_set_current): Likewise.
16698 (grub_register_rescue_parser): Likewise.
16699 (grub_rescue_parse_line): New function.
16700 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16701 * include/grub/script_sh.h (grub_script_function_list): New variable
16702 declaration.
16703 (FOR_SCRIPT_FUNCTIONS): New macro.
16704 (grub_script_function_iterate): Removed.
16705 (grub_normal_parse_line): New prototype.
16706 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16707 (FOR_DISABLED_TERM_INPUTS): Likewise.
16708 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16709 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16710 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16711 element.
16712 (grub_video_register): Inline.
16713 (grub_video_unregister): Likewise.
16714 (grub_video_adapter_list): New variable declaration.
16715 (grub_video_iterate): Removed.
16716 (FOR_VIDEO_ADAPTERS): New macro.
16717 * kern/dl.c (grub_dl_list): Removed. All users updated.
16718 (grub_dl_iterate): Removed.
16719 * kern/fs.c (grub_fs_list): Make global.
16720 (grub_fs_register): Removed.
16721 (grub_fs_unregister): Likewise.
16722 (grub_fs_iterate): Likewise.
16723 * kern/handler.c: Removed.
16724 * kern/list.c (grub_list_pop): Removed.
16725 (grub_list_iterate): Likewise.
16726 (grub_list_insert): Likewise.
16727 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16728 (grub_prio_list_insert): Don't use grub_list_insert.
16729 * kern/main.c (grub_register_rescue_parser): Don't call
16730 grub_register_rescue_parser.
16731 * kern/parser.c (grub_parser_class): Removed.
16732 (grub_parser_execute): Use grub_rescue_parse_line.
16733 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16734 (grub_rescue_parser): Removed.
16735 (grub_register_rescue_parser): Likewise.
16736 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16737 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16738 (grub_auth_check_authentication): Likewise.
16739 * normal/completion.c (iterate_command): Removed.
16740 (grub_normal_do_completion): Use FOR_COMMANDS.
16741 * normal/handler.c: Removed.
16742 * normal/main.c (read_config_file): Remove parser changing.
16743 (grub_normal_execute): Don't call read_handler_list.
16744 (grub_normal_read_line_real): Statically allocate prompt.
16745 (grub_cmdline_run): Use grub_normal_parse_line.
16746 (GRUB_MOD_FINI): Don't call free_handler_list.
16747 * normal/menu_entry.c (run): Likewise.
16748 * script/function.c (grub_script_function_list): Make global.
16749 (grub_script_function_iterate): Removed.
16750 * script/main.c (grub_normal_parse_line): Make global.
16751 (grub_sh_parser): Removed.
16752 (GRUB_MOD_INIT): Likewise.
16753 (GRUB_MOD_FINI): Likewise.
16754 * tests/lib/functional_test.c (grub_functional_test): Use
16755 FOR_LIST_ELEMENTS.
16756 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16757 (grub_test_run): Use FOR_LIST_ELEMENTS.
16758 * tests/lib/unit_test.c (main): Likewise.
16759 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16760 grub_list_pop.
16761 * util/grub-fstest.c (grub_term_input_class): Removed.
16762 (grub_term_output_class): Likewise.
16763 * util/grub-probe.c: Likewise.
16764 * util/i386/pc/grub-setup.c: Likewise.
16765 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16766 * util/grub-script-check.c (main): Don't call grub_init_all and
16767 grub_fini_all.
16768 * video/video.c (grub_video_adapter_list): Make global.
16769 (grub_video_register): Removed.
16770 (grub_video_unregister): Likewise.
16771 (grub_video_iterate): Likewise.
16772
6289c3a7
VS
167732010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16774
16775 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16776 reported by Henrique Ferreiro.
16777
91460247
RM
167782010-06-09 Robert Millan <rmh@gnu.org>
16779
16780 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16781 ones, when both are available.
16782
0ea7c4f9
GS
167832010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16784
16785 Make --version uniform and avoid hard-coded program name.
16786
16787 * util/grub-mkimage.c (main): Use `program_name' instead of
16788 hard-coded string.
16789 * util/i386/pc/grub-setup.c (main): Likewise.
16790 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16791 * util/grub-install.in: Save the basename of $0 in $self, and use the
16792 latter in informational messages. Use the same format for --version
16793 as the binary programs.
16794 * util/grub-mkconfig.in: Likewise.
16795 * util/grub-mkrescue.in: Likewise.
16796 * util/grub-reboot.in: Likewise.
16797 * util/grub-set-default.in: Likewise.
16798 * util/i386/efi/grub-install.in: Likewise.
16799 * util/ieee1275/grub-install.in: Likewise.
16800 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16801
e8a6f3b6
GS
168022010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16803
16804 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16805 embedding area. Use <= instead of == when checking for non-emptiness.
16806
f4d095d7
GS
168072010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16808
16809 * configure.ac: Add `.' to the directories searched for unifont.
16810
50e532ca
CW
168112010-06-08 Colin Watson <cjwatson@ubuntu.com>
16812
16813 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16814 grub_script.yy.h.
16815
d39f3dec
CW
168162010-06-08 Colin Watson <cjwatson@ubuntu.com>
16817
16818 * docs/grub.texi (History): Expand to cover GRUB 2.
16819 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16820 commands, not `terminal'.
16821 (serial): Likewise.
16822 (terminal_input): New section.
16823 (terminal_output): New section.
16824 (uppermem): New section (stub).
16825 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16826
6ef0ddb4
CW
168272010-06-08 Colin Watson <cjwatson@ubuntu.com>
16828
16829 * docs/grub.texi (Security): Menu entries are unrestricted by
16830 default, not restricted to superusers as I had previously thought.
16831 Reword to account for this.
16832
e0f4c438
CW
168332010-06-07 Colin Watson <cjwatson@ubuntu.com>
16834
16835 * kern/emu/misc.c (device_mapper_null_log): New function.
16836 (grub_device_mapper_supported): New function.
16837 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16838 prototype.
16839 * kern/emu/hostdisk.c (find_partition_start): Check whether
16840 device-mapper is supported before trying to use it.
16841 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16842
da908200
CW
168432010-06-07 Colin Watson <cjwatson@ubuntu.com>
16844
16845 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16846 (File name syntax): Likewise.
16847 (help): --all is no longer supported in GRUB 2. Be more precise
16848 about pattern matching.
16849
fb55c3ac
CW
168502010-06-07 Colin Watson <cjwatson@ubuntu.com>
16851
16852 * normal/completion.c (grub_normal_do_completion): When completing
16853 arguments to "set" and the current word contains an equals sign,
16854 skip to after the equals sign before starting completion.
16855
258c2573
CW
168562010-06-07 Colin Watson <cjwatson@ubuntu.com>
16857
16858 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16859
ee75515e
CW
168602010-06-07 Colin Watson <cjwatson@ubuntu.com>
16861
16862 * docs/grub.texi (Network): New section.
16863 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16864 `(nd)' as in GRUB Legacy.
16865 (pxe_unload): New section.
16866
a6a700aa
CW
168672010-06-07 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16870 in the rescue shell, so recommend using `set' instead. Thanks,
16871 Jordan Uggla.
16872
4003dd38
CW
168732010-06-07 Colin Watson <cjwatson@ubuntu.com>
16874
16875 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16876 (password): New section.
16877 (password_pbkdf2): New section.
16878 (search): New section.
16879 (Security): New section.
16880 (Troubleshooting): New section, currently very incomplete.
16881 (Invoking grub-mkpasswd-pbkdf2): New section.
16882 (Internals): New section, currently very incomplete.
16883
e1cbcc40
CW
168842010-06-07 Colin Watson <cjwatson@ubuntu.com>
16885
16886 * util/grub.d/00_header.in: Add some more quoting (of
16887 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16888 work again.
16889 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16890
db8fa1ad
CW
168912010-06-07 Colin Watson <cjwatson@ubuntu.com>
16892
16893 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16894 to `count', fixing variable shadowing that broke the -c option.
16895
168962010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16897
16898 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16899 in case they contain spaces.
16900
f28a9212
CW
169012010-06-04 Colin Watson <cjwatson@ubuntu.com>
16902
16903 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16904 "part_" to partmap module names, in line with grub-install.
16905 Reported by: Jindřich Makovička (Debian bug #584426).
16906
9cdfe32f
CW
169072010-06-04 Colin Watson <cjwatson@ubuntu.com>
16908
16909 * util/grub-mkimage.c: Make target-related error messages slightly
16910 more helpful; -O talks about "format". Explicitly point to the use
16911 of -O if no target is specified.
16912 Reported by: Didier Raboud (Debian bug #584415).
16913
795b593a
CW
169142010-06-03 Colin Watson <cjwatson@ubuntu.com>
16915
16916 * INSTALL: Document several build requirements for optional features
16917 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16918
9d9b5833
GS
169192010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16920
16921 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16922 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16923 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16924
0819fec8
CW
169252010-06-02 Colin Watson <cjwatson@ubuntu.com>
16926
16927 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16928 Thanks to Jordan Uggla for spotting this.
16929
49396b4f
VS
169302010-06-02 Aleš Nesrsta <starous@volny.cz>
16931
16932 Finally make USB usable.
16933
16934 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16935 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16936 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16937 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16938 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16939 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16940 (GRUB_OHCI_FSMPS): Likewise.
16941 (GRUB_OHCI_PERIODIC_START): Likewise.
16942 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16943 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16944 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16945 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16946 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16947 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16948 (grub_ohci_transaction): Likewise.
16949 (grub_ohci_transfer): Improve condition detection algorithms.
16950 Handle toggle property. Program the transactions correctly.
16951 Improve error handling. Various important fixups.
16952 (grub_ohci_portstatus): Put register writes in right order.
16953 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16954 (grub_uhci_transfer): Don't show "failed" message on success.
16955 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16956 array.
16957 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16958 determine its size.
16959 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16960 before initialization is completed. Use IN direction for empty
16961 transfers. Use last_trans and compute toggle.
16962 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16963 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16964 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16965 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16966 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16967 (grub_usb_device): Increase toggle to 256.
16968 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16969 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16970 GRUB_USBMS_SUBCLASS_SFF8070.
16971 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16972 (grub_scsi_inquiry): New member page and alloc_length.
16973 (grub_scsi_request_sense): New structure.
16974 (grub_scsi_request_sense_data): Likewise.
16975 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16976 control.
16977 * disk/scsi.c (grub_scsi_request_sense): New function.
16978 (grub_scsi_test_unit_ready): Likewise.
16979 (grub_scsi_inquiry): Fill new fields.
16980 (grub_scsi_read_capacity): Likewise.
16981 (grub_scsi_read10): Add request sense at the end.
16982 (grub_scsi_read12): Likewise.
16983 (grub_scsi_write10): Likewise.
16984 (grub_scsi_write12): Likewise.
16985 (grub_scsi_open): Add Test Unit Ready.
16986 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16987 Support additional subclasses. Con't clear halt yet. Activate the
16988 proper config. Calculate LUNs correctly.
16989 (grub_usbms_transfer): Various important fixups.
16990
169912010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16994 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16995 (grub_ohci_fini_hw): New function.
16996 (grub_ohci_restore_hw): Likewise.
16997 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16998 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16999 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17000
170012010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 Dedicated DMA allocations.
17004
17005 * bus/pci.c (grub_memalign_dma32): New function
17006 (grub_dma_free): Likewise.
17007 (grub_dma_get_virt): Likewise.
17008 (grub_dma_get_phys): Likewise.
17009 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17010 (grub_ohci_pci_iter): Use dma32_alloc.
17011 (grub_ohci_transfer): Likewise.
17012 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17013 (grub_usb_bulk_readwrite): Likewise.
17014 * include/grub/pci.h: Add declarations.
17015
170162010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17017
17018 CS5536 support.
17019
17020 * bus/cs5536.c: New file.
17021 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17022 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17023 (cs5536_mod_SOURCES): New variable.
17024 (cs5536_mod_CFLAGS): Likewise.
17025 (cs5536_mod_LDFLAGS): Likewise.
17026 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17027 machine/pci.h.
17028 (kernel_img_SOURCES): Add bus/cs5536.c.
17029 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17030 usb_keyboard.mod.
17031 (usb_mod_SOURCES): New variable.
17032 (usb_mod_CFLAGS): New variable.
17033 (usb_mod_LDFLAGS): New variable.
17034 (usbtest_mod_SOURCES): New variable.
17035 (usbtest_mod_CFLAGS): New variable.
17036 (usbtest_mod_LDFLAGS): New variable.
17037 (ohci_mod_SOURCES): New variable.
17038 (ohci_mod_CFLAGS): New variable.
17039 (ohci_mod_LDFLAGS): New variable.
17040 (usbms_mod_SOURCES): New variable.
17041 (usbms_mod_CFLAGS): New variable.
17042 (usbms_mod_LDFLAGS): New variable.
17043 (usb_keyboard_mod_SOURCES): New variable.
17044 (usb_keyboard_mod_CFLAGS): New variable.
17045 (usb_keyboard_mod_LDFLAGS): New variable.
17046 * include/grub/smbus.h: New file.
17047 * include/grub/cs5536.h: New file.
17048
0b35b2a9
CW
170492010-06-02 Colin Watson <cjwatson@ubuntu.com>
17050
17051 * util/grub.d/00_header.in: Add safety check to make sure that
17052 ${locale_dir} exists before trying to probe it.
17053
ca0afd5b
CW
170542010-06-02 Colin Watson <cjwatson@ubuntu.com>
17055
17056 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17057 per the GNU Coding Standards; this is now too obscure to be worth
17058 documenting.
17059 (QNX): Likewise.
17060 (chainloader): Remove cross-reference to `SCO UnixWare'.
17061
1c41aa78
CW
170622010-06-02 Colin Watson <cjwatson@ubuntu.com>
17063
17064 * docs/grub.texi (Chain-loading): New section.
17065 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17066 adjusted for GRUB 2.
17067 (SCO UnixWare): Likewise.
17068 (QNX): Likewise.
17069 (chainloader): Add reference to `Block list syntax'.
17070 (drivemap): New section.
17071 (parttool): New section.
17072
bb8ea0f5
CW
170732010-06-02 Colin Watson <cjwatson@ubuntu.com>
17074
17075 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17076 the grub shell'.
17077 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17078 (Installing GRUB using grub-install): Remove reference to the grub
17079 shell; mention `grub-mkimage' and `grub-setup' instead.
17080 (Invoking grub-install): Likewise.
17081 (Interface): Add reference to `Menu entry editor'.
17082 (serial): Remove `--device' option.
17083
288dd6ed
CW
170842010-06-02 Colin Watson <cjwatson@ubuntu.com>
17085
17086 * docs/grub.texi (Configuration): New section, documenting
17087 configuration file generation using grub-mkconfig. I've left a slot
17088 for documenting the full shell scripting format but have not yet
17089 started on writing that up.
17090 (Invoking grub-mkconfig): New section.
17091
34c9f0e9
CW
170922010-06-02 Colin Watson <cjwatson@ubuntu.com>
17093
17094 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17095 (GNU GRUB manual): Likewise.
17096 (General commands): Update description of `terminfo' for GRUB 2.
17097
9121567e
CW
170982010-06-02 Colin Watson <cjwatson@ubuntu.com>
17099
17100 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17101 (GRUB_MOD_INIT): Fix capitalisation.
17102 * docs/grub.texi (Command-line and menu entry commands): Document
17103 gettext and gptsync commands.
17104
ab631611
CW
171052010-06-02 Colin Watson <cjwatson@ubuntu.com>
17106
17107 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17108 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17109
bde4a9ac
CW
171102010-06-01 Colin Watson <cjwatson@ubuntu.com>
17111
17112 Add btrfs probing support, currently only in the single-device case.
17113
17114 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17115 function.
17116 (grub_guess_root_device): Call find_root_device_from_mountinfo
17117 before looking in /dev.
17118
b1d17e10
VS
171192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17120
17121 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17122 GRUB_DISK_SIZE_UNKNOWN.
17123 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17124
dfbfe004
JS
171252010-05-31 Jiro SEKIBA <jir@unicus.jp>
17126
17127 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17128 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17129 corrupted or not synced properly.
17130
c2ffc8e9
VS
171312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17134 Reported by: Seth Goldberg.
17135
56293166
VS
171362010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17139 addition of dest.
17140 Reported by: Seth Goldberg.
17141
7620e7de
VS
171422010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17145 Reported by: Seth Goldberg.
17146
c837af3f
VS
171472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17150 64-bit address as signed on MIPS.
17151
c7c75cf4
CW
171522010-05-28 Colin Watson <cjwatson@ubuntu.com>
17153
17154 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17155 to the empty string.
17156
fa4b8490
BC
171572010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17158
17159 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17160
17161 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17162 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17163 * kern/misc.c (__enable_execute_stack): Disable on
17164 GRUB_MACHINE_EMU.
17165
a33075b9
CW
171662010-05-28 Colin Watson <cjwatson@ubuntu.com>
17167
17168 Make grub-probe work with symbolic links under /dev/mapper as well
17169 as with real block devices. The Linux world seems to be (at best)
17170 in transition here, and GRUB shouldn't get caught in the middle.
17171
17172 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17173 /dev/mapper.
17174
d8708134
CW
171752010-05-27 Colin Watson <cjwatson@ubuntu.com>
17176
17177 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17178 input files (in which case exit zero).
17179
db2102a0
CW
171802010-05-27 Colin Watson <cjwatson@ubuntu.com>
17181
17182 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17183 return NULL for various reasons even if it has a maximum-length
17184 buffer: for example, there might be a symlink loop, or the path
17185 might exceed PATH_MAX. If this happens, return NULL.
17186
5fdba519
RM
171872010-05-27 Robert Millan <rmh@gnu.org>
17188
17189 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17190 partmap module to handle cross-partmap setups.
17191 Reported by Orestes Mas. Gràcies!
17192
d1d368e4
CW
171932010-05-27 Colin Watson <cjwatson@ubuntu.com>
17194
17195 * util/grub-mkrescue.in: Initialise override_dir rather than
17196 assuming that it's unset or empty in the environment.
17197
95ac3c73
GS
171982010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17199
17200 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17201 variable index into p_index to suppress a warning with -Wshadow.
17202
7d8c0213
BC
172032010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17204
17205 * INSTALL: Added flex >= 2.5.35 requirement.
17206
db4d5813
VS
172072010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17210
f24f4300
VS
172112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 cmostest support.
17214
17215 * commands/i386/cmostest.c: New file.
17216 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17217 (cmostest_mod_SOURCES): New variable.
17218 (cmostest_mod_CFLAGS): Likewise.
17219 (cmostest_mod_LDFLAGS): Likewise.
17220 * conf/i386-pc.rmk: Likewise.
17221 * docs/grub.texi (Vendor power-on keys): New section.
17222 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17223 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17224 and GRUB_BUTTON_CMOS_ADDRESS.
17225 * util/grub.d/00_header.in: Handle powering-on by separate button.
17226
ad603f61
VS
172272010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17230 Removed drawing_scrollbar argument. All users updated
17231 Fixes #29792.
17232 Reported by Jo Shields
17233
3ecb080a
VS
172342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17237 buffer since gfxterm handles double repaint.
17238
5f2316c1
VS
172392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17242 * term/gfxterm.c (real_scroll): Likewise.
17243
9a25f885
VS
172442010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17247 before calling BIOS.
17248
39fbb79a
VS
172492010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 * include/grub/i18n.h: Always enable grub_gettext.
17252
228cfa97
VS
172532010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17254
17255 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17256 partition naming style.
17257
21717c8f
CW
172582010-05-21 Colin Watson <cjwatson@ubuntu.com>
17259
17260 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17261 not the first option.
17262
c0f48e65
CW
172632010-05-20 Colin Watson <cjwatson@ubuntu.com>
17264
17265 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17266
96779aec
CW
172672010-05-20 Colin Watson <cjwatson@ubuntu.com>
17268
17269 * util/misc.c: Move inclusion of <limits.h> to ...
17270 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17271
fa9d256e
GS
172722010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17273
17274 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17275 Fix merge error in NetBSD code.
17276 (find_partition_start) [__NetBSD__]: Likewise.
17277
123b7a85
BC
172782010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17279
17280 Fix grub-mkrescue usage unit testing.
17281
17282 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17283
74276c0d
CF
172842010-05-18 Christian Franke <franke@computer.org>
17285
17286 * util/grub.d/10_windows.in: Use path names instead of
17287 drive letters to prevent warning from Cygwin 1.7.
17288 Add drivemap command to menuentry if needed.
17289
c4f7b523
ST
172902010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17291
17292 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17293 gnumach and gnumach.gz.
17294
95b97950
VS
172952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17296
17297 * include/grub/i18n.h (gettext): Inline instead of using #define.
17298 (grub_gettext): Likewise.
17299 (_): Likewise.
17300
01b8d2d7
VS
173012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17302
17303 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17304 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17305 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17306 (main): Add a slash after pkglibdirroot.
17307
654e1d1e
VS
173082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17309
17310 * util/grub-install.in: Add missing "in" keyword.
17311
26966aeb
VS
173122010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17315 Reported by: Seth Goldberg.
17316
75006747
VS
173172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17320
74cbf5bd
CW
173212010-05-18 Colin Watson <cjwatson@ubuntu.com>
17322
17323 * configure.ac: Check for Linux device-mapper support.
17324
17325 * util/hostdisk.c (device_is_mapped): New function.
17326 (find_partition_start): New function, partly broken out from
17327 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17328 device-mapper support added.
17329 (linux_find_partition): Use find_partition_start.
17330 (convert_system_partition_to_system_disk): Add `st' argument.
17331 Support Linux /dev/mapper/* devices if device-mapper support is
17332 available; only DM-RAID devices are understood at present.
17333 (find_system_device): Add `st' argument. Pass it to
17334 convert_system_partition_to_system_disk.
17335 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17336 find_system_device and convert_system_partition_to_system_disk. Use
17337 find_partition_start.
17338
17339 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17340 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17341 * util/deviceiter.c [__linux__]: Define MINOR.
17342 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17343 * util/mkdevicemap.c (grub_putchar): New function.
17344 (grub_getkey): New function.
17345 (grub_refresh): New function.
17346 (main): Set debug=all if -v -v is used.
17347
355b51e9
CW
173482010-05-18 Colin Watson <cjwatson@ubuntu.com>
17349
17350 Fix build with non-GNU libcs.
17351
17352 * util/misc.c (canonicalize_file_name): Move to ...
17353 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17354 grub_make_system_path_relative_to_its_root.
17355
7fb5c25f
CW
173562010-05-18 Colin Watson <cjwatson@ubuntu.com>
17357
17358 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17359 we handle finding grub-mkimage. Default to finding grub-mkimage in
17360 ${bindir} with program_transform_name applied, and provide a
17361 --grub-mkimage option to override this.
17362
1d3293d6
VS
173632010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 Remove grub-mkisofs.
17366
17367 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17368 (grub_mkisofs_SOURCES): Removed.
17369 (grub_mkisofs_CFLAGS): Removed.
17370 * util/mkisofs/defaults.h: Removed.
17371 * util/mkisofs/eltorito.c: Likewise.
17372 * util/mkisofs/exclude.h: Likewise.
17373 * util/mkisofs/hash.c: Likewise.
17374 * util/mkisofs/include/: Likewise.
17375 * util/mkisofs/include/fctldefs.h: Likewise.
17376 * util/mkisofs/include/mconfig.h: Likewise.
17377 * util/mkisofs/include/prototyp.h: Likewise.
17378 * util/mkisofs/include/statdefs.h: Likewise.
17379 * util/mkisofs/iso9660.h: Likewise.
17380 * util/mkisofs/joliet.c: Likewise.
17381 * util/mkisofs/match.c: Likewise.
17382 * util/mkisofs/match.h: Likewise.
17383 * util/mkisofs/mkisofs.c: Likewise.
17384 * util/mkisofs/mkisofs.h: Likewise.
17385 * util/mkisofs/msdos_partition.h: Likewise.
17386 * util/mkisofs/multi.c: Likewise.
17387 * util/mkisofs/name.c: Likewise.
17388 * util/mkisofs/rock.c: Likewise.
17389 * util/mkisofs/tree.c: Likewise.
17390 * util/mkisofs/write.c: Likewise.
17391
5dde9afe
VS
173922010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17393
17394 Unify grub-mkimage accross platforms.
17395
17396 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17397 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17398 (grub_mkelfimage_SOURCES): Removed.
17399 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17400 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17401 (bin_UTILITIES): Add grub-mkimage.
17402 (grub_mkimage_SOURCES): New variable.
17403 (kernel_img_HEADERS): Remove machine/kernel.h.
17404 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17405 (pkglib_PROGRAMS): Add kernel.img.
17406 (kernel_img_HEADERS): Add machine/kernel.h.
17407 (kernel_img_FORMAT): Removed.
17408 (bin_UTILITIES): Remove grub-mkimage.
17409 (grub_mkimage_SOURCES): Removed.
17410 (grub_mkimage_CFLAGS): Likewise.
17411 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17412 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17413 (pkglib_PROGRAMS): Add kernel.img.
17414 (bin_UTILITIES): Remove grub-mkimage.
17415 (grub_mkimage_SOURCES): Removed.
17416 (grub_mkimage_CFLAGS): Likewise.
17417 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17418 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17419 (pkglib_PROGRAMS): Add kernel.img.
17420 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17421 (pkglib_PROGRAMS): Add kernel.img.
17422 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17423 (grub_mkimage_SOURCES): Removed.
17424 (grub_mkimage_CFLAGS): Likewise.
17425 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17426 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17427 (pkglib_PROGRAMS): Add kernel.img.
17428 (bin_UTILITIES): Remove grub-mkimage.
17429 (grub_mkimage_SOURCES): Removed.
17430 (grub_mkimage_CFLAGS): Likewise.
17431 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17432 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17433 (grub_mkimage_SOURCES): Removed.
17434 (grub_mkimage_CFLAGS): Likewise.
17435 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17436 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17437 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17438 (grub_pe32_optional_header): ... this.
17439 (grub_pe64_optional_header): ... and this. All users updated.
17440 (GRUB_PE32_PE32_MAGIC): Split into ..
17441 (GRUB_PE32_PE32_MAGIC): .. this.
17442 (GRUB_PE32_PE64_MAGIC): .. and this.
17443 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17444 * include/grub/elf.h (PT_GNU_STACK): New definition.
17445 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17446 * include/grub/i386/efi/kernel.h: Likewise.
17447 * include/grub/i386/kernel.h: Likewise.
17448 * include/grub/i386/pc/kernel.h: Likewise.
17449 * include/grub/i386/qemu/boot.h: Likewise.
17450 * include/grub/mips/kernel.h: Likewise.
17451 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17452 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17453 * include/grub/powerpc/kernel.h: Likewise.
17454 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17455 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17456 * include/grub/sparc64/kernel.h: Likewise.
17457 * include/grub/x86_64/efi/kernel.h: Likewise.
17458 * include/grub/x86_64/kernel.h: Likewise.
17459 * include/grub/offsets.h: New file.
17460 * include/grub/kernel.h (grub_module_info): Split into ...
17461 (grub_module_info32): ... this.
17462 (grub_module_info64): ... and this.
17463 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17464 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17465 (grub_boot_blocklist): Moved from here ...
17466 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17467 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17468 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17469 * include/grub/types.h (grub_target_to_host16): Removed.
17470 (grub_target_to_host32): Likewise.
17471 (grub_target_to_host64): Likewise.
17472 (grub_host_to_target16): Likewise.
17473 (grub_host_to_target32): Likewise.
17474 (grub_host_to_target64): Likewise.
17475 (grub_host_to_target_addr): Likewise.
17476
17477 Support grub-mkrescue for efi, coreboot and qemu.
17478
17479 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17480 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17481 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17482 * util/grub-mkrawimage.c: Moved from here ...
17483 * util/grub-mkimage.c: ... here. All users updated.
17484 (ALIGN_ADDR): Use image_target.
17485 (TARGET_NO_FIELD): New const.
17486 (image_target_desc): New type.
17487 (image_targets): New array.
17488 (grub_target_to_host64): Use image_target.
17489 (grub_target_to_host32): Likewise.
17490 (grub_target_to_host16): Likewise.
17491 (grub_host_to_target64): Likewise.
17492 (grub_host_to_target32): Likewise.
17493 (grub_host_to_target16): Likewise.
17494 (grub_host_to_target_addr): Likewise.
17495 (generate_image): Handle multiimage.
17496 (main): Require -O parameter. All users updated.
17497 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17498 util/efi/grub-mkimage.c
17499 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17500 New option --rom-directory.
17501 Use xorriso.
17502 * util/i386/efi/grub-mkimage.c: Removed.
17503 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17504 (grub_target_to_host32): Likewise.
17505 (grub_target_to_host64): Likewise.
17506 (grub_host_to_target16): Likewise.
17507 (grub_host_to_target32): Likewise.
17508 (grub_host_to_target64): Likewise.
17509 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17510 (grub_target_to_host32): Likewise.
17511 (grub_target_to_host64): Likewise.
17512 (grub_host_to_target16): Likewise.
17513 (grub_host_to_target32): Likewise.
17514 (grub_host_to_target64): Likewise.
17515
f4fc97d0
BC
175162010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17517
17518 Source tree is reorganized for emu build.
17519
17520 * include/grub/util/console.h: Move from here...
17521 * include/grub/emu/console.h: ...to here.
17522 * include/grub/util/getroot.h: Move from here...
17523 * include/grub/emu/getroot.h: ...to here.
17524 * include/grub/util/hostdisk.h: Move from here...
17525 * include/grub/emu/hostdisk.h: ...to here.
17526 * util/console.c: Move from here...
17527 * kern/emu/console.c: ...to here.
17528 * util/getroot.c: Move from here...
17529 * kern/emu/getroot.c: ...to here.
17530 * util/grub-emu.c: Move from here...
17531 * kern/emu/main.c: ...to here.
17532 * util/hostdisk.c: Move from here...
17533 * kern/emu/hostdisk.c: ...to here.
17534 * util/hostfs.c: Move from here...
17535 * kern/emu/hostfs.c: ...to here.
17536 * util/mm.c: Move from here...
17537 * kern/emu/mm.c: ...to here.
17538 * util/pci.c: Move from here...
17539 * bus/emu/pci.c: ...to here.
17540 * util/sdl.c: Move from here...
17541 * video/emu/sdl.c: ...to here.
17542 * util/time.c: Move from here...
17543 * kern/emu/time.c: ...to here.
17544 * util/usb.c: Move from here...
17545 * bus/usb/emu/usb.c: ...to here.
17546
17547 * include/grub/emu/misc.h: New header for grub-emu functions.
17548 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17549
17550 * conf/any-emu.rmk: Rule updates for above renames.
17551 * conf/common.rmk: Likewise.
17552 * conf/i386-pc.rmk: Likewise.
17553 * conf/i386-qemu.rmk: Likewise.
17554 * conf/mips.rmk: Likewise.
17555 * conf/sparc64-ieee1275.rmk: Likewise.
17556 * conf/x86-efi.rmk: Likewise.
17557
17558 * disk/lvm.h: #include updates for above renames.
17559 * util/grub-mkrelpath.c: Likewise.
17560 * util/grub-probe.c: Likewise.
17561 * util/i386/pc/grub-setup.c: Likewise.
17562 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17563 * kern/emu/console.c: Likewise.
17564 * kern/emu/getroot.c: Likewise.
17565 * kern/emu/hostdisk.c: Likewise.
17566 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17567
17568 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17569 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17570 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17571 * util/misc.c: Remove grub-emu functions.
17572
cced9145
VS
175732010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 Fix gfxmenu crash.
17576 Reported by: Thorsten Grützmacher.
17577
17578 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17579 timeout hook.
17580 (circprog_set_property): Register and unregister timeout hook.
17581 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17582 (label_destroy): Free template. and unregister hook.
17583 (label_set_state): New function.
17584 (label_set_property): Handle templates and hooks.
17585 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17586 timeout hook.
17587 (progress_bar_set_property): Register and unregister timeout hook.
17588 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17589 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17590 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17591 (update_timeout_visit): Removed.
17592 (update_timeouts): New function.
17593 (redraw_timeouts): Likewise.
17594 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17595 (grub_gfxmenu_clear_timeout): Likewise.
17596 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17597 (grub_gfxmenu_timeout_notify): Likewise.
17598 (grub_gfxmenu_timeout_notifications): New external variable.
17599 (grub_gfxmenu_timeout_register): New function.
17600 (grub_gfxmenu_timeout_unregister): Likewise.
17601
c6e5caab
VS
176022010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17603
17604 Transform (broken) vga terminal into (working) vga video driver.
17605
17606 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17607 video/i386/pc/vga.c.
17608 * include/grub/video.h (grub_video_driver_id):
17609 Add GRUB_VIDEO_DRIVER_VGA.
17610 * term/i386/pc/vga.c: Renamed to ...
17611 * video/i386/pc/vga.c: ...this
17612 (DEBUG_VGA): Removed.
17613 (CHAR_WIDTH): Likewise.
17614 (CHAR_HEIGHT): Likewise.
17615 (TEXT_WIDTH): Likewise.
17616 (TEXT_HEIGHT): Likewise.
17617 (DEFAULT_FG_COLOR): Likewise.
17618 (DEFAULT_BG_COLOR): Likewise.
17619 (colored_char): Likewise.
17620 (xpos): Likewise.
17621 (ypos): Likewise.
17622 (cursor_state): Likewise.
17623 (fg_color): Likewise.
17624 (bg_color): Likewise.
17625 (text_buf): Likewise.
17626 (page): Likewise.
17627 (font): Likewise.
17628 (framebuffer): New variable.
17629 (set_read_map): Disabled.
17630 (setup): New variable.
17631 (is_target): Likewise.
17632 (grub_vga_mod_init): Likewise.
17633 (grub_vga_mod_fini): Likewise.
17634 (check_vga_mem): Likewise.
17635 (write_char): Likewise.
17636 (write_cursor): Likewise.
17637 (scroll_up): Likewise.
17638 (grub_vga_putchar): Likewise.
17639 (grub_vga_getcharwidth): Likewise.
17640 (grub_vga_getwh): Likewise.
17641 (grub_vga_getxy): Likewise.
17642 (grub_vga_gotoxy): Likewise.
17643 (grub_vga_cls): Likewise.
17644 (grub_vga_setcolorstate): Likewise.
17645 (grub_vga_setcursor): Likewise.
17646 (grub_video_vga_init): New function.
17647 (grub_video_vga_setup): Likewise.
17648 (grub_video_vga_fini): Likewise.
17649 (update_target): Likewise.
17650 (grub_video_vga_blit_bitmap): Likewise.
17651 (grub_video_vga_blit_render_target): Likewise.
17652 (grub_video_vga_set_active_render_target): Likewise.
17653 (grub_video_vga_get_active_render_target): Likewise.
17654 (grub_video_vga_swap_buffers): Likewise.
17655 (grub_video_vga_set_palette): Likewise.
17656 (grub_video_vga_get_info_and_fini): Likewise.
17657 (grub_vga_term): Removed.
17658 (grub_video_vga_adapter): New variable.
17659 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17660 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17661
2bf61a98
VS
176622010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * video/readers/jpeg.c: Indented.
17665
09ddcd11
VS
176662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 Various jpeg cleanups.
17669
17670 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17671 (grub_jpeg_decode_quan_table): Use sizeof.
17672 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17673
e5507505
PH
176742010-05-05 Peter Hurley <No e-mail available> (tiny change)
17675
17676 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17677 tables. Ignore non-last ac bit.
17678 (grub_jpeg_decode_quan_table): Likewise.
17679
7e720a9b
VS
176802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17683 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17684 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17685 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17686 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17687 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17688
a7fc080b
VS
176892010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17690
17691 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17692 error.
17693
2bf6012d
VS
176942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17697
265d68cd
VS
176982010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17701 condition.
17702
177032010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17704
17705 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17706 part.
17707
265d68cd 177082010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17709
17710 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17711 pointers.
17712
265d68cd 177132010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17714
17715 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17716
d1b61374
CF
177172010-05-01 Christian Franke <franke@computer.org>
17718
17719 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17720 Remove broken Cygwin path conversion.
17721 * util/misc.c: [__CYGWIN__] Add include and define.
17722 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17723 for Cygwin 1.7.
17724 (make_system_path_relative_to_its_root): Simplify loop, replace early
17725 return by break.
17726 [__CYGWIN__] Add conversion to win32 path.
17727 Include "/" case in trailing slash removal.
17728
3558c6e9
VS
177292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17730
17731 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17732 Reported by: Seth Goldberg
17733
f5f3ff93
VS
177342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 * commands/help.c (grub_cmd_help): Fix a typo.
17737 Reported by: Seth Goldberg
17738
d8b5cd40
VS
177392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17742 name and add N_.
17743 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17744 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17745 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17746 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17747 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17748 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17749 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17750 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17751 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17752 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17753 * normal/context.c (GRUB_MOD_INIT): Likewise.
17754 * normal/main.c (GRUB_MOD_INIT): Likewise.
17755 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17756 * term/serial.c (GRUB_MOD_INIT): Likewise.
17757 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17758
88c14915
VS
177592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17762 extra == 0.
17763
165134bc
VS
177642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * commands/iorw.c: New file.
17767 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17768 (iorw_mod_SOURCES): New variable.
17769 (iorw_mod_CFLAGS): Likewise.
17770 (iorw_mod_LDFLAGS): Likewise.
17771
c5ac9b32
VS
177722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 Hotkey support
17775
17776 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17777 * normal/main.c (hotkey_aliases): New variable.
17778 (grub_normal_add_menu_entry): Parse "--hotkey".
17779 * normal/menu_text.c (run_menu): Handle hotkeys.
17780
ce60689c
VS
177812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * kern/i386/coreboot/init.c (grub_machine_init): Call
17784 grub_machine_mmap_init on qemu.
17785
0359d006
VS
177862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 * boot/i386/qemu/boot.S: Add a missing .code16.
17789
7819a456
VS
177902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17791
17792 Use LBIO on coreboot.
17793
17794 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17795 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17796 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17797 New declaration.
17798 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17799 grub_machine_mmap_init on coreboot.
17800 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17801 GRUB_LINUXBIOS_MEMBER_LINK.
17802 (grub_machine_mmap_iterate): Fix declaration.
17803 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17804
7210dca9
VS
178052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 Split coreboot and multiboot ports.
17808
17809 * conf/i386-multiboot.rmk: New file.
17810 * configure.ac: Add multiboot port.
17811 * include/grub/i386/multiboot/boot.h: New file.
17812 * include/grub/i386/multiboot/console.h: Likewise.
17813 * include/grub/i386/multiboot/init.h: Likewise.
17814 * include/grub/i386/multiboot/kernel.h: Likewise.
17815 * include/grub/i386/multiboot/loader.h: Likewise.
17816 * include/grub/i386/multiboot/memory.h: Likewise.
17817 * include/grub/i386/multiboot/serial.h: Likewise.
17818 * include/grub/i386/multiboot/time.h: Likewise.
17819 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17820 * loader/multiboot.c: Likewise.
17821 * loader/multiboot_mbi2.c: Likewise.
17822 * util/grub-mkrescue.in: Generate multiboot rescue.
17823
6f8aaf68
VS
178242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17825
3080f7a7
VS
17826 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17827
178282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17831
17832 * commands/terminal.c (abstract_terminal): New struct.
17833 (handle_command): New function. Based on grub_cmd_terminal_input.
17834 (grub_cmd_terminal_input): Use handle_command.
17835 (grub_cmd_terminal_output): Use handle_command.
17836
a8ebb841
BC
178372010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17838
17839 Fix comment handling.
17840
17841 * tests/grub_script_comments.in: New testcase.
17842 * conf/tests.rmk: Rules for new testcase.
17843 * script/yylex.l: Updated flex rules.
17844
bb06ba08
ST
178452010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17846
17847 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17848 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17849 if argc is 1.
bb06ba08 17850
cc9d2425
VS
178512010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17854 autogen issues.
17855
460d8402
CF
178562010-04-26 Christian Franke <franke@computer.org>
17857
17858 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17859 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17860 (grub_get_prefix): Remove function.
17861 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17862 make_system_path_relative_to_its_root ().
17863 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17864
553c01f9
CF
178652010-04-24 Christian Franke <franke@computer.org>
17866
17867 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17868 (kernel_img_LDFLAGS): Remove -static-libgcc.
17869
2aec1692
CF
178702010-04-24 Christian Franke <franke@computer.org>
17871
17872 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17873 and CHECK_END_SYMBOL if grub-emu is built.
17874 Unset TARGET_OBJ2ELF if grub-emu is built
17875 without module support.
17876
f67dc308
JS
178772010-04-24 Jiro SEKIBA <jir@unicus.jp>
17878
17879 Nilfs2 support.
17880
17881 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17882 (grub_fstest_SOURCES): Likewise.
17883 (pkglib_MODULES): Add nilfs2.mod.
17884 (nilfs2_mod_SOURCES): New variable.
17885 (nilfs2_mod_CFLAGS): Likewise.
17886 (nilfs2_mod_LDFLAGS): Likewise.
17887 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17888 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17889 * fs/nilfs2.c: New file.
17890
4ba8d354
VS
178912010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17894 is not supported.
17895
0d2c20c6
GS
178962010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17897
17898 Add grub-mkconfig support for NetBSD.
17899
17900 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17901 * util/grub-mkconfig.in: export new NetBSD specific variables.
17902 * po/POTFILES-shell: added 10_netbsd.in.
17903 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17904
bc4a2d83
BC
179052010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17906
17907 Fix emu build with grub-emu-pci and grub-emu-modules.
17908
17909 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17910 functions.
17911 * include/grub/libpciaccess.h: New file.
17912 * conf/any-emu.rmk: Update kernel headers for emu build.
17913
f48c87aa
VS
179142010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17917
18959385
VS
179182010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17919
17920 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17921
0037de3f
VS
179222010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17925 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17926 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17927 util/ieee1275/ofpath.c.
17928 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17929 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17930 * include/grub/sparc64/ieee1275/boot.h
17931 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17932 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17933 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17934 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17935 const char *.
17936 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17937 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17938 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17939 install.
17940
38e55e90
GS
179412010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17942
17943 * util/grub-mkconfig.in: Corrected two == equality tests.
17944 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17945 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17946 expect a number appended to it.
17947 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17948 expects a number appended to it.
17949
a9e6ff28
VS
179502010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17953
0b830b8f
VS
179542010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * util/hostdisk.c (make_device_name): Change to new partition naming.
17957
0973daeb
VS
179582010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17961
460d8402 179622010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17963
17964 * Makefile.in: Add missing localedir setting.
17965
0b456309
CW
179662010-04-14 Colin Watson <cjwatson@ubuntu.com>
17967
17968 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17969 mistake in r2156. Noticed by Anthony Fok.
17970
17971 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17972 @localedir@.
17973 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17974
08f46d62
BC
179752010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17976
17977 Fix a spurious, uninitialized variable warning.
17978
17979 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17980 Initialize variable, shdr.
17981 (grub_freebsd_load_elfmodule): Likewise.
17982 (grub_freebsd_load_elf_meta): Likewise.
17983
8c4a72d4
BC
179842010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17985
17986 Fix for escaped dollar in double quoted strings.
17987
17988 * script/yylex.l: Updated flex rules.
17989 * conf/tests.rmk: Rule for new testcase.
17990 * tests/grub_script_dollar.in: New testcase.
17991
ce44826e
CPE
179922010-04-13 Carles Pina i Estany <carles@pina.cat>
179932010-04-13 Colin Watson <cjwatson@ubuntu.com>
17994
17995 Enclose all translated strings in grub.cfg in single quotes, and
17996 escape them appropriately (Ubuntu bug #552921).
17997
17998 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17999 * util/grub.d/10_hurd.in: Use it.
18000 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18001 * util/grub.d/10_linux.in (linux_entry): Likewise.
18002
4b0cd8f8
VS
180032010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18004
18005 Fix cygwin compilation.
18006
18007 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18008 * include/grub/misc.h (__register_frame_info)
18009 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18010 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18011 * kern/misc.c (__register_frame_info)
18012 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18013 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18014
01fcf061
VS
180152010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18016
18017 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18018
5d04b11e
VS
180192010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 Unify libgcc processing.
18022
18023 * Makefile.in (kernel_img_LDFLAGS): New variable.
18024 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18025 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18026 overwriting.
18027 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18028 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18029 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18030 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18031 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18032 overwriting. Remove -lgcc and -static-libgcc
18033 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18034 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18035 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18036 (kernel_img_LDFLAGS): Append instead of overwriting.
18037 Remove -lgcc and -static-libgcc
18038 * conf/sparc64-ieee1275.rmk: Likewise.
18039 * include/grub/powerpc/libgcc.h: Move to ...
18040 * include/grub/libgcc.h: .. this.
18041 * include/grub/libgcc.h: Don't export most of the function on x86.
18042 (__bswapsi2): New export.
18043 (__bswapdi2): Likewise.
18044 * include/grub/mips/libgcc.h: Removed.
18045 * include/grub/sparc64/libgcc.h: Likewise.
18046
b7f3ac29
VS
180472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18050 disk_info_msg (conflicts with gettexting into languages with cases).
18051
2c7031b1
GS
180522010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18053
18054 Add grub-probe support for NetBSD.
18055
18056 * util/getroot.c (find_root_device): Convert block device to
18057 character device on NetBSD.
18058 * util/probe.c (probe): Require character device on NetBSD.
18059 * util/hostdisk.c: NetBSD specific headers.
18060 (configure_device_driver): new function to tune device driver
18061 parameters (currently only for NetBSD floppy driver).
18062 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18063 via disklabel ioctl).
18064 (open_device): call configure_device_driver on NetBSD.
18065 (convert_system_partition_to_system_disk): NetBSD specific code.
18066 (device_is_wholedisk): Likewise.
18067 (grub_util_biosdisk_get_grub_dev): Likewise.
18068 (make_device_name): Fixed a typo in bsd_part_str.
18069 * configure.ac: check for opendisk() and getrawpartition() on
18070 NetBSD and set LIBUTIL.
18071 * Makefile.in: add LIBUTIL to LIBS.
18072
f516290c
BC
180732010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18074
18075 Documentation fix.
18076
18077 * util/grub-script-check.c: Better help message.
18078
d8dcc0df
BC
180792010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18080
18081 Fix FreeBSD build.
18082
18083 * configure.ac: Flex version check.
18084 * conf/common.rmk: Add -Wno-error to sh.mod.
18085 * script/yylex.l: Remove all #pragma.
18086
6734334a
VS
180872010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18088
18089 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18090 prototype.
18091 Reported by: Seth Goldberg.
18092
daea6abd
VS
180932010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18096 Rename "module" to "module2".
18097 Reported by: Seth Goldberg.
18098
f2fd9d2b
VS
180992010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18102 EXPORT_FUNC.
18103 Reported by: Seth Goldberg.
18104
be124579
VS
181052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 * lib/posix_wrap/locale.h: Add missing file.
18108 Reported by: Seth Goldberg.
18109
ef5da797
VS
181102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 grub-emu module load support.
18113
18114 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18115 NO_DYNAMIC_MODULES switched to this.
18116 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18117 (CFLAGS): Likewise.
18118 * conf/any-emu.rmk: Generate symlist.
18119 (kernel_img_HEADERS): Add util/datetime.h.
18120 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18121 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18122 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18123 kern/$(target_cpu)/cache.S.
18124 * configure.ac (grub-emu-modules): New option.
18125 * genmk.rb: Handle multiple source lists.
18126 * include/grub/sdl.h: New file.
18127 * include/grub/libusb.h: Likewise.
18128 * util/grub-emu.c (main): Hanle (host) root.
18129 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18130 GRUB_ERR_UNKNOWN_DEVICE.
18131 * util/misc.c: Move mm functions to ...
18132 * util/mm.c: ... here. All users updated.
18133
47822096
VS
181342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18137 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18138 missing files.
18139 (maintainer-clean): Remove libgcrypt-grub.
18140
5d7e7445
VS
181412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18142
18143 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18144
25f4e252
EC
181452010-04-09 EFI Coder <eficoder@hotmail.com>
18146
18147 * normal/menu_text.c (print_message): Clean up the message and show
18148 the Fn information when on EFI
18149 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18150
027de555
VS
181512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18154 All users updated.
18155 * normal/crypto.c (read_crypto_list): Likewise.
18156 * normal/dyncmd.c (read_command_list): Likewise.
18157 * normal/term.c (read_terminal_list): Likewise.
18158 * normal/main.c (read_lists): Use explicit prefix.
18159 (read_lists_hook): Use read_lists.
18160 (grub_normal_execute): Likewise.
18161
47779711
VS
181622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18165 Reported by: Thomas Schmitt.
18166 Add -no-emul-boot to grub-mkisofs parameters.
18167
1118c32e
VS
181682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * font/font.c: Indented.
18171
7d652447
BC
181722010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18173
18174 Elif support to GRUB script (by Deepak Vankadaru).
18175
18176 * tests/grub_script_if.in: New testcase.
18177 * conf/tests.rmk: Rule for new testcase.
18178 * script/parser.y: Grammar rules for elif.
18179
34bb22df
BC
181802010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18181
18182 While and until loops support to GRUB script.
18183
18184 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18185 (grub_script_create_cmdwhile): New function prototype.
18186 (grub_script_execute_cmdwhile): New function prototype.
18187 * script/execute.c (grub_script_execute_cmdwhile): New function.
18188 * script/parser.y (command): New commands.
18189 (whilecmd): New grammar rule.
18190 (untilcmd): New grammar rule.
18191 * script/script.c (grub_script_create_cmdwhile): New function.
18192 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18193 function.
18194
18195 * tests/grub_script_while1.in: New testcase.
18196 * conf/tests.rmk: Rule for new testcase.
18197
e215d8e0
VS
181982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18201 as *.jpg.
18202
d7c43ba1
MV
182032010-04-09 Mario Vazquez <mariovazq@gmail.com>
18204
18205 GRUB_BACKGROUND support.
18206
18207 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18208 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18209
d64795c0
VS
182102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18211
18212 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18213 Idea by: Mario Vazquez
d64795c0
VS
18214
18215 * util/grub.d/00_header.in: Load pf2 and image modules.
18216
f267f83a
VS
182172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18218
18219 grub-mkconfig multiple terminal support.
18220
18221 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18222 * util/grub.d/00_header.in: Likewise.
18223
b7841ceb
VS
182242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18227 we use cd $(srcdir).
18228
df60998c
CW
182292010-04-08 Colin Watson <cjwatson@ubuntu.com>
18230
18231 * util/grub.d/10_linux.in: Only use the first word of
18232 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18233 spaces in GRUB_DISTRIBUTOR.
18234 * util/grub.d/10_kfreebsd.in: Likewise.
18235 * util/grub.d/10_hurd.in: Likewise.
18236
fa09c82e
BC
182372010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18238
14e18ae3 18239 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18240
18241 * tests/util/grub-shell.in: Remove -serial stdio option.
18242
daf892b3
BC
182432010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 POSIX header file wrappers.
18246
18247 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18248 equivalents.
18249 * lib/posix_wrap/ctype.h: Likewise.
18250 * lib/posix_wrap/errno.h: Likewise.
18251 * lib/posix_wrap/langinfo.h: Likewise.
18252 * lib/posix_wrap/limits.h: Likewise.
18253 * lib/posix_wrap/localcharset.h: Likewise.
18254 * lib/posix_wrap/stdint.h: Likewise.
18255 * lib/posix_wrap/stdio.h: Likewise.
18256 * lib/posix_wrap/stdlib.h: Likewise.
18257 * lib/posix_wrap/string.h: Likewise.
18258 * lib/posix_wrap/sys/types.h: Likewise.
18259 * lib/posix_wrap/unistd.h: Likewise.
18260 * lib/posix_wrap/wchar.h: Likewise.
18261 * lib/posix_wrap/wctype.h: Likewise.
18262 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18263 (grub_script.yy.h): Likewise.
18264 * script/yylex.l: Remove POSIX emulation #defines.
18265 * Makefile.in (POSIX_CFLAGS): New variable.
18266 (GNULIB_UTIL_CFLAGS): Likewise.
18267
18268 Regexp support.
18269
18270 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18271 (regexp_mod_SOURCES): New variable.
18272 (regexp_mod_CFLAGS): Likewise.
18273 (regexp_mod_LDFLAGS): Likewise.
18274 * commands/regexp.c: New file.
18275 * gnulib/regcomp.c: New file. Imported from gnulib.
18276 * gnulib/regex.c: Likewise.
18277 * gnulib/regex_internal.c: Likewise.
18278 * gnulib/regex_internal.h: Likewise.
18279 * gnulib/regexec.c: Likewise.
18280 * gnulib/regex.h: Likewise.
18281
974ac4f7
VS
182822010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18283
18284 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18285 unsupported video mode types.
18286
2622c3ff
VS
182872010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18290
064cb524
VS
182912010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18292
18293 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18294 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18295
a8c3b552
VS
182962010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18297
18298 Remove unused grub_vga_get_font.
18299
18300 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18301 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18302
187bbe3d
GS
183032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18304
18305 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18306 * include/grub/misc.h: Likewise.
18307
b9396631
GS
183082010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18309
18310 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18311 for which failure is fatal.
18312
50479feb
GS
183132010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18314
18315 * util/grub-install.in: Use mkdir -p to create grub directory.
18316 * util/i386/efi/grub-install.in: Likewise.
18317 * util/ieee1275/grub-install.in: Likewise.
18318
b1654fdf
GS
183192010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18320
18321 * Makefile.in (LEX): new variable.
18322
bd5a6415
GS
183232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18324
18325 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18326 `=' and added double quotes on operands of this equality test.
18327
3db3a82b
VS
183282010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 * Makefile.in (uninstall): Remove a leftover debug echo.
18331 Reported by: Grégoire Sutre
18332
38023412
VS
183332010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 MIPS multiboot2 support.
18336
18337 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18338 (multiboot2_mod_SOURCES): New variable.
18339 (multiboot2_mod_CFLAGS): Likewise.
18340 (multiboot2_mod_LDFLAGS): Likewise.
18341 (multiboot2_mod_ASFLAGS): Likewise.
18342 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18343 definition.
18344 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18345 (MULTIBOOT_MBI_REGISTER): Likewise.
18346 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18347 (MULTIBOOT_ELF32_MACHINE): Likewise.
18348 (MULTIBOOT_ELF64_MACHINE): Likewise.
18349 * include/grub/mips/multiboot.h: New file.
18350 * include/grub/video.h (grub_video_driver_id): New type
18351 GRUB_VIDEO_DRIVER_SM712.
18352 (grub_video_get_info_and_fini): Export.
18353 (grub_video_get_palette): Likewise.
18354 (grub_video_get_driver_id): Likewise.
18355 * include/multiboot2.h: Resynced with spec.
18356 * loader/i386/multiboot.c: Moved from here ...
18357 * loader/multiboot.c: ... here. All users updated.
18358 (grub_multiboot_boot): Use platform-specific macros.
18359 * loader/i386/multiboot_elfxx.c: Moved from here ...
18360 * loader/multiboot_elfxx.c: ... here. All users updated.
18361 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18362 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18363 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18364
47674667
VS
183652010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18366
18367 Import gnulib argp module.
18368
18369 * gnulib/argp-ba.c: New file.
18370 * gnulib/argp-eexst.c: Likewise.
18371 * gnulib/argp-fmtstream.c: Likewise.
18372 * gnulib/argp-fmtstream.h: Likewise.
18373 * gnulib/argp-fs-xinl.c: Likewise.
18374 * gnulib/argp-help.c: Likewise.
18375 * gnulib/argp-namefrob.h: Likewise.
18376 * gnulib/argp-parse.c: Likewise.
18377 * gnulib/argp-pin.c: Likewise.
18378 * gnulib/argp-pv.c: Likewise.
18379 * gnulib/argp-pvh.c: Likewise.
18380 * gnulib/argp-version-etc.c: Likewise.
18381 * gnulib/argp-version-etc.h: Likewise.
18382 * gnulib/argp-xinl.c: Likewise.
18383 * gnulib/argp.h: Likewise.
18384
495442ed
VS
183852010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * kern/device.c (grub_device_iterate): Clear errors after failed
18388 opening device.
18389
f9fd65df
VS
183902010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18393 returned by firmware.
18394
af09641e
VS
183952010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18398 compilation on coreboot and qemu
18399
016883a5
VS
184002010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 * include/multiboot2.h: Resync with spec.
18403
f97e1f7d
VS
184042010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 Multiboot2 tag support
18407
18408 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18409 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18410 Remove loader/multiboot_loader.c.
18411 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18412 (grub_multiboot2_real_boot): Likewise.
18413 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18414 (grub_get_multiboot_mmap_count): New proto.
18415 (grub_fill_multiboot_mmap): Likewise.
18416 (grub_multiboot_set_video_mode): Likewise.
18417 (grub_multiboot_set_console): Likewise.
18418 (grub_multiboot_load): Likewise.
18419 (grub_multiboot_load_elf): Likewise.
18420 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18421 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18422 * include/multiboot.h: Resynced with specification.
18423 * include/multiboot2.h: Resynced with specification.
18424 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18425 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18426 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18427 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18428 users updated.
18429 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18430 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18431 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18432 Removed.
18433 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18434 Moved from here...
18435 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18436 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18437 Moved from here...
18438 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18439 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18440 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18441 All users updated.
18442 * loader/i386/multiboot_mbi2.c: New file.
18443
3506b90b
VS
184442010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18445
18446 Resync with gnulib.
18447
18448 * Makefile.in (GNULIB_CFLAGS): New variable.
18449 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18450 (grub_script_check_CFLAGS): New variable.
18451 * gnulib/alloca.h: Resync with gnulib.
18452 * gnulib/error.c: Likewise.
18453 * gnulib/error.h: Likewise.
18454 * gnulib/fnmatch.c: Likewise.
18455 * gnulib/fnmatch_loop.c: Likewise.
18456 * gnulib/getdelim.c: Likewise.
18457 * gnulib/getline.c: Likewise.
18458 * gnulib/getopt.c: Likewise.
18459 * gnulib/getopt1.c: Likewise.
18460 * gnulib/getopt_int.h: Likewise.
18461 * gnulib/gettext.h: Likewise.
18462 * gnulib/progname.c: Likewise.
18463 * gnulib/progname.h: Likewise.
18464
394a3120
GS
184652010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18466
18467 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18468 which is the case with --disabled-nls.
18469
18470 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18471 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18472 * util/misc.c: Likewise.
18473 * util/mkisofs/mkisofs.c: Likewise.
18474 * util/mkisofs/mkisofs.h: Likewise.
18475
969d1c78
VS
184762010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 Simplify Apple CC support.
18479
18480 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18481 Add 0 byte at the end not to have a symbol with empty target.
18482 * mmap/i386/pc/mmap_helper.S: Likewise.
18483 * genmk.rb: Ignore errors 2030 and 2050.
18484 * kern/i386/pc/startup.S: Use LOCAL when possible.
18485
8d2977bb
BC
184862010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18487
18488 Testcase and the fix for final semicolon on cmdline.
18489
18490 * tests/grub_script_final_semicolon.in: New testcase.
18491 * conf/tests.rmk: Rules for the new testcase.
18492 * script/parser.y: Grammar fix.
18493
a7bd6915
BC
184942010-03-26 BVK Chaitanya <bvk@localhost>
18495
18496 Blank lines testcase for GRUB script.
18497
18498 * tests/grub_script_blanklines.in: New testcase.
18499 * conf/tests.rmk: Rules for the new testcase.
18500
e4ff6628
VS
185012010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 Don't use __FILE__.
18504
18505 * genmk.rb: Add -DGRUB_FILE to all C targets.
18506 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18507 * include/grub/list.h: Likewise.
18508 * include/grub/misc.h: Likewise.
18509 * include/grub/mm.h: Likewise.
18510 * include/grub/test.h: Likewise.
18511 * kern/mm.c: Likewise.
18512 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18513
6a5cf6b6
VS
185142010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 Sunpc partitions support.
18517
18518 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18519 (grub_fstest_SOURCES): Likewise.
18520 (pkglib_MODULES): Add part_sunpc.mod.
18521 (part_sunpc_mod_SOURCES): New variable.
18522 (part_sunpc_mod_CFLAGS): Likewise.
18523 (part_sunpc_mod_LDFLAGS): Likewise.
18524 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18525 * partmap/sunpc.c: New file.
18526
746d9045
BC
185272010-03-26 BVK Chaitanya <bvk@localhost>
18528
18529 For loop support to GRUB script.
18530
18531 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18532 (grub_script_create_cmdfor): New function prototype.
18533 (grub_script_execute_cmdfor): New function prototype.
18534 * script/execute.c (grub_script_execute_cmdfor): New function.
18535 * script/parser.y (command): New for command.
18536 (forcmd): New grammar rule.
18537 * script/script.c (grub_script_create_cmdfor): New function.
18538 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18539 function.
18540 * tests/grub_script_for1.in: New testcase.
18541 * conf/tests.rmk: Rules for new testcase.
18542
18486b18
VS
185432010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 Nested partitions
18546
18547 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18548 'partition' is NULL, grub_partition_get_start already does that.
18549 * commands/loadenv.c (check_blocklists): Likewise.
18550 (write_blocklists): Likewise.
18551 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18552 (grub_fstest_SOURCES): Likewise.
18553 (pkglib_MODULES): Add part_bsd.mod.
18554 (part_bsd_mod_SOURCES): New variable.
18555 (part_bsd_mod_CFLAGS): Likewise.
18556 (part_bsd_mod_LDFLAGS): Likewise.
18557 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18558 (grub_emu_SOURCES): Likewise.
18559 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18560 * include/grub/bsdlabel.h: New file.
18561 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18562 'get_name'.
18563 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18564 (grub_partition_map_list): New variable.
18565 (grub_partition_map_register): Inline.
18566 (grub_partition_map_unregister): Likewise.
18567 (FOR_PARTITION_MAPS): New macro.
18568 (grub_partition_map_iterate): Removed.
18569 (grub_partition_get_start): Handle nested partitions.
18570 * include/grub/msdos_partition.h: Remove bsd-related entries.
18571 (grub_pc_partition): Remove.
18572 * kern/disk.c (grub_disk_close): Free partition data.
18573 (grub_disk_adjust_range): Handle nested partitions.
18574 * kern/partition.c (grub_partition_map_probe): New function.
18575 (grub_partition_probe): Parse name to number, handle subpartitions.
18576 (get_partmap): New function.
18577 (grub_partition_iterate): Handle subpartitions.
18578 (grub_partition_get_name): Likewise.
18579 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18580 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18581 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18582 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18583 Set 'number'.
18584 (acorn_partition_map_probe): Remove.
18585 (acorn_partition_map_get_name): Likewise.
18586 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18587 Set 'number'.
18588 Set 'index' to 0 since there can be only one partition entry per sector.
18589 (amiga_partition_map_probe): Remove.
18590 (amiga_partition_map_get_name): Likewise.
18591 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18592 Set 'number'.
18593 Set 'offset' and 'index' to real positions of partitions.
18594 (apple_partition_map_probe): Remove.
18595 (apple_partition_map_get_name): Likewise.
18596 * partmap/bsdlabel.c: New file.
18597 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18598 Set 'number'.
18599 Allocate 'data' so it can be correctly freed.
18600 Set 'index' to offset inside sector.
18601 (gpt_partition_map_probe): Remove.
18602 (gpt_partition_map_get_name): Likewise.
18603 * partmap/msdos.c (grub_partition_parse): Remove.
18604 (pc_partition_map_iterate): Don't force raw access.
18605 Set 'number'.
18606 Make 'ext_offset' a local variable.
18607 (pc_partition_map_probe): Remove.
18608 (pc_partition_map_get_name): Remove.
18609 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18610 Set 'number'.
18611 (sun_partition_map_probe): Remove.
18612 (sun_partition_map_get_name): Likewise.
18613 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18614 (grub_pcpart_type): Likewise.
18615 * util/hostdisk.c (open_device): Handle new numbering scheme.
18616 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18617 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18618 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18619 * util/grub-install.in: Insert all subpartition modules.
18620 * util/ieee1275/grub-install.in: Likewise.
18621
a3940f88
AG
186222010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18623
18624 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18625 grammar.
18626
21b99926 186272010-03-24 Colin Watson <cjwatson@ubuntu.com>
18628
18629 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18630
bed1d352
CW
186312010-03-21 Colin Watson <cjwatson@ubuntu.com>
18632
18633 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18634 match where 'make install' puts them.
18635 * util/i386/efi/grub-install.in: Likewise.
18636
c9f58427
CW
186372010-03-19 Colin Watson <cjwatson@ubuntu.com>
18638
18639 * .bzrignore: Add gentrigtables, grub-script-check,
18640 grub_script_check_init.c, grub_script_check_init.h, and
18641 trigtables.c.
18642
f84afb27
VS
186432010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18644
18645 * kern/parser.c: Indented.
18646
ed0e3d30
VS
186472010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18650
0ea81d98
VS
186512010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18654 alpha_mask_size == 0 case.
18655
0cdc2a09
BC
186562010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18657
18658 GRUB shell lexer and parser improvements.
18659
18660 * conf/any-emu.rmk: Build rule updates.
18661 * conf/common.rmk: Likewise.
18662 * conf/i386-coreboot.rmk: Likewise.
18663 * conf/i386-efi.rmk: Likewise.
18664 * conf/i386-ieee1275.rmk: Likewise.
18665 * conf/i386-pc.rmk: Likewise.
18666 * conf/powerpc-ieee1275.rmk: Likewise.
18667 * conf/x86_64-efi.rmk: Likewise.
18668
18669 * configure.ac: Configure check for flex.
18670
18671 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18672 types.
18673 (grub_lexer_param): Struct member updates.
18674 (grub_parser_param): Likewise.
18675 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18676 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18677 (grub_script_lexer_init): Prototype update.
18678 (grub_script_lexer_record_start): Likewise.
18679 (grub_script_lexer_record_stop): Likewise.
18680 (grub_script_lexer_yywrap): New function prototype.
18681 (grub_script_lexer_fini): Likewise.
18682 (grub_script_execute_argument_to_string): Removed by...
18683 (grub_script_execute_argument_to_argv): ...better version.
18684
18685 * script/execute.c (ROUND_UPTO): New macro.
18686 (grub_script_execute_cmdline): Out of memory fixes.
18687 (grub_script_execute_menuentry): Likewise.
18688 (grub_script_execute_argument_to_string): Removed. Update all
18689 users by...
18690 (grub_script_execute_argument_to_argv): ...better version.
18691 * script/function.c (grub_script_function_create): Use
18692 grub_script_execute_argument_to_argv instead of
18693 grub_script_execute_argument_to_string.
18694
18695 * script/lexer.c (check_varstate): Removed.
18696 (check_textstate): Removed.
18697 (grub_script_lexer_record_start): Likewise.
18698 (grub_script_lexer_record_stop): Likewise.
18699 (recordchar): Replaced with...
18700 (grub_script_lexer_record): ...new function.
18701 (nextchar): Removed.
18702 (grub_script_lexer_init): Rewritten.
18703 (grub_script_yylex): Rewritten.
18704 (append_newline): New function.
18705 (grub_script_lexer_yywrap): New function.
18706 (grub_script_lexer_fini): New function.
18707 (grub_script_yyerror): Sets error flag.
18708
18709 * script/yylex.l: New file.
18710 (grub_lexer_yyfree): Wrapper for flex yyffre.
18711 (grub_lexer_yyalloc): Likewise.
18712 (grub_lexer_yyrealloc): Likewise.
18713 * script/parser.y: Refactored.
18714
18715 * script/script.c (grub_script_arg_add): Out of memory fixes.
18716 (grub_script_add_arglist): Likewise.
18717 (grub_script_create_cmdline): Likewise.
18718 (grub_script_create_cmdmenu): Likewise.
18719 (grub_script_add_cmd): Likewise.
18720 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18721 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18722 unnecessary code.
18723
18724 * tests/grub_script_echo1.in: New testcase.
18725 * tests/grub_script_vars1.in: New testcase.
18726 * tests/grub_script_echo_keywords.in: New testcase.
18727
1d63a066
VS
187282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 Remove some redundancy in build system.
18731
18732 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18733 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18734 (TARGET_LDFLAGS): Add -nostdlib.
18735 (TARGET_IMG_LDFLAGS): Likewise.
18736 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18737 anything since mmap isn't available.
18738 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18739 Add util/time.c.
18740 (pkglib_MODULES): Remove reboot.mod.
18741 (reboot_mod_SOURCES): Removed.
18742 (reboot_mod_CFLAGS): Likewise.
18743 (reboot_mod_LDFLAGS): Likewise.
18744 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18745 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18746 (DEFSYMFILES): Add kernel_syms.lst.
18747 (kernel_img_HEADERS): Add common headers.
18748 (symlist.c): New target.
18749 (kernel_syms.lst): Likewise.
18750 (pkglib_MODULES): Add memdisk.mod.
18751 (memdisk_mod_SOURCES): New variable.
18752 (memdisk_mod_CFLAGS): Likewise.
18753 (memdisk_mod_LDFLAGS): Likewise.
18754 (pkglib_MODULES): Add reboot.mod.
18755 (reboot_mod_SOURCES): New variable.
18756 (reboot_mod_CFLAGS): Likewise.
18757 (reboot_mod_LDFLAGS): Likewise.
18758 (pkglib_MODULES): Add date.mod.
18759 (date_mod_SOURCES): New variable.
18760 (date_mod_CFLAGS): Likewise.
18761 (date_mod_LDFLAGS): Likewise.
18762 (pkglib_MODULES): Add datehook.mod.
18763 (datehook_mod_SOURCES): New variable.
18764 (datehook_mod_CFLAGS): Likewise.
18765 (datehook_mod_LDFLAGS): Likewise.
18766 (pkglib_MODULES): Add lsmmap.mod.
18767 (lsmmap_mod_SOURCES): New variable.
18768 (lsmmap_mod_CFLAGS): Likewise.
18769 (lsmmap_mod_LDFLAGS): Likewise.
18770 (pkglib_MODULES): Add boot.mod.
18771 (boot_mod_SOURCES): New variable.
18772 (boot_mod_CFLAGS): Likewise.
18773 (boot_mod_LDFLAGS): Likewise.
18774 * conf/i386-coreboot.rmk: Removed redundant parts.
18775 * conf/i386-ieee1275.rmk: Likewise.
18776 * conf/i386-pc.rmk: Likewise.
18777 * conf/mips-yeeloong.rmk: Likewise.
18778 * conf/mips.rmk: Likewise.
18779 * conf/powerpc-ieee1275.rmk: Likewise.
18780 * conf/sparc64-ieee1275.rmk: Likewise.
18781 * conf/x86_64-efi.rmk: Likewise.
18782 * conf/i386-coreboot.rmk: Moved qemu parts ..
18783 * conf/i386-qemu.rmk: ... here
18784 * conf/i386-efi.rmk: Moved common parts to...
18785 * conf/x86-efi.rmk: ... here.
18786 * conf/i386.rmk: Added modules common to all x86 variants.
18787 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18788 * disk/memdisk.c: Remove grub/machine/kernel.h.
18789 * gensymlist.sh.in: Include symbol.h.
18790 * hook/datehook.c: Correct module name.
18791 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18792 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18793 * include/grub/i386/efi/serial.h: New file.
18794 * include/grub/x86_64/efi/serial.h: Likewise.
18795 * util/time.c: Likewise.
18796 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18797
463ac55f
CK
187982010-03-14 Colin King <colin.king@ubuntu.com>
187992010-03-14 Colin Watson <cjwatson@ubuntu.com>
18800
18801 Shrink the pre-partition-table part of boot.img by eight bytes.
18802
18803 * boot/i386/pc/boot.S (ERR): New macro.
18804 (chs_mode): Use ERR.
18805 (geometry_error): Likewise.
18806 (hd_probe_error): Remove. This is only used once, so we wrwite
18807 it inline instead.
18808 (read_error): Instead of printing read_error_string, just set up
18809 %si and fall through to ...
18810 (error_message): ... this new function, also used by ERR.
18811
08e46ede
CW
188122010-03-14 Colin Watson <cjwatson@ubuntu.com>
18813
18814 Speed up consecutive hostdisk operations on the same device.
18815
18816 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18817 (grub_util_biosdisk_open): Initialise disk->data.
18818 (struct linux_partition_cache): New structure.
18819 (linux_find_partition): Cache partition start positions; these are
18820 expensive to compute on every read and write.
18821 (open_device): Cache open file descriptor in disk->data, so that we
18822 don't have to reopen it and flush the buffer cache for consecutive
18823 operations on the same device.
18824 (grub_util_biosdisk_close): New function.
18825 (grub_util_biosdisk_dev): Set `close' member.
18826
18827 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18828 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18829 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18830 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18831 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18832
4a6d2d06
VS
188332010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18834
18835 Compile parts of grub-emu as modules.
18836
18837 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18838 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18839 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18840 (all-local): Add $(GRUB_EMU).
18841 (install-local): Install $(GRUB_EMU).
18842 (uninstall): Uninstall $(GRUB_EMU).
18843 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18844 * kern/dl.c: Likewise.
18845 * commands/sleep.c: Not include machine/time.h.
18846 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18847 (COMMON_CFLAGS): Likewise.
18848 (sbin_UTILITIES): Remove grub-emu.
18849 (grub_emu_SOURCES): Removed.
18850 (kernel_img_RELOCATABLE): New variable.
18851 (pkglib_PROGRAMS): Add kernel.img.
18852 (kernel_img_SOURCES): New variable
18853 (kernel_img_CFLAGS): Likewise.
18854 (kernel_img_LDFLAGS): Likewise.
18855 (TARGET_NO_STRIP): Likewise.
18856 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18857 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18858 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18859 (grub-emu): New target.
18860 (GRUB_EMU): New variable.
18861 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18862 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18863 * loader/xnu.c: Likewise.
18864 * include/grub/pci.h: Likewise.
18865 * genemuinit.sh: New file.
18866 * genemuinitheader.sh: Likewise.
18867 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18868 Support TARGET_NO_DYNAMIC_MODULES.
18869 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18870 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18871 * disk/loopback.c: Likewise.
18872 * font/font_cmd.c: Likewise.
18873 * partmap/acorn.c: Likewise.
18874 * partmap/amiga.c: Likewise.
18875 * partmap/apple.c: Likewise.
18876 * partmap/gpt.c: Likewise.
18877 * partmap/msdos.c: Likewise.
18878 * partmap/sun.c: Likewise.
18879 * parttool/msdospart.c: Likewise.
18880 * term/gfxterm.c: Likewise.
18881 * video/bitmap.c: Likewise.
18882 * video/readers/jpeg.c: Likewise.
18883 * video/readers/png.c: Likewise.
18884 * video/readers/tga.c: Likewise.
18885 * video/video.c: Likewise.
18886 * util/grub-emu.c (read_command_list): Removed.
18887 (main): Don't call util_init_nls.
18888 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18889 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18890
91fdd2ed
VS
188912010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18892
18893 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18894 date.mod, datehook.mod.
18895 (datetime_mod_SOURCES): New variable.
18896 (datetime_mod_CFLAGS): Likewise.
18897 (datetime_mod_LDFLAGS): Likewise.
18898 (date_mod_SOURCES): Likewise.
18899 (date_mod_CFLAGS): Likewise.
18900 (date_mod_LDFLAGS): Likewise.
18901 (datehook_mod_SOURCES): Likewise.
18902 (datehook_mod_CFLAGS): Likewise.
18903 (datehook_mod_LDFLAGS): Likewise.
18904 * conf/sparc64-ieee1275.rmk: Likewise.
18905 * lib/ieee1275/datetime.c: New file.
18906
873ccae6
VS
189072010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18910 (ieee1275_fb_mod_SOURCES): New variable.
18911 (ieee1275_fb_mod_CFLAGS): Likewise.
18912 (ieee1275_fb_mod_LDFLAGS): Likewise.
18913 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18914 New proto.
18915 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18916 (HEAP_MAX_ADDR): Likewise.
18917 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18918 type.
18919 Correct stop condition.
18920 (grub_ieee1275_devices_iterate): New function.
18921 * video/ieee1275.c: New file.
18922
601c97c0
VS
189232010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18924
18925 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18926
18927 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18928 as scratch.
18929 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18930 SCRATCH_PAD_DISKBOOT as scratch.
18931 (bootit): Pass Openfirmware pointer in %o4.
18932 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18933 of 0x200000.
18934 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18935 with util/grub-mkrawimage.c.
18936 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18937 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18938 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18939 (grub_aout_load) [GRUB_UTIL]: Likewise.
18940 * include/grub/kernel.h (grub_modules_get_end): New proto.
18941 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18942 (SCRATCH_PAD_BOOT): New definition.
18943 (SCRATCH_PAD_DISKBOOT): Likewise.
18944 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18945 * include/grub/sparc64/ieee1275/ieee1275.h
18946 (grub_ieee1275_original_stack): New variable
18947 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18948 New definition
18949 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18950 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18951 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18952 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18953 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18954 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18955 (grub_platform_image_format_t): New type.
18956 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18957 * kern/main.c (grub_modules_get_end)
18958 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18959 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18960 (codestart): Switch stacks.
18961 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18962 variable.
18963 (grub_heap_init): Use grub_modules_get_end.
18964 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18965 stack.
18966 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18967 (main): Likewise.
18968 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18969
d68b491e
TG
189702010-03-14 Thorsten Glaser <tg@mirbsd.org>
18971
18972 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18973
4e02ed50
MK
189742010-03-08 Matt Kraai <kraai@ftbfs.org>
18975
18976 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18977 bug #559005).
18978
1f15fc1e
VS
189792010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18980
18981 * genmoddep.awk: Output all missing symbols and not only first.
18982
fce5d8ff
VS
189832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18984
18985 * NEWS: Put the date of 1.98 release.
18986
d1e8a02f
VS
189872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18988
18989 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18990 ft2build.h.
18991
696fd607
VS
189922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18993
18994 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18995 completition in the middle of string.
18996
33e2e6f3
VS
189972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18998
18999 * util/grub-mkrescue.in: Use mktemp with explicit template.
19000
b1f6d291
VS
190012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19002
19003 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19004
2ac227c7
VS
190052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19006
19007 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19008 right pointer.
19009
8f9a632b
VS
190102010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 Fix FreeBSD compilation.
19013
19014 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19015 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19016
60b03859
VS
190172010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19018
19019 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19020
48a5a769
VS
190212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19022
19023 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19024
3ab4bd77
VS
190252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19026
19027 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19028
d116e0d8
RM
190292010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19030
19031 Support relative image path in theme file.
19032
19033 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19034 (image_set_property): Handle theme_dir and relative path.
19035
c7ef54aa
VS
190362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * configure.ac: Alias amd64 to x86_64.
19039
fcee14ed
VS
190402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19041
19042 * NEWS: mention multiboot on EFI.
19043
d0780363
VS
190442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 * kern/main.c (grub_load_modules): Handle errors from init functions of
19047 embeded modules.
19048
41168ea4
VS
190492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * normal/autofs.c (autoload_fs_module): Handle errors.
19052
b54d93ac
VS
190532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 Disable linux.mod on qemu-mips since it's not functional and leads
19056 to compilation failure.
19057
19058 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19059 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19060 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19061 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19062 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19063 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19064 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19065 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19066 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19067 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19068 Reported by: BVK Chaitanya
19069
fc8345da
JU
190702010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19071
19072 * INSTALL: Add gettext as a dependency and add qemu to a new section
19073 "Prerequisites for make-check".
19074
4760f979
CF
190752010-03-04 Christian Franke <franke@computer.org>
19076
19077 * util/grub-pe2elf.c: Add missing include "progname.h".
19078
f209b5b2
VS
190792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * normal/crypto.c (read_crypto_list): Fix a typo.
19082 Reported by: Seth Goldberg.
19083
b4b7be98
VS
190842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19085
19086 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19087 Reported by: Seth Goldberg.
b4b7be98 19088
c0ee0385
VS
190892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19092 ascii.bitmaps.
19093
a8efbf64
VS
190942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19097 Reported by: Seth Goldberg.
a8efbf64 19098
08dcd913
VS
190992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19100
19101 * util/i386/efi/grub-install.in: Copy gettext files.
19102
c4d0b332
VS
191032010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19106
c6f2fe52
VS
191072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 Wait for user entry basing on presence of output rather than on errors.
19110
19111 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19112 (grub_install_newline_hook): Likewise.
19113 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19114 * normal/menu.c (show_menu): Check line_counter to determine presence
19115 of output.
19116 * normal/term.c (grub_normal_line_counter): New variable.
19117 (grub_normal_get_line_counter): New function.
19118 (grub_install_newline_hook): Likewise.
19119
5382b1e4
VS
191202010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19123
5519963b
VS
191242010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 * configure.ac: Update version to 1.98.
19127
72b28631
VS
191282010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 * util/grub.d/10_linux.in (linux_entry): Don't default to
19131 gfxpayload=keep if Linux doesn't support video handover.
19132
c140a180
VS
191332010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 Don't compile video modules on yeeloong since video subsystem is part
19136 of kernel.
19137
19138 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19139 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19140 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19141 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19142 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19143 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19144 * include/grub/bitmap_scale.h: Likewise.
19145 * include/grub/bufio.h: Likewise.
19146 * include/grub/font.h: Likewise.
19147 * include/grub/gfxterm.h: Likewise.
19148 * include/grub/video.h: Likewise.
19149 * include/grub/vbe.h: Don't include video_fb.h.
19150 * video/i386/pc/vbe.c: Include video_fb.h.
19151 * commands/i386/pc/vbetest.c: Include video.h.
19152
a0ca21c2
CW
191532010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19154
19155 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19156 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19157 default entry if GRUB_SAVEDEFAULT=true. This allows using
19158 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19159 saving a new default on every boot.
19160
4a8a763c
VS
191612010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19164 * normal/term.c (read_terminal_list): Likewise.
19165 * normal/main.c (grub_normal_init_page): Likewise.
19166 (grub_normal_read_line_real): Likewise.
19167
607ffde2
VS
191682010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19171 memory leak.
19172 Reported by: Seth Goldberg.
19173
2b8fa975
CW
191742010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19175
19176 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19177 duplicate declaration of `start'.
19178
618307dd
VS
191792010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19180
19181 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19182 filename.
19183 Reported by: Georgy Buranov
19184
7dd05b96 191852010-02-20 Carles Pina i Estany <carles@pina.cat>
19186
19187 * util/grub-mkrawimage.c (usage): Change string formatting to
19188 improve gettext.
19189
d1484a42
MRA
191902010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19191
19192 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19193 backspace keys.
19194
42b1d186
VS
191952010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19196
19197 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19198 Reported by: Michael Suchanek.
19199
192002010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19201
19202 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19203 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19204
d9f31a41
VS
192052010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19206
19207 Remove any reference to non-free fonts.
19208
19209 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19210 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19211 uses non-free components.
19212 * font/font.c (grub_font_get_name): Remove example name.
19213 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19214 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19215 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19216 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19217
2793c71e
GB
192182010-02-16 Georgy Buranov <gburanov@gmail.com>
19219
19220 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19221
402e3779
VS
192222010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19223
19224 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19225 Double divisor.
19226 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19227 features.
19228 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19229
0dd1e0dd
VS
192302010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19233
6fa7cfce
ST
192342010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19235
19236 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19237 * docs/grub.texi (Command-line and menu entry commands): Document play
19238 command.
19239
37c8483b
ST
192402010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19241
19242 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19243 parse arguments as inline tempo and notes. Move code for playing notes
19244 to...
19245 (play): ... new function.
19246
14da0fb7
ST
192472010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19248
19249 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19250 grub_uint16_t instead of short.
19251 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19252 disk from little endian to cpu endianness.
19253
04459e70
ST
192542010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19255
19256 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19257 GRUB_TICKS_PER_SECOND instead of 120.
19258
a0876943
VS
192592010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19260
19261 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19262 escape sequence after \e.
19263
e29f95dc
VS
192642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19265
19266 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19267 non-ASCII characters.
19268
d27859b2
VS
192692010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19272 set root in single quotes to prevent \, from being unescaped.
19273
bc028f2f
VS
192742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19275
19276 Prevent unknown commands from stopping menuentry execution.
19277
19278 * script/execute.c (grub_script_execute_cmdline): Print error after
19279 unknown command.
19280
095f5f82
VS
192812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19284 Reported by: Pavel Pisa.
19285
8c717950
VS
192862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19287
19288 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19289
904935c3
VS
192902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 Merge grub_ieee1275_map_physical into grub_map and rename to
19293 grub_ieee1275_map
19294
19295 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19296 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19297 Remove.
19298 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19299 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19300 necessary.
19301 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19302
5b59a4e3
VS
193032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19306 opening and not after.
19307
69e137e8
VS
193082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19311 constants.
19312
2c0fcc36
VS
193132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19316 (alloc_phys): Use ALIGN_UP instead of align_addr.
19317
8c6052ce
VS
193182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19321
17cec782
VS
193222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19325
e0128bbd
VS
193262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19329 verbose dprintf.
19330
ca62070b
VS
193312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 Fix over-4GiB seek on sparc64.
19334
19335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19336 Replace pos_i and pos_lo with pos. All users updated.
19337 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19338 New constant.
19339 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19340 Likewise.
19341 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19342 and pos_lo.
19343
bdca2607
VS
193442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19345
19346 * util/grub-mkrawimage.c (main): Call set_program_name.
19347
da278c4d
VS
193482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 Properly align 64-bit targets.
19351
19352 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19353 (generate_image): Use ALIGN_ADDR.
19354
b274d734
VS
193552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19356
19357 Properly create cross-endian images.
19358
19359 * include/grub/types.h (grub_host_to_target_addr): New macro
19360 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19361
82da2062
VS
193622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19365
7cae4377
VS
193662010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19369
19370 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19371 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19372 (grub_linux_boot): Divide by 64K when on VESA.
19373
65a533e7
VS
193742010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 Support GRUB_GFXPAYLOAD_LINUX.
19377
19378 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19379 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19380
dd01d397
VS
193812010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19384 to show messages instead of discarding them.
19385 Process errors after executing command and not before. Keep old method
19386 too as precaution.
19387
660960d6
VS
193882010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19389
19390 * configure.ac: Check for ft2build.h.
19391
62509f04
VS
193922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19395
473df63d
VS
193962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 * genkernsyms.sh.in: Use TARGET_CC.
19399
c98d2a13
CW
194002010-02-07 Colin Watson <cjwatson@ubuntu.com>
19401
19402 * NEWS: Update.
19403
6e14234c
VS
194042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19405
19406 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19407 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19408 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19409
b255e9cf
YB
194102010-02-07 Yves Blusseau <blusseau@zetam.org>
19411
6e14234c 19412 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19413
98e6959d
VS
194142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 Fix warnings in grub-emu when compiling with maximum warning options.
19417
19418 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19419 (grub_arch_modules_addr): Return 0 and not NULL.
19420 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19421 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19422 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19423 of disk to dsk to avoid shadowing.
74e4934e
VS
19424 (find_free_slot): Fix prototype.
19425 * util/getroot.c (grub_util_is_dmraid): Make static.
19426 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19427 Add missing prototype.
19428 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19429
74e31b5c
VS
194302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19433 appropriately.
19434
6b2ad14b
VS
194352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19438 code out.
19439
8f891adc
VS
194402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19443 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19444 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19445 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19446 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19447 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19448
74b45184
VS
194492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * include/grub/err.h (grub_err_printf): Don't export.
19452
a4bced77
VS
194532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19456
007d0695
VS
194572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19458
19459 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19460 * kern/misc.c (grub_gettext_dummy): Make static.
19461
b6c0d9c2
VS
194622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19465 by non-valid ones.
19466 * kern/term.c (grub_putchar): Likewise.
19467
f51a90d0
VS
194682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19471 buggy hook call and memory leak.
19472
6846cec5
VS
194732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19476
468d69fe
VS
194772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19478
19479 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19480
51906b8c
VS
194812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19482
19483 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19484 modevar.
19485 Return grub_errno on allocation error.
19486
09706ce5
VS
194872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19490
911df80c
YB
194912010-02-06 Yves Blusseau <blusseau@zetam.org>
19492
19493 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19494 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19495
3746a6bc
VS
194962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19497
19498 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19499 non-pxe disk.
19500 (grub_pxefs_open): Likewise.
19501
09706ce5
VS
195022010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19503
19504 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19505 * util/grub.d/10_kfreebsd.in: Likewise.
19506 * util/grub.d/10_linux.in: Likewise.
19507
7cc192d9
VS
195082010-02-06 Colin D Bennett <colin@gibibit.com>
19509
19510 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19511 (gfxmenu_mod_SOURCES): New variable.
19512 (gfxmenu_mod_CFLAGS): Likewise.
19513 (gfxmenu_mod_LDFLAGS): Likewise.
19514 * include/grub/term.h (grub_term_set_current_output): Declare
19515 argument as const.
19516 * docs/gfxmenu-theme-example.txt: New file.
19517 * gfxmenu/gfxmenu.c: Likewise.
19518 * gfxmenu/gui_box.c: Likewise.
19519 * gfxmenu/gui_canvas.c: Likewise.
19520 * gfxmenu/gui_circular_progress.c: Likewise.
19521 * gfxmenu/gui_image.c: Likewise.
19522 * gfxmenu/gui_label.c: Likewise.
19523 * gfxmenu/gui_list.c: Likewise.
19524 * gfxmenu/gui_progress_bar.c: Likewise.
19525 * gfxmenu/gui_string_util.c: Likewise.
19526 * gfxmenu/gui_util.c: Likewise.
19527 * gfxmenu/icon_manager.c: Likewise.
19528 * gfxmenu/model.c: Likewise.
19529 * gfxmenu/named_colors.c: Likewise.
19530 * gfxmenu/theme_loader.c: Likewise.
19531 * gfxmenu/view.c: Likewise.
19532 * gfxmenu/widget-box.c: Likewise.
19533 * include/grub/gfxmenu_model.h: Likewise.
19534 * include/grub/gfxmenu_view.h: Likewise.
19535 * include/grub/gfxwidgets.h: Likewise.
19536 * include/grub/gui.h: Likewise.
19537 * include/grub/gui_string_util.h: Likewise.
19538 * include/grub/icon_manager.h: Likewise.
19539
195402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 Agglomerate scrolling in gfxterm.
19543
19544 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19545 (grub_virtual_screen_setup): Initialise 'total_screen'.
19546 (write_char): Split to ...
19547 (paint_char): ... this ...
19548 (write_char): ... and this.
19549 (paint_char): Handle delayed scrolling.
19550 (draw_cursor): Likewise.
19551 (scroll_up): Split to ...
19552 (real_scroll): ... this ...
19553 (scroll_up): ... and this.
19554 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19555 characters.
19556 (grub_gfxterm_refresh): Call real_scroll.
19557
195582010-02-06 Colin D Bennett <colin@gibibit.com>
19559
19560 * include/grub/misc.h (grub_iscntrl): New inline function.
19561 (grub_isalnum): Likewise.
19562 (grub_strtol): Likewise.
19563
195642010-02-06 Colin D Bennett <colin@gibibit.com>
19565
19566 * normal/menu_text.c (get_entry_number): Move from here ...
19567 * normal/menu.c (get_entry_number): ... moved here.
19568 * include/grub/menu.h (grub_menu_get_default_entry_index):
19569 New prototype.
19570 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19571 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19572 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19573 (grub_menu_viewer_should_return): Likewise.
19574 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19575 * normal/menu_text.c (run_menu): Enable menu switching.
19576 * normal/menu_viewer.c (should_return): New variable.
19577 (menu_viewer_changed): Likewise.
19578 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19579 (grub_menu_viewer_should_return): New function.
19580 (menuviewer_write_hook): Likewise.
19581 (grub_menu_viewer_init): Likewise.
19582
195832010-02-06 Colin D Bennet <colin@gibibit.com>
195842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19585
19586 Support for gfxterm in a window.
19587
19588 * include/grub/gfxterm.h: New file.
19589 * include/grub/video.h (struct grub_video_rect): New declaration.
19590 (grub_video_rect_t): Likewise.
19591 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19592 (refcount): New variable.
19593 (render_target): Likewise.
19594 (window): Likewise.
19595 (repaint_callback): Likewise.
19596 (grub_virtual_screen_setup): Use 'render_target'.
19597 (init_window): New function.
19598 (grub_gfxterm_init_window): Likewise.
19599 (grub_gfxterm_init): Check reference counter.
19600 Use init_window.
19601 (destroy_window): New function.
19602 (grub_gfxterm_destroy_window): Likewise.
19603 (grub_gfxterm_fini): Check reference counter.
19604 Use destroy_window.
19605 (redraw_screen_rect): Restore viewport.
19606 Use 'render_target' and 'window'.
19607 Call 'repaint_callback'.
19608 (write_char): Use 'render_target'.
19609 (draw_cursor): Likewise.
19610 (scroll_up): Restore viewport.
19611 Use 'render_target' and 'window'.
19612 Call 'repaint_callback'.
19613 (grub_gfxterm_cls): Likewise.
19614 (grub_gfxterm_refresh): Use 'window'.
19615 (grub_gfxterm_set_repaint_callback): New function.
19616 (grub_gfxterm_background_image_cmd): Use 'window'.
19617 (grub_gfxterm_get_term): New function.
19618 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19619
196202010-02-06 Colin D Bennett <colin@gibibit.com>
19621
19622 Bitmap scaling support.
19623
19624 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19625 (bitmap_scale_mod_SOURCES): New variable.
19626 (bitmap_scale_mod_CFLAGS): Likewise.
19627 (bitmap_scale_mod_LDFLAGS): Likewise.
19628 * include/grub/bitmap_scale.h: New file.
19629 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19630 (background_image_cmd_options): New variable.
19631 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19632 (cmd): Rename and change type to ...
19633 (background_image_cmd_handle): ... this. All users updated.
19634 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19635 * video/bitmap_scale.c: New file.
19636
196372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 SDL support.
19640
19641 * Makefile.in (LIBSDL): New variable.
19642 (enable_grub_emu_sdl): Likewise.
19643 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19644 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19645 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19646 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19647 * util/sdl.c: New file.
19648
196492010-02-06 Colin D Bennett <colin@gibibit.com>
196502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19651
19652 Double buffering support.
19653
19654 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19655 * include/grub/video.h: Update comment.
19656 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19657 New type.
19658 (grub_video_fb_doublebuf_blit_init): New prototype.
19659 * term/gfxterm.c (scroll_up): Support double buffering.
19660 (grub_gfxterm_refresh): Likewise.
19661 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19662 (grub_video_fb_doublebuf_blit_init): Likewise.
19663 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19664 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19665 'displayed_page', 'render_page' and 'update_screen'.
19666 (grub_video_vbe_fini): Free offscreen buffer.
19667 (doublebuf_pageflipping_commit): New function.
19668 (doublebuf_pageflipping_update_screen): Likewise.
19669 (doublebuf_pageflipping_init): Likewise.
19670 (double_buffering_init): Likewise.
19671 (grub_video_vbe_setup): Enable doublebuffering.
19672 (grub_video_vbe_swap_buffers): Implement.
19673 (grub_video_vbe_set_active_render_target): Handle double buffering.
19674 (grub_video_vbe_get_active_render_target): Likewise.
19675 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19676 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19677 (grub_video_vbe_enable_double_buffering): Likewise.
19678 (grub_video_vbe_swap_buffers): Use update_screen.
19679 (grub_video_set_mode): Use double buffering.
19680
196812010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19682
19683 * maintainance/gentrigtables.py: Remove.
19684 * lib/trig.c: Likewise.
19685
19686 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19687
19688 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19689 `trigtables.c'.
19690 (trigtables.c): New rule.
19691 (gentrigtables): Likewise.
19692 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19693
196942010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19695
19696 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19697 integer constants.
19698
196992010-02-06 Colin D Bennet <colin@gibibit.com>
19700
19701 Trigonometry support.
19702
19703 * include/grub/trig.h: New file.
19704 * lib/trig.c: Likewise.
19705 * maintainance/gentrigtables.py: Likewise.
19706 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19707 (trig_mod_SOURCES): New variable.
19708 (trig_mod_CFLAGS): Likewise.
19709 (trig_mod_LDFLAGS): Likewise.
19710
5562834e
VS
197112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19714 disk devices.
19715
4f8528fc
VS
197162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19719 error.
19720
2b4068e9
VS
197212010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 * util/hostdisk.c (open_device): Don't use partition device when reading
19724 before the partition.
19725 (grub_util_biosdisk_read): Don't read from partition and before the
19726 partition in single operation.
19727 (grub_util_biosdisk_write): Don't write to partition and before the
19728 partition in single operation.
19729
399f6e4d
TL
197302010-02-03 Torsten Landschoff <torsten@debian.org>
19731
19732 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19733 last sectors.
19734
996649b0
VS
197352010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19738 CDROM reads.
19739 (grub_biosdisk_write): Refuse to write to CDROM.
19740
3b205d4d
VS
197412010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19742
19743 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19744
61e89d9d
VS
197452010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 * font/font.c (find_glyph): Check that bmp_idx is available before
19748 using it.
19749 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19750 with (font == NULL).
19751
bf7fcba2
CS
197522010-01-28 Christian Schmitt <chris@ilovelinux.de>
19753
19754 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19755
f45d2663
BC
197562010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19757
19758 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19759 * util/grub-script-check.c (getline): Fix empty lines case.
19760
ec1444e6
RM
197612010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19762
19763 * Makefile.in (check): Exit with fail status when one of the tests
19764 fails.
19765 * tests/example_functional_test.c (example_test): Fix reversed assert.
19766 * tests/example_unit_test.c (example_test): Likewise.
19767
2e1cb9bb
CW
197682010-01-28 Colin Watson <cjwatson@ubuntu.com>
19769
19770 * util/grub.d/10_linux.in: This script does not use any of the
19771 contents of gettext.sh, only the external command `gettext', so stop
19772 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19773 the same prefix as GRUB.)
19774 * util/grub.d/10_kfreebsd.in: Likewise.
19775
63533ab0
VS
197762010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19779 of the line.
19780
989e1f93
VS
197812010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19782
19783 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19784 last sectors.
19785
e709ebe2
VS
197862010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19787
19788 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19789 having a 4KiB and not 32KiB buffer size.
19790
27dea7ed
RM
197912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19792
19793 * util/hostfs.c: Include `<errno.h>'.
19794 (grub_hostfs_read): Handle errors from fseeko() and fread().
19795
67667b9c
RM
197962010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19797
19798 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19799 loop when using read hooks on files whose size isn't sector-aligned.
19800
c294d9d8
RM
198012010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19802
19803 Remove unused parameter.
19804
19805 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19806 (grub_iso9660_open): Remove initialization of `data->length'.
19807
af75a9f1
RM
198082010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19809
19810 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19811 memleak conditions.
19812
254e2ce5 198132010-01-27 Carles Pina i Estany <carles@pina.cat>
19814
19815 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19816 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19817
b510928c 198182010-01-26 Carles Pina i Estany <carles@pina.cat>
19819
19820 * util/bin2h.c (usage): Fix warning (space after backslash).
19821
aa2f9dd2 198222010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19823
19824 * font/font.c: Include `grub/fontformat.h.
19825 Remove font file format constants.
19826 (grub_font_load): Use the new macros.
19827 * include/grub/fontformat.h: New file.
19828 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19829 (write_font_pf2): Use the new macros.
19830
94e7e712
RM
198312010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19832
19833 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19834 does.
19835
3973a59a
RM
198362010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19837
19838 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19839
19840 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19841 (_start): Macroify `0x7F'.
19842
19843 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19844 (make_install_device): Use "(pxe)" as fallback prefix when booting
19845 via PXE.
19846
42e0cba3
GS
198472010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19848
19849 * configure.ac: Reset LIBS after check for libgcc symbols.
19850
847effd8
CW
198512010-01-25 Colin Watson <cjwatson@ubuntu.com>
19852
19853 * util/hostdisk.c (open_device): Add trailing newline to debug
19854 message.
19855
ea4a7e35
GS
198562010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19857
19858 * configure.ac: Check for `limits.h'.
19859 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19860
67951a53
RM
198612010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19862
19863 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19864 capitalize error strings.
19865
c273d4ce
ST
198662010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19867
19868 * util/grub.d/10_hurd.in: Add a recovery mode.
19869
69be5b74
VS
198702010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * configure.ac: Check for libgcc symbols with -nostdlib.
19873
fc9e5810
BC
198742010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19875
19876 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19877
4b358c0a
VS
198782010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19881 stack since heap may be unavailable at that point.
19882 (grub_ofconsole_gotoxy): Likewise.
19883
454fcd1c
VS
198842010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * configure.ac: Check for _restgpr_14_x.
19887 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19888 and _savegpr_* prototypes.
19889
566863ca
RM
198902010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19891
19892 Use generic grub_reboot() for i386-efi.
19893
19894 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19895 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19896 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19897
bf86e59a
VS
198982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19901 presence of "prefix" variable as it breaks when normal.mod is
19902 embedded.
19903
d645e0f8
VS
199042010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19905
19906 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19907 stack since heap is unavailable at that point.
19908
f9ab2e25
VS
199092010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19910
19911 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19912 (grub_freebsd_bootinfo): Rewritten.
19913 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19914
01fc7054
VS
199152010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19916
19917 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19918
caab4fd6
RM
199192010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19920
19921 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19922 domain now.
19923
67eb1427
FZ
199242010-01-20 Felix Zielcke <fzielcke@z-51.de>
19925
19926 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19927 around for handling "/" to the correct fix. Fix a memory leak. Use
19928 xstrdup instead of strdup.
19929
a9ed4ff3
VS
199302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19933
199342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19935
19936 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19937
19938 * font/font.c (struct grub_font): New member 'bmp_idx'.
19939 (font_init): Initialise 'bmp_idx'.
19940 (load_font_index): Fill 'bmp_idx'.
19941 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19942
48209f4f
VS
199432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19944
19945 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19946 unnecessary calls.
19947
9f0a4bb7
VS
199482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19949
19950 Move context handling out of the kernel.
19951
19952 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19953 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19954 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19955 * conf/i386-efi.rmk: Likewise.
19956 * conf/i386-ieee1275.rmk: Likewise.
19957 * conf/i386-pc.rmk: Likewise.
19958 * conf/powerpc-ieee1275.rmk: Likewise.
19959 * conf/sparc64-ieee1275.rmk: Likewise.
19960 * conf/x86_64-efi.rmk: Likewise.
19961 * include/grub/env.h: Include grub/menu.h.
19962 (grub_env_var_type): Removed.
19963 (grub_env_var): Replaced field 'type' with 'global'.
19964 (grub_env_find): New prototype.
19965 (grub_env_context_open): Remove EXPORT_FUNC.
19966 (grub_env_context_close): Likewise.
19967 (grub_env_export): Likewise.
19968 (grub_env_set_data_slot): Removed.
19969 (grub_env_get_data_slot): Likewise.
19970 (grub_env_unset_data_slot): Likewise.
19971 (grub_env_unset_menu): New prototype.
19972 (grub_env_set_menu): Likewise.
19973 (grub_env_get_menu): Likewise.
19974 * include/grub/env_private.h: New file.
19975 * include/grub/normal.h (grub_context_init): New prototype.
19976 (grub_context_fini): Likewise.
19977 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19978 * normal/context.c (grub_cmd_export): ... to here.
19979 * kern/env.c: Include env_private.h.
19980 (HASHSZ): Moved to include/grub/env_private.h.
19981 (grub_env_context): Likewise.
19982 (grub_env_sorted_var): Likewise.
19983 (current_context): Renamed from this ...
19984 (grub_current_context): ...to this. 'static' removed. All users updated.
19985 (grub_env_find): Removed 'static'.
19986 (grub_env_context_open): Moved to normal/context.c.
19987 (grub_env_context_close): Likewise.
19988 (grub_env_export): Likewise.
19989 (mangle_data_slot_name): Removed.
19990 (grub_env_set_data_slot): Likewise.
19991 (grub_env_get_data_slot): Likewise.
19992 (grub_env_unset_data_slot): Likewise.
19993 * kern/main.c (grub_set_root_dev): Don't export root.
19994 It will be done later.
19995 (grub_main): Don't export prefix.
19996 It will be done later.
19997 * normal/context.c: New file.
19998 * normal/main.c (free_menu): Use grub_env_unset_menu.
19999 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20000 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20001 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20002 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20003
8dd35b8c
VS
200042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 setpci support.
20007
20008 * commands/setpci.c: New file.
20009 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20010 (setpci_mod_SOURCES): New variable.
20011 (setpci_mod_CFLAGS): Likewise.
20012 (setpci_mod_LDFLAGS): Likewise.
20013
449193d5
VS
200142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20015
20016 Byte-addressable PCI configuration space.
20017
20018 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20019 dword address.
20020 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20021 GRUB_PCI_REG_CACHELINE.
20022 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20023 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20024 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20025 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20026 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20027 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20028 grub_pci_make_address.
20029 (lock_rom_area): Likewise.
20030 * commands/lspci.c (grub_lspci_iter): Use macroses
20031 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20032 of grub_pci_make_address.
20033 * disk/ata.c (grub_ata_pciinit): Likewise.
20034 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20035 (GRUB_PCI_REG_VENDOR): Likewise.
20036 (GRUB_PCI_REG_DEVICE): Likewise.
20037 (GRUB_PCI_REG_COMMAND): Likewise.
20038 (GRUB_PCI_REG_STATUS): Likewise.
20039 (GRUB_PCI_REG_REVISION): Likewise.
20040 (GRUB_PCI_REG_CLASS): Likewise.
20041 (GRUB_PCI_REG_CACHELINE): Likewise.
20042 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20043 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20044 (GRUB_PCI_REG_BIST): Likewise.
20045 (GRUB_PCI_REG_ADDRESSES): Likewise.
20046 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20047 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20048 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20049 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20050 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20051 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20052 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20053 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20054 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20055 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20056 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20057 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20058 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20059 (GRUB_PCI_REG_MIN_GNT): Likewise.
20060 (GRUB_PCI_REG_MAX_LAT): Likewise.
20061 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20062 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20063 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20064 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20065 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20066 space.
20067
96d73208
RM
200682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20069
20070 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20071 can be reliably determined to be supported.
20072
d4484482
RM
200732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20074
20075 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20076 that VESA is supported.
20077 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20078 supported.
20079
00308ecf
VS
200802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20081
20082 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20083
f66924a4
RM
200842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20085
20086 * util/misc.c (make_system_path_relative_to_its_root): Work around
20087 special-casing of "/", as previous incarnation of this routine did.
20088
cbca0ada
VS
200892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 Fix any-emu compilation.
20092
20093 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20094 * grub_bin2h_SOURCES: New variable.
20095
34a66d99
RM
200962010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20097
20098 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20099
94fabf58
RM
201002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20101
20102 * util/grub.d/00_header.in: Fix handling of locale_dir.
20103
02cf98ca
VS
201042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20105
20106 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20107 as possible unifont location (Gentoo).
20108 Reported by: Alexander Brüning
20109
327dbcd7
VS
201102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 Don't try to generate lists for kernel.img.
20113
20114 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20115 (pkglib_MODULES): Remove kernel.img.
20116 (kernel_img_EXPORTS): Removed.
20117 (kernel_img_RELOCATABLE): New variable.
20118 * conf/x86_64-efi.rmk: Likewise.
20119 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20120
ca467290
VS
201212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20124 grub_xasprintf or grub_snprintf.
20125 (grub_vsprintf): Likewise.
20126 (grub_snprintf): New proto.
20127 (grub_vsnprintf): Likewise.
20128 (grub_xasprintf): Likewise.
20129 (grub_xvasprintf): Likewise.
20130 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20131 (grub_sprintf): Removed.
20132 (grub_vsnprintf): New function.
20133 (grub_snprintf): Likewise.
20134 (grub_xvasprintf): Likewise.
20135 (grub_xasprintf): Likewise.
20136 (grub_vsprintf): Renamed to ...
20137 (grub_vsnprintf_real): ...this. New argument max_len.
20138
aca655fd
BC
201392010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20140
20141 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20142 fix grub-script-check warning.
20143
7ee92c32
VS
201442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 * include/grub/font.h (grub_font_load): Fix prototype.
20147
f80927ca
VS
201482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20151
119c50ea
VS
201522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * include/grub/x86_64/at_keyboard.h: New file.
20155
47d5f3c1
VS
201562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * loader/mips/linux.c: Include missing grub/i18n.h.
20159
55ff5266
RM
201602009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20161
20162 * normal/menu.c (notify_execution_failure): Clarify error message.
20163
c893cc87
RM
201642009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20165
20166 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20167 return value (and revert all return statements). Update users.
20168
917dd370
CW
201692010-01-20 Dan Merillat <debian@dan.merillat.org>
20170
20171 * kern/device.c (grub_device_iterate): Allocate new part_ent
20172 structure based on sizeof (*p) rather than sizeof (p->next), to
20173 account for structure padding.
20174
20175 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20176 disk is NULL, which might happen for LVM physical volumes with no
20177 LVM signature.
20178
d4a4ee57
RM
201792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20180
20181 * loader/mips/linux.c (grub_cmd_initrd)
20182 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20183
201842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20185
20186 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20187 (grub_video_video_init, grub_video_bitmap_init)
20188 (grub_font_manager_init, grub_term_gfxterm_init)
20189 (grub_at_keyboard_init): New extern declarations.
20190 (grub_machine_init): Initialize gfxterm and at_keyboard.
20191
20192 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20193
20194 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20195 `gfxterm.mod' into core image.
20196
20197 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20198 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20199 (kernel_img_FORMAT): Copy to ...
20200
20201 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20202 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20203 (kernel_img_FORMAT): ... here, and ...
20204
20205 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20206 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20207 (kernel_img_FORMAT): ... here.
20208
20209 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20210 and input (at_keyboard) terminals in kernel.
20211 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20212
20213 (pkglib_MODULES): Remove `pci.mod'.
20214 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20215 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20216 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20217 (at_keyboard_mod_LDFLAGS): Remove variables.
20218
202192010-01-11 Felix Zielcke <fzielcke@z-51.de>
20220
20221 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20222
202232009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20224
20225 * include/grub/mips/libgcc.h: Only export symbols for functions
20226 that libgcc provides.
20227
202282009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 MIPS support.
20231
20232 * bus/bonito.c: New file.
20233 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20234 GRUB_PCI_NUM_DEVICES.
20235 * term/i386/pc/serial.c: Move to ...
20236 * term/serial.c: ... here. All users updated.
20237 * util/i386/pc/grub-mkimage.c: Move to ...
20238 * util/grub-mkrawimage.c: ... here. All users updated.
20239 * term/i386/pc/at_keyboard.c: Move to ...
20240 * term/at_keyboard.c: ... here. All users updated.
20241 * conf/mips-qemu-mips.rmk: New file.
20242 * conf/mips-yeeloong.rmk: Likewise.
20243 * conf/mips.rmk: Likewise.
20244 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20245 mipsel-qemu-mips.
20246 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20247 to port addresses.
20248 (grub_ata_pciinit): Support CS5536.
20249 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20250 * font/font_cmd.c (loadfont_command): Open file before passing it to
20251 grub_font_load.
20252 (pseudo_file_read): New function.
20253 (pseudo_file_close): Likewise.
20254 (pseudo_fs): New structure.
20255 (load_font_module): New function.
20256 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20257 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20258 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20259 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20260 * include/grub/i386/at_keyboard.h: Split into ...
20261 * include/grub/at_keyboard.h: ... this ...
20262 * include/grub/i386/at_keyboard.h: ... and this.
20263 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20264 New prototype.
20265 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20266 updated.
20267 (grub_elf64_size): Likewise.
20268 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20269 filename.
20270 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20271 * include/grub/i386/coreboot/serial.h: Rewritten.
20272 * include/grub/i386/ieee1275/serial.h: Include
20273 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20274 * include/grub/i386/pc/serial.h: Moved from here ...
20275 * include/grub/serial.h: ... to here. All users updated.
20276 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20277 (GRUB_PCI_NUM_BUS): Likewise.
20278 (GRUB_PCI_NUM_DEVICES): Likewise.
20279 (grub_pci_device_map_range): Add missing volatile keyword.
20280 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20281 * include/grub/mips/at_keyboard.h: New file.
20282 * include/grub/mips/cache.h: Likewise.
20283 * include/grub/mips/io.h: Likewise.
20284 * include/grub/mips/kernel.h: Likewise.
20285 * include/grub/mips/libgcc.h: Likewise.
20286 * include/grub/mips/pci.h: Likewise.
20287 * include/grub/mips/qemu-mips/boot.h: Likewise.
20288 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20289 * include/grub/mips/qemu-mips/loader.h: Likewise.
20290 * include/grub/mips/qemu-mips/memory.h: Likewise.
20291 * include/grub/mips/qemu-mips/serial.h: Likewise.
20292 * include/grub/mips/qemu-mips/time.h: Likewise.
20293 * include/grub/mips/relocator.h: Likewise.
20294 * include/grub/mips/time.h: Likewise.
20295 * include/grub/mips/types.h: Likewise.
20296 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20297 * include/grub/mips/yeeloong/boot.h: Likewise.
20298 * include/grub/mips/yeeloong/kernel.h: Likewise.
20299 * include/grub/mips/yeeloong/loader.h: Likewise.
20300 * include/grub/mips/yeeloong/memory.h: Likewise.
20301 * include/grub/mips/yeeloong/pci.h: Likewise.
20302 * include/grub/mips/yeeloong/serial.h: Likewise.
20303 * include/grub/mips/yeeloong/time.h: Likewise.
20304 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20305 * kern/elf.c (grub_elf32_size): New parameter. All users
20306 updated.
20307 (grub_elf64_size): Likewise.
20308 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20309 Load modules before saying "Welcome to GRUB!".
20310 Call grub_refresh after saying "Welcome to GRUB!".
20311 * kern/mips/cache.S: New file.
20312 * kern/mips/cache_flush.S: Likewise.
20313 * kern/mips/dl.c: Likewise.
20314 * kern/mips/init.c: Likewise.
20315 * kern/mips/qemu-mips/init.c: Likewise.
20316 * kern/mips/startup.S: Likewise.
20317 * kern/mips/yeeloong/init.c: Likewise.
20318 * kern/term.c (grub_putcode): Handle NULL terminal.
20319 (grub_getcharwidth): Likewise.
20320 (grub_getkey): Likewise.
20321 (grub_checkkey): Likewise.
20322 (grub_getkeystatus): Likewise.
20323 (grub_getxy): Likewise.
20324 (grub_getwh): Likewise.
20325 (grub_gotoxy): Likewise.
20326 (grub_cls): Likewise.
20327 (grub_setcolorstate): Likewise.
20328 (grub_setcolor): Likewise.
20329 (grub_getcolor): Likewise.
20330 (grub_refresh): Likewise.
20331 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20332 (write_jump): Add hatch nop.
20333 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20334 * lib/mips/setjmp.S: New file.
20335 * loader/mips/linux.c: Likewise.
20336 * term/i386/pc/at_keyboard.c: Move from here ...
20337 * term/at_keyboard.c: ... to here.
20338 * term/i386/pc/serial.c: Moved from here ...
20339 * term/serial.c: ... to here. All users updated.
20340 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20341 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20342 (serial_translate_key_sequence): Avoid deadlock.
20343 (grub_serial_getkey): Handle backspace.
20344 (grub_serial_putchar): Fix newline handling.
20345 * util/i386/pc/grub-mkimage.c: Move from here ...
20346 * util/grub-mkrawimage.c: ... to here. All users updated.
20347 (generate_image): New parameters 'font_path' and 'format'.
20348 Support embedding font.
20349 Use grub_host_to_target* instead of grub_cpu_to_le*.
20350 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20351 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20352 (options): New option "--font".
20353 (usage): Likewise.
20354 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20355 (main): Handle "--font".
20356 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20357 (grub_virtual_screen_setup): Set bg_color_display.
20358 (redraw_screen_rect): Use bg_color_display instead of incorrect
20359 bg_color.
20360 (grub_gfxterm_cls): Likewise.
20361 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20362 Support embedding config file.
20363 (add_segments): Likewise.
20364 (options): New option "--config".
20365 (main): Handle "--config".
20366 * video/sm712.c: New file.
20367
25c2b5b3
RM
203682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20369
20370 Fix parallel builds.
20371
20372 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20373 font.c depend on ascii.h).
20374
203752010-01-12 Carles Pina i Estany <carles@pina.cat>
20376
20377 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20378
203792010-01-11 Carles Pina i Estany <carles@pina.cat>
20380
20381 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20382 By default: disabled.
20383 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20384 parameter.
20385
203862010-01-10 Carles Pina i Estany <carles@pina.cat>
20387
20388 * font/font.c: Update copyright years.
20389 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20390
203912010-01-10 Carles Pina i Estany <carles@pina.cat>
20392
20393 * font/font.c: Include `ascii.h'.
20394 (ASCII_BITMAP_SIZE): New macro.
20395 (ascii_font_glyph): Define.
20396 (ascii_glyph_lookup): New function.
20397 (grub_font_get_string_width): Change comment. If glyph not found, use
20398 ascii_glyph_lookup.
20399 (grub_font_get_glyph_with_fallback): If glyph not available returns
20400 ascii_glyph_lookup.
20401 * util/grub-mkfont.c (file_formats): New enum.
20402 (options): Add `ascii-bitmaps' new option.
20403 (usage): Add `asii-bitmaps' new option.
20404 (write_font_ascii_bitmap): New function.
20405 (write_font): Rename to ...
20406 (write_font_p2): ... this. Remove print_glyphs call.
20407 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20408 used. Call print_glyphs.
20409 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20410
204112010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20412
20413 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20414 (grub_bin2h_SOURCES): New variable.
20415 * util/bin2h.c: New file.
20416
915fc1b8
VS
204172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 * include/multiboot.h: Resynced with spec.
20420 * include/multiboot2.h: Likewise.
20421 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20422 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20423
9444b678
RM
204242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20425
20426 * include/grub/term.h (grub_term_register_input,
20427 grub_term_register_output): Check return of terminal init()
20428 routines, and abort if errors are raised.
20429
20430 * commands/terminal.c: Update copyright year.
20431
cba98e8d
RM
204322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20433
20434 * commands/terminal.c (grub_cmd_terminal_input)
20435 (grub_cmd_terminal_output): Check return of terminal init()
20436 routines, and abort if errors are raised.
20437
6f7db5d6
VS
204382010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * include/grub/i386/bsd.h: Fix include pathes.
20441
262bff8d
VS
204422010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20443
20444 Add missing *BSD copyright headers.
20445
20446 * include/grub/aout.h: Add BSD licence.
20447 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20448 * include/grub/i386/freebsd_linker.h: ... here,
20449 * include/grub/i386/freebsd_reboot.h: ... here,
20450 * include/grub/i386/netbsd_bootinfo.h: ... here,
20451 * include/grub/i386/netbsd_reboot.h: ... here,
20452 * include/grub/i386/openbsd_bootarg.h: ... here,
20453 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20454 licence to each file.
20455
b2cab848
RM
204562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20457
20458 * acinclude.m4: Remove `nop' assembly instruction; it's not
20459 implemented by all architectures.
20460
2cb6be4b
RM
204612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20462
20463 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20464 ELILO. This is no longer necessary.
20465
a2eaee15
BC
204662010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20467
20468 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20469
20470 * util/grub-script-check.c: grub-script-check tool.
20471 * conf/common.rmk: Make rules for grub-script-check.
20472
88d17012
RM
204732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20474
20475 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20476 spotting it back in 2008. Shame on me for forgetting he did.
20477
20478 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20479
8040619d
RM
204802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20481
20482 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20483 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20484 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20485 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20486 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20487 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20488
a0c2a0f6
RM
204892010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20490
20491 * include/grub/test.h: Add license header.
20492 * tests/example_functional_test.c: Likewise.
20493 * tests/example_unit_test.c: Likewise.
20494 * tests/lib/functional_test.c: Likewise.
20495 * tests/lib/test.c: Likewise.
20496 * tests/lib/unit_test.c: Likewise.
20497
b0b13907
VS
204982010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 Use flag-based instead of hook-based video mode selection and "auto"
20501 keyword.
20502
20503 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20504 (grub_video_set_mode): Changed prototype. All users updated.
20505 (grub_video_check_mode_flag): New inline function.
20506 * video/video.c (parse_modespec): New function.
20507 (grub_video_set_mode): Parse flags and keywords.
20508
ea379330 205092010-01-17 Carles Pina i Estany <carles@pina.cat>
20510
20511 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20512 fprintf call.
20513
e15c215e
FZ
205142010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20515
20516 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20517
409ae1c9 205182010-01-16 Carles Pina i Estany <carles@pina.cat>
20519
20520 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20521 string.
20522 * util/grub-emu.c (usage): Likewise.
20523 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20524 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20525 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20526 * util/i386/pc/grub-setup.c (usage): Likewise.
20527
70a14d3d 205282010-01-16 Carles Pina i Estany <carles@pina.cat>
20529
20530 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20531 the message.
20532 (grub_util_info): Likewise.
20533 (grub_util_error): Likewise.
20534 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20535 and/or new lines in `grub_util_warna', `grub_util_info',
20536 `grub_util_error' calls.
20537 * util/getroot.c: Likewise.
20538 * util/grub-editenv.c: Likewise.
20539 * util/grub-emu.c: Likewise.
20540 * util/grub-fstest.c: Likewise.
20541 * util/grub-mkdevicemap.c: Likewise.
20542 * util/grub-mkfont.c: Likewise.
20543 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20544 * util/grub-mkrelpath.c: Likewise.
20545 * util/grub-pe2elf.c: Likewise.
20546 * util/grub-probe.c: Likewise.
20547 * util/hostdisk.c: Likewise.
20548 * util/i386/efi/grub-mkimage.c: Likewise.
20549 * util/i386/pc/grub-mkimage.c: Likewise.
20550 * util/i386/pc/grub-setup.c: Likewise.
20551 * util/ieee1275/ofpath.c: Likewise.
20552 * util/mkisofs/eltorito.c: Likewise.
20553 * util/mkisofs/rock.c: Likewise.
20554 * util/mkisofs/write.c: Likewise.
20555 * util/raid.c: Likewise.
20556 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20557 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20558
a0b766fc
VS
205592010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20560
20561 Enable multiboot on non-pc.
20562
20563 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20564 multiboot.mod and multiboot2.mod to ...
20565 * conf/i386.rmk (pkglib_MODULES): ... here.
20566 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20567 Moved to ...
20568 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20569 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20570 Moved to ...
20571 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20572 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20573 Moved to ...
20574 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20575 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20576 Moved to ...
20577 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20578 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20579 relocator.mod.
20580 (ata_mod_SOURCES): Removed.
20581 (ata_mod_CFLAGS): Likewise.
20582 (ata_mod_LDFLAGS): Likewise.
20583 (relocator_mod_SOURCES): Removed.
20584 (relocator_mod_CFLAGS): Likewise.
20585 (relocator_mod_ASFLAGS): Likewise.
20586 (relocator_mod_LDFLAGS): Likewise.
20587 Include i386.mk.
20588 * include/grub/x86_64/multiboot.h: New file.
20589 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20590 Terminate EFI.
20591
884ade56
VS
205922010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 Video multiboot support.
20595
20596 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20597 New prototype.
20598 * include/multiboot.h: Resynced with multiboot specification.
20599 * include/multiboot2.h: Likewise.
20600 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20601 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20602 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20603 (HAS_VGA_TEXT): Likewise.
20604 (accepts_video): New variable.
20605 (grub_multiboot_set_accepts_video): New function.
20606 (grub_multiboot_get_mbi_size): Account for video structures.
20607 (set_video_mode): New function.
20608 (retrieve_video_parameters): Likewise.
20609 (grub_multiboot_make_mbi): Fill video fields.
20610
0d90e8a6
VS
206112010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20612
20613 Video driver ids.
20614
20615 * include/grub/video.h (grub_video_driver_id): New type.
20616 (grub_video_adapter): New member 'id'. All users updated.
20617 (grub_video_get_driver_id): New proto.
20618 * video/video.c (grub_video_get_driver_id): New function.
20619
5c71db1b 206202010-01-14 Carles Pina i Estany <carles@pina.cat>
20621
20622 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20623 `var=val'.
20624
cca15b52 206252010-01-14 Carles Pina i Estany <carles@pina.cat>
20626
20627 * normal/cmdline.c (print_completion): Gettextizze.
20628
c586fbb2 206292001-01-14 Carles Pina i Estany <carles@pina.cat>
20630
20631 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20632
ba2f6848 206332010-01-14 Carles Pina i Estany <carles@pina.cat>
20634
20635 * gettext/gettext.c (grub_gettext_translate): Push and pop
20636 grub_errno.
20637 (grub_gettext_delete_list): Change comment style.
20638 * kern/err.c (grub_error): Gettextizze.
20639 (grub_fatal): Gettextizze.
20640
0a46429a
RM
206412010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20642
20643 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20644 (grub_linux16_real_boot): ... this.
20645 * kern/i386/loader.S: Likewise.
20646 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20647 (grub_linux16_boot): New function. Switches to text mode and calls
20648 grub_linux16_real_boot().
20649
20650 * loader/i386/bsd.c: Include `<grub/video.h>'.
20651 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20652 text mode before calling grub_unix_real_boot().
20653
20654 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20655 (grub_multiboot_boot): Switch to text mode before calling
20656 grub_relocator32_boot().
20657
20658 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20659 (grub_chainloader_boot): Switch to text mode before calling
20660 grub_chainloader_real_boot().
20661
d6f93a66
RM
206622010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
206632010-01-05 Colin Watson <cjwatson@ubuntu.com>
20664
20665 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20666 non-empty value.
20667
206682010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
206692010-01-05 Colin Watson <cjwatson@ubuntu.com>
20670
20671 * util/grub.d/00_header.in: Define a "savedefault" function for use
20672 in menu entries.
20673 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20674
206752010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
206762010-01-05 Colin Watson <cjwatson@ubuntu.com>
20677
20678 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20679 saved_entry if boot_once is unset.
20680 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20681 previous saved entry (i.e. grub-reboot).
20682
206832009-12-08 Colin Watson <cjwatson@ubuntu.com>
20684
20685 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20686
206872009-12-08 Colin Watson <cjwatson@ubuntu.com>
20688
20689 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20690 `var=val'.
20691 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20692
206932009-12-08 Colin Watson <cjwatson@ubuntu.com>
20694
20695 * util/grub-reboot.in: Fix --version output.
20696 * util/grub-set-default.in: Likewise.
20697
206982009-12-08 Colin Watson <cjwatson@ubuntu.com>
20699
20700 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20701 blocks.
20702
207032009-12-08 Colin Watson <cjwatson@ubuntu.com>
20704
20705 * util/grub.d/00_header.in: Quote the value assigned to `default',
20706 in case it contains spaces.
20707
207082009-12-08 Colin Watson <cjwatson@ubuntu.com>
20709
20710 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20711 `save_default_entry' call from the macosx case to the linux case.
20712
207132009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
207142009-10-25 Colin Watson <cjwatson@ubuntu.com>
20715
20716 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20717 in `chosen' environment variable.
20718 * normal/menu_text.c (get_entry_number): Check if the variable
20719 matches the title of a menu entry.
20720 (run_menu): Pass menu to get_entry_number.
20721
20722 * util/grub-reboot.in: New file.
20723 * util/grub-set-default.in: New file.
20724 * conf/common.rmk (grub-reboot): New utility.
20725 (grub-set-default): New utility.
20726
20727 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20728 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20729 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20730 move it to `saved_entry' for the next boot. Load environment on
20731 initialisation.
20732 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20733 * util/grub.d/10_hurd.in: Likewise.
20734 * util/grub.d/10_linux.in (linux_entry): Likewise.
20735 * util/grub.d/10_windows.in: Likewise.
20736 * util/grub.d/30_os-prober.in: Likewise.
20737
20738 * util/grub-install.in: Create environment block.
20739 * util/i386/efi/grub-install.in: Likewise.
20740 * util/ieee1275/grub-install.in: Likewise.
20741 * util/sparc64/ieee1275/grub-install.in: Likewise.
20742
0934d184
BC
207432010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20744
20745 Unit testing framework for GRUB.
20746
20747 * Makefile.in: Test framework build rules for 'make check'.
20748 * conf/tests.rmk: Build rules for individual tests and framework.
20749
20750 * include/grub/test.h: Header file for whitebox tests.
20751 * tests/lib/functional_test.c: Framework support for whitebox
20752 functional tests.
20753 * tests/lib/test.c: Common whitebox testing code for unit and
20754 functional tests.
20755 * tests/lib/unit_test.c: Framework support for whitebox unit
20756 tests.
20757
20758 * tests/util/grub-shell-tester.in: Support utility for grub-script
20759 tests.
20760 * tests/util/grub-shell.in: Utility to execute grub-script
20761 commands in a Qemu instance.
20762
20763 * tests/example_functional_test.c: Example whitebox functional
20764 test.
20765 * tests/example_grub_script_test.in: Example grub-script test.
20766 * tests/example_scripted_test.in: Example scripted test.
20767 * tests/example_unit_test.c: Example whitebox unit test.
20768
9c4ffeeb
VS
207692010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20770
20771 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20772 Add loader/i386/multiboot_mbi.c.
20773 (multiboot2_mod_SOURCES): Likewise.
20774 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20775 (multiboot2_mod_SOURCES): Likewise.
20776 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20777 (grub_multiboot_make_mbi): Likewise.
20778 (grub_multiboot_free_mbi): Likewise.
20779 (grub_multiboot_init_mbi): Likewise.
20780 (grub_multiboot_add_module): Likewise.
20781 (grub_multiboot_set_bootdev): Likewise.
20782 * loader/i386/multiboot.c (mbi): Removed.
20783 (mbi_dest): Likewise.
20784 (alloc_mbi): New variable.
20785 (grub_multiboot_payload_size): Removed. All users updated.
20786 (grub_multiboot_pure_size): New variable.
20787 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20788 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20789 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20790 (grub_fill_multiboot_mmap): Likewise.
20791 (grub_multiboot_get_bootdev): Likewise.
20792 (grub_multiboot): Use multiboot_mbi functions.
20793 * loader/i386/multiboot_mbi.c: New file.
20794
17383dfe
VS
207952010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20796
20797 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20798 it would result in module crash.
20799
c1f28820
VS
208002010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20801
20802 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20803 (grub_ofconsole_getwh): Split to ...
20804 (grub_ofconsole_getwh): ... this.
20805 (grub_ofconsole_dimensions): ...and this.
20806 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20807
58655a16
RM
208082010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20809
20810 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20811
10891398
VS
208122010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 * loader/i386/pc/multiboot2.c: Removed stalled file.
20815
0b8a223c
VS
208162010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20819 Reported by: Grégoire Sutre
20820
92ab12b0
RM
208212010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20822
20823 * util/misc.c (canonicalize_file_name): New function.
20824 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20825 instead of realpath().
20826
a788afb6
CW
208272010-01-11 Colin Watson <cjwatson@ubuntu.com>
20828
20829 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20830 and make it clearer that it's optional. Based on confusion
20831 witnessed on IRC.
20832
ffa8e3d2
VS
208332010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20834
20835 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20836 in premature implicit newline.
20837
e9060a9d
VS
208382010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20839
20840 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20841 which resulted in garbled command line at the end of screen.
20842
f0d0c0b7
RM
208432010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20844
20845 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20846 initialization with similar approach as with other Linux loaders.
20847
0e60bae7
RM
208482010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20849
20850 Fix i386-ieee1275 build.
20851
20852 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20853 and grub_term_height() for video_{width,height} initialization.
20854
208552010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20856
20857 Fix grub-emu build.
20858
20859 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20860
cdb3f378
RM
208612010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
208622010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20863
20864 Support for multiple terminals.
20865
20866 * Makefile.in (pkglib_DATA): terminal.lst.
20867 (terminal.lst): New target.
20868 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20869 (GRUB_MOD_INIT(handler)): Likewise.
20870 (GRUB_MOD_FINI(handler)): Likewise.
20871 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20872 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20873 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20874 (grub_cmd_sleep): Use grub_term_save_pos.
20875 * commands/terminal.c: New file.
20876 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20877 commands/terminal.c and lib/charset.c.
20878 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20879 (pkglib_MODULES): Add terminal.mod.
20880 (terminal_mod_SOURCES): New variable.
20881 (terminal_mod_CFLAGS): Likewise.
20882 (terminal_mod_LDFLAGS): Likewise.
20883 * genhandlerlist.sh: Don't handle terminals.
20884 * genmk.rb: Generate terminal-*.lst.
20885 * genterminallist.sh: New file.
20886 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20887 (grub_is_valid_utf8): Likewise.
20888 (grub_utf8_to_ucs4_alloc): Likewise.
20889 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20890 (grub_menu_register_viewer): Changed argument.
20891 (grub_menu_try_text): New proto.
20892 (grub_gfxmenu_try_hook): New declaration.
20893 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20894 (grub_menu_init_page): Additional argument term.
20895 (grub_normal_init_page): Likewise.
20896 (grub_cmdline_get): Arguments simplified.
20897 (grub_utf8_to_ucs4_alloc): Removed.
20898 (grub_print_ucs4): Additional argument term.
20899 (grub_getstringwidth): Likewise.
20900 (grub_print_message_indented): Likewise.
20901 (grub_menu_text_register_instances): New proto.
20902 (grub_show_menu): Likewise.
20903 (read_terminal_list): Likewise.
20904 (grub_set_more): Likewise.
20905 * include/grub/parser.h: Include handler.h.
20906 * include/grub/reader.h: Rewritten.
20907 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20908 (GRUB_TERM_WIDTH): Changed to function.
20909 (GRUB_TERM_HEIGHT): Likewise.
20910 (GRUB_TERM_BORDER_WIDTH): Likewise.
20911 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20912 (GRUB_TERM_NUM_ENTRIES): Likewise.
20913 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20914 (GRUB_TERM_CURSOR_X): Likewise.
20915 (grub_term_input_class): Likewise.
20916 (grub_term_output_class): Likewise.
20917 (grub_term_outputs_disabled): New declaration.
20918 (grub_term_inputs_disabled): Likewise.
20919 (grub_term_outputs): Likewise.
20920 (grub_term_inputs): Likewise.
20921 (grub_term_register_input): Rewritten.
20922 (grub_term_register_output): Likewise.
20923 (grub_term_unregister_input): Likewise.
20924 (grub_term_unregister_output): Likewise.
20925 (FOR_ACTIVE_TERM_INPUTS): New macro.
20926 (FOR_DISABLED_TERM_INPUTS): Likewise.
20927 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20928 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20929 * include/grub/terminfo.h: Add oterm argument to all protypes.
20930 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20931 Use grub_rescue_run.
20932 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20933 All users updated.
20934 * kern/reader.c: Removed. All users updated.
20935 * kern/rescue_reader.c (grub_rescue_init): Removed.
20936 (grub_rescue_reader): Likewise.
20937 (grub_register_rescue_reader): Likewise.
20938 (grub_rescue_run): New function based on kern/reader.c.
20939 * kern/term.c: Adapted for multiterm.
20940 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20941 (grub_is_valid_utf8): Likewise.
20942 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20943 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20944 right terminal.
20945 * loader/i386/linux.c (grub_linux_boot): Likewise.
20946 * normal/auth.c (grub_username_get): New function.
20947 (grub_auth_check_authentication): Use grub_username_get.
20948 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20949 * normal/color.c: Adapt for multiterm.
20950 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20951 (grub_normal_init_page): Additional argument term.
20952 (read_lists): Call read_terminal_lists.
20953 (grub_enter_normal_mode): Call grub_cmdline_run.
20954 Handle grub_normal_exit_level.
20955 (grub_cmd_normal): Make reentrant.
20956 (grub_cmd_normal_exit): New function.
20957 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20958 * normal/menu.c: Adapt for multiterm.
20959 * normal/menu_entry.c: Likewise.
20960 * normal/menu_text.c: Likewise.
20961 * normal/menu_viewer.c: Removed. All users updated.
20962 * normal/term.c: New file.
20963 * util/console.c: Change order of includes to workaround a bug in
20964 ncurses headers.
20965 * term/terminfo.c: New argument oterm on all exported functions.
20966 All users updated.
20967 * util/grub-editenv.c (grub_term_input_class): Removed.
20968 (grub_term_output_class): Likewise.
20969
1a064917
RM
209702010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20971
20972 Make loader output a bit more user-friendly.
20973
20974 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20975 is being loaded. Likewise for the Hurd.
20976
20977 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20978 that kernel of FreeBSD ${version} is being loaded.
20979
20980 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20981 grub_dprintf().
20982 (grub_cmd_initrd): Likewise.
20983 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20984 that Linux ${version} is being loaded. Likewise for initrd.
20985
5ce0a83a 209862010-01-09 Carles Pina i Estany <carles@pina.cat>
20987
20988 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20989
809bbfeb 209902010-01-08 Carles Pina i Estany <carles@pina.cat>
20991
20992 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20993 (GRUB_MOD_INIT): Gettextizze.
20994 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20995 (GRUB_MOD_INIT): Gettextizze.
20996 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20997 (grub_cmd_linux): Capitalise Linux.
20998 (GRUB_MOD_INIT): Gettextizze.
20999 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21000 (grub_cmd_linux): Capitalise Linux.
21001 (GRUB_MOD_INIT): Gettextizze.
21002 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21003 (grub_cmd_linux): Capitalise Linux.
21004 (GRUB_MOD_INIT): Gettextizze.
21005 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21006 (GRUB_MOD_INIT): Gettextizze.
21007 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21008 (grub_cmd_linux): Capitalise Linux.
21009 (GRUB_MOD_INIT): Gettextizze.
21010 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21011 (grub_cpu_xnu_init): Gettextizze.
21012 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21013 (GRUB_MOD_INIT): Gettextizze.
21014 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21015 (GRUB_MOD_INIT): Gettextizze.
21016 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21017 (grub_linux_load64): Capitalise Linux.
21018 (GRUB_MOD_INIT): Gettextizze.
21019 * loader/xnu.c: Include `<grub/i18n.h>'.
21020 (GRUB_MOD_INIT): Gettextizze.
21021 * po/POTFILES: Add `loader/efi/appleloader.c',
21022 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21023 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21024 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21025 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21026 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21027 and `loader/xnu.c'.
21028
b394b2ca
RM
210292010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21030
21031 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21032
210332010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21034
21035 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21036 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21037 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21038
bc8b32b3
RM
210392010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21040
21041 Reset Multiboot 2 support. New loader implements the draft in
21042 /branches/multiboot2 and shares as much code as possible with the
21043 production Multiboot 1 implementation.
21044
21045 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21046 * loader/multiboot2.c: Likewise.
21047 * loader/i386/multiboot_helper.S: Likewise.
21048 * include/multiboot2.h: Replace with latest version from the draft
21049 in /branches/multiboot2.
21050
21051 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21052 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21053 and `loader/multiboot2.c'.
21054 (pkglib_MODULES): Add `multiboot2.mod'.
21055 (multiboot2_mod_SOURCES): New variable.
21056 (multiboot2_mod_LDFLAGS): Likewise.
21057 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21058
21059 * conf/i386-pc.rmk: Likewise.
21060
21061 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21062 (multiboot_mod_SOURCES): Remove variable.
21063 (multiboot_mod_LDFLAGS): Likewise.
21064 (multiboot_mod_CFLAGS): Likewise.
21065
21066 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21067 `<multiboot2.h>' instead of `<multiboot.h>'.
21068 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21069 (MULTIBOOT_HEADER_MAGIC): New macros.
21070
21071 * loader/multiboot_loader.c (module_version_status): Remove variable.
21072 (find_multi_boot2_header): Remove function.
21073 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21074 logic. Always check for the Multiboot version we're compiling for.
21075 (grub_cmd_module_loader): Likewise.
21076 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21077 command instead of `multiboot'.
21078
5d2c52b8
RM
210792010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21080
21081 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21082 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21083 all users.
21084
53108d92
RM
210852010-01-07 Robert Millan <rmh.grub@aybabtu.com>
210862010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 Fix breakage introduced with previous commit.
21089
21090 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21091 commands.
21092 * normal/handler.c (read_handler_list): Revert part of previous commit
21093 affecting this file.
21094 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21095 (grub_normal_execute): ... here.
21096
e2e936b2
RM
210972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21098
21099 Merge prefix-redefinition-fix branch.
21100
21101 * normal/autofs.c (read_fs_list): Make function capable of being
21102 run multiple times, gracefuly replacing the previous data
21103 structures.
21104 * normal/dyncmd.c (read_command_list): Likewise.
21105 * normal/handler.c (read_handler_list): Likewise.
21106 * normal/main.c (read_lists): New function. Calls all the
21107 list reading functions.
21108 (grub_normal_execute): Use read_lists() instead of calling all
21109 list reading functions explicitly. Register read_lists() as a
21110 variable hook attached to ${prefix}.
21111
607a3701
VS
211122010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21113
21114 Merge crypto branch.
21115
21116 * Makefile.in (pkglib_DATA): Add crypto.lst.
21117 (crypto.lst): New target.
21118 * commands/hashsum.c: New file.
21119 * commands/password.c (check_password): Use grub_crypto_memcmp.
21120 * commands/password_pbkdf2.c: New file.
21121 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21122 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21123 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21124 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21125 -I$(srcdir)/lib/libgcrypt_wrap.
21126 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21127 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21128 password_pbkdf2.mod.
21129 (crypto_mod_SOURCES): New variable.
21130 (crypto_mod_CFLAGS): Likewise.
21131 (crypto_mod_LDFLAGS): Likewise.
21132 (hashsum_mod_SOURCES): New variable.
21133 (hashsum_mod_CFLAGS): Likewise.
21134 (hashsum_mod_LDFLAGS): Likewise.
21135 (pbkdf2_mod_SOURCES): New variable.
21136 (pbkdf2_mod_CFLAGS): Likewise.
21137 (pbkdf2_mod_LDFLAGS): Likewise.
21138 (password_pbkdf2_mod_SOURCES): New variable.
21139 (password_pbkdf2_mod_CFLAGS): Likewise.
21140 (password_pbkdf2_mod_LDFLAGS): Likewise.
21141 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21142 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21143 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21144 Include conf/gcry.rmk.
21145 * include/grub/auth.h: Rewritten.
21146 * include/grub/crypto.h: New file.
21147 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21148 * include/grub/normal.h (read_crypto_list): New prototype.
21149 * lib/crypto.c: New file.
21150 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21151 * lib/pbkdf2.c: Likewise.
21152 * normal/auth.c (grub_auth_strcmp): Removed.
21153 (grub_iswordseparator): Likewise.
21154 (grub_auth_strword): Likewise.
21155 (is_authenticated): Use grub_strword.
21156 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21157 and grub_strword. Pass entered password to authentication callback.
21158 * normal/crypto.c: New file.
21159 * normal/main.c: Call read_crypto_list.
21160 * util/grub-mkpasswd-pbkdf2.c: New file.
21161 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21162
42841caa
VS
211632010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21164
21165 Fix descent and ascent calculation.
21166
21167 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21168 (options): New option "asce".
21169 (usage): Likewise.
21170 (add_char): Ignore invalid glyphs for descent calculation.
21171 Calculate ascent from actual content.
21172 (print_glyphs): Use 'asce'.
21173 (write_font): Likewise. Allow ascent override.
21174 (main): Handle "asce" option.
21175
e7730de7 211762010-01-06 Carles Pina i Estany <carles@pina.cat>
21177
21178 * kern/err.c: Include `<grub/i18n.h>'.
21179 (grub_print_error): Add full stop. Gettextizze.
21180 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21181 (grub_bsd_load_elf): Capitalise ELF.
21182 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21183 (grub_cmd_freebsd_module): Likewise.
21184 (grub_cmd_freebsd_module_elf): Likewise.
21185 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21186
40e3a41f 211872010-01-06 Carles Pina i Estany <carles@pina.cat>
21188
21189 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21190 * commands/search_file.c (HELP_MESSAGE): New macro.
21191 * commands/search_label.c (HELP_MESSAGE): Likewise.
21192 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21193 * po/POTFILES: Add `commands/search_file.c',
21194 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21195 `commands/search.c'.
21196
83507e68
RM
211972010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21198
21199 * config.rpath: Update from Gnulib.
21200
465c787b
YB
212012010-01-05 Yves Blusseau <blusseau@zetam.org>
21202
21203 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21204
6581dd3a
YB
212052010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21206
21207 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21208
3bff18c5
CW
212092010-01-05 Colin Watson <cjwatson@ubuntu.com>
21210
21211 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21212 arguments to fread so that we get a return value in bytes, rather
21213 than something that will normally be rounded down to 0.
21214 Adjust error handling to avoid producing garbage when size_t is not
21215 the same size as long long.
21216
a1368118
CW
212172010-01-05 Colin Watson <cjwatson@ubuntu.com>
21218
21219 * util/mkisofs/write.c (padblock_write): Check return value of
21220 fread.
21221
7c302978
RM
212222010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21223
21224 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21225 floppy images now.
21226
21227 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21228
e33ace06
RM
212292010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21230
21231 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21232 instead of manual alignment.
21233 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21234 verbose). Avoid attempts to read past end of the device
21235 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21236 but GRUB_DISK_CACHE_SIZE may exceed that).
21237
4b856776
RM
212382010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21239
21240 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21241 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21242 it to upper layer.
21243
52c2d97f
VS
212442010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21247 New constant.
21248 (grub_efi_piwg_device_path): New structure
21249 (grub_efi_piwg_device_path_t): New type.
21250 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21251 (devpath_1): Transform to a structure. All users updated.
21252 (devpath_2): Likewise.
21253 (devpath_3): Likewise.
21254 (devpath_4): Likewise.
21255 (devpath_5): Likewise.
21256
98ff6a54
VS
212572010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21258
21259 * loader/efi/appleloader.c: Restored. Update all users.
21260
3a73dcb6
RM
212612010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21262
21263 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21264
21265 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21266 (struct boot_blocklist): Move from here ...
21267 * include/grub/i386/pc/boot.h [ASM_FILE]
21268 (struct grub_boot_blocklist): ... to here. Update all users.
21269 (setup): Only initialize `start' member of `first_block'
21270 structure. Add assert() calls to verify the other members.
21271
21272 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21273 (generate_image): Fix broken blocklist length initialization.
21274 Add assert() call to verify blocklist `segment' field.
21275
ab0eeb0c
RM
212762010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21277
21278 * loader/efi/appleloader.c: Remove. Update all users.
21279
58bc8bd5
RM
212802010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21281
21282 * boot/i386/pc/boot.S: Update copyright year.
21283 * boot/i386/pc/cdboot.S: Likewise.
21284 * boot/i386/pc/diskboot.S: Likewise.
21285 * boot/i386/pc/lnxboot.S: Likewise.
21286 * boot/i386/pc/pxeboot.S: Likewise.
21287 * bus/pci.c: Likewise.
21288 * commands/cmp.c: Likewise.
21289 * commands/help.c: Likewise.
21290 * commands/hexdump.c: Likewise.
21291 * commands/i386/pc/halt.c: Likewise.
21292 * commands/i386/pc/play.c: Likewise.
21293 * commands/i386/pc/vbeinfo.c: Likewise.
21294 * commands/ls.c: Likewise.
21295 * commands/test.c: Likewise.
21296 * disk/dmraid_nvidia.c: Likewise.
21297 * disk/i386/pc/biosdisk.c: Likewise.
21298 * disk/ieee1275/nand.c: Likewise.
21299 * disk/ieee1275/ofdisk.c: Likewise.
21300 * disk/lvm.c: Likewise.
21301 * disk/raid.c: Likewise.
21302 * disk/raid6_recover.c: Likewise.
21303 * disk/scsi.c: Likewise.
21304 * fs/affs.c: Likewise.
21305 * fs/cpio.c: Likewise.
21306 * fs/ext2.c: Likewise.
21307 * fs/hfs.c: Likewise.
21308 * fs/iso9660.c: Likewise.
21309 * fs/ntfs.c: Likewise.
21310 * fs/sfs.c: Likewise.
21311 * fs/udf.c: Likewise.
21312 * fs/ufs.c: Likewise.
21313 * fs/xfs.c: Likewise.
21314 * gencmdlist.sh: Likewise.
21315 * genmk.rb: Likewise.
21316 * include/grub/disk.h: Likewise.
21317 * include/grub/efi/api.h: Likewise.
21318 * include/grub/efi/efi.h: Likewise.
21319 * include/grub/efi/pe32.h: Likewise.
21320 * include/grub/elf.h: Likewise.
21321 * include/grub/fs.h: Likewise.
21322 * include/grub/i386/at_keyboard.h: Likewise.
21323 * include/grub/i386/pc/memory.h: Likewise.
21324 * include/grub/i386/pc/vbe.h: Likewise.
21325 * include/grub/i386/pci.h: Likewise.
21326 * include/grub/i386/tsc.h: Likewise.
21327 * include/grub/ieee1275/ieee1275.h: Likewise.
21328 * include/grub/ntfs.h: Likewise.
21329 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21330 * include/grub/sparc64/libgcc.h: Likewise.
21331 * include/grub/symbol.h: Likewise.
21332 * include/grub/types.h: Likewise.
21333 * include/multiboot2.h: Likewise.
21334 * io/gzio.c: Likewise.
21335 * kern/device.c: Likewise.
21336 * kern/disk.c: Likewise.
21337 * kern/efi/efi.c: Likewise.
21338 * kern/efi/mm.c: Likewise.
21339 * kern/elf.c: Likewise.
21340 * kern/file.c: Likewise.
21341 * kern/i386/dl.c: Likewise.
21342 * kern/i386/pc/init.c: Likewise.
21343 * kern/i386/pc/startup.S: Likewise.
21344 * kern/ieee1275/ieee1275.c: Likewise.
21345 * kern/ieee1275/init.c: Likewise.
21346 * kern/main.c: Likewise.
21347 * kern/mm.c: Likewise.
21348 * kern/powerpc/dl.c: Likewise.
21349 * kern/sparc64/dl.c: Likewise.
21350 * kern/x86_64/dl.c: Likewise.
21351 * lib/hexdump.c: Likewise.
21352 * loader/efi/appleloader.c: Likewise.
21353 * loader/i386/ieee1275/linux.c: Likewise.
21354 * loader/i386/pc/chainloader.c: Likewise.
21355 * loader/i386/pc/linux.c: Likewise.
21356 * loader/i386/pc/multiboot2.c: Likewise.
21357 * loader/ieee1275/multiboot2.c: Likewise.
21358 * loader/multiboot2.c: Likewise.
21359 * loader/multiboot_loader.c: Likewise.
21360 * loader/powerpc/ieee1275/linux.c: Likewise.
21361 * normal/completion.c: Likewise.
21362 * normal/menu_entry.c: Likewise.
21363 * partmap/apple.c: Likewise.
21364 * util/grub.d/10_hurd.in: Likewise.
21365 * util/hostfs.c: Likewise.
21366 * video/readers/png.c: Likewise.
21367
e2d70b5c
CW
213682010-01-03 Colin Watson <cjwatson@ubuntu.com>
21369
21370 * include/grub/misc.h (GNUC_PREREQ): New macro.
21371 (ATTRIBUTE_ERROR): New macro.
21372 * include/grub/list.h (grub_bad_type_cast_real): Use
21373 ATTRIBUTE_ERROR.
21374
a173283f 213752010-01-03 Carles Pina i Estany <carles@pina.cat>
21376
21377 * normal/menu_text.c (print_message): Change messages.
21378
7fa7ff74 213792010-01-03 Carles Pina i Estany <carles@pina.cat>
21380
21381 * normal/menu_entry.c (store_completion): Gettextizze.
21382
136d24f6 213832010-01-03 Carles Pina i Estany <carles@pina.cat>
21384
21385 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21386
f936862e 213872010-01-03 Carles Pina i Estany <carles@pina.cat>
21388
21389 * po/POTFILES: Sort correctly.
21390
29c44ad1 213912010-01-03 Carles Pina i Estany <carles@pina.cat>
21392
21393 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21394 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21395 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21396 full stop.
21397 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21398 summary. Gettextizze the strings.
21399 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21400 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21401 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21402 full stop.
21403 (GRUB_MOD_INIT): Remove command name from summary.
21404 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21405 summary.
21406 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21407 * term/i386/pc/serial.c (options): Add full stops.
21408 (GRUB_MOD_INIT): Remove command name from the summary.
21409
77a79592 214102010-01-03 Carles Pina i Estany <carles@pina.cat>
21411
21412 * commands/acpi.c: Gettextizze help strings and/or options. Include
21413 `grub/i18n.h' if needed.
21414 * commands/blocklist.c: Likewise.
21415 * commands/boot.c: Likewise.
21416 * commands/cat.c: Likewise.
21417 * commands/cmp.c: Likewise.
21418 * commands/configfile.c: Likewise.
21419 * commands/crc.c: Likewise.
21420 * commands/date.c: Likewise.
21421 * commands/echo.c: Likewise.
21422 * commands/efi/fixvideo.c: Likewise.
21423 * commands/efi/loadbios.c: Likewise.
21424 * commands/gptsync.c: Likewise.
21425 * commands/halt.c: Likewise.
21426 * commands/handler.c: Likewise.
21427 * commands/hdparm.c: Likewise.
21428 * commands/hexdump.c: Likewise.
21429 * commands/i386/cpuid.c: Likewise.
21430 * commands/i386/pc/drivemap.c: Likewise.
21431 * commands/i386/pc/halt.c: Likewise.
21432 * commands/i386/pc/pxecmd.c: Likewise.
21433 * commands/i386/pc/vbeinfo.c: Likewise.
21434 * commands/i386/pc/vbetest.c: Likewise.
21435 * commands/ieee1275/suspend.c: Likewise.
21436 * commands/keystatus.c: Likewise.
21437 * commands/loadenv.c: Likewise.
21438 * commands/ls.c: Likewise.
21439 * commands/lsmmap.c: Likewise.
21440 * commands/lspci.c: Likewise.
21441 * commands/memrw.c: Likewise.
21442 * commands/minicmd.c: Likewise.
21443 * commands/parttool.c: Likewise.
21444 * commands/password.c: Likewise.
21445 * commands/probe.c: Likewise.
21446 * commands/read.c: Likewise.
21447 * commands/reboot.c: Likewise.
21448 * commands/search.c: Likewise.
21449 * commands/sleep.c: Likewise.
21450 * commands/test.c: Likewise.
21451 * commands/true.c: Likewise.
21452 * commands/usbtest.c: Likewise.
21453 * commands/videotest.c: Likewise.
21454 * commands/xnu_uuid.c: Likewise.
21455 * disk/loopback.c: Likewise.
21456 * hello/hello.c: Likewise.
21457 * loader/i386/bsd.c: Likewise.
21458 * term/i386/pc/serial.c: Likewise.
21459 * po/POTFILES: Add new files.
21460
da8d5c53
CW
214612010-01-02 Colin Watson <cjwatson@ubuntu.com>
21462
21463 * term/i386/pc/at_keyboard.c
21464 (keyboard_controller_wait_untill_ready): Rename to ...
21465 (keyboard_controller_wait_until_ready): ... this. Update all users.
21466
33937904 214672010-01-01 Carles Pina i Estany <carles@pina.cat>
21468
21469 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21470 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21471 string using string width.
21472 * normal/menu_text.c (grub_print_message_indented): Use
21473 grub_print_spaces and not print_spaces.
21474 (print_timeout): Likewise.
21475 (print_spaces): Move to...
21476 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21477
3fd3b8d8
RM
214782010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21479
21480 Import from Gnulib.
21481
21482 * gnulib/getdelim.c: New file.
21483 * gnulib/getline.c: Likewise.
21484
33433555
VS
214852009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21486
21487 * include/grub/list.h (grub_assert_fail): Removed.
21488 (grub_bad_type_cast_real): New function.
21489 (grub_bad_type_cast): New macro.
21490 (GRUB_AS_LIST): Use grub_bad_type_cast.
21491 (GRUB_AS_LIST_P): Likewise.
e44721e8 21492 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21493 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21494 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21495 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21496 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21497
f5a51306
VS
214982009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21499
21500 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21501 Fix syntax error.
21502
90d1e879
RM
215032009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21504
21505 * configure.ac: Check for TARGET_CFLAGS initialization before we
21506 initialize it ourselves (sigh).
21507 Move a few modifications to TARGET_CFLAGS to be unconditional
21508 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21509 eh_frame)
21510
21511 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21512 * term/i386/pc/at_keyboard.c
21513 (keyboard_controller_wait_untill_ready): Likewise.
21514 (keyboard_controller_led): Rename `led_status' paramter to avoid
21515 name conflict.
21516
465b5a81 215172009-12-28 Carles Pina i Estany <carles@pina.cat>
21518
21519 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21520 quotes.
21521
c181849b
VS
215222009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21523
21524 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21525
9c8739a4
VS
215262009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 * normal/menu_text.c (grub_print_message_indented): Prevent
21529 past-the-end-of-array dereference.
21530
3e74249c
VS
215312009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21532
21533 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21534 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21535
64fd18ed 215362009-12-27 Carles Pina i Estany <carles@pina.cat>
21537
21538 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21539 * normal/main.c (grub_normal_read_line): Remove a space from the
21540 default prompt.
21541
714af9b9 215422009-12-27 Carles Pina i Estany <carles@pina.cat>
21543
21544 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21545 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21546 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21547 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21548 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21549 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21550 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21551
82f3e412 215522009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21553
21554 * video/readers/jpeg.c (cmd): Declare.
21555 (grub_cmd_jpegtest): Use `grub_command_t' type.
21556 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21557 Assign to `cmd'.
21558 (GRUB_MOD_FINI): Use `cmd' to unregister.
21559 * video/readers/png.c (cmd): Declare.
21560 (grub_cmd_pngtest): Use `grub_command_t' type.
21561 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21562 Assign to `cmd'.
21563 (GRUB_MOD_FINI): Use `cmd' to unregister.
21564 * video/readers/tga.c (cmd): Declare.
21565 (grub_cmd_tgatest): Use `grub_command_t' type.
21566 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21567 Assign to `cmd'.
21568 (GRUB_MOD_FINI): Use `cmd' to unregister.
21569
82f3e412 215702009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21571
21572 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21573 stops.
21574 * kern/corecmd.c (grub_register_core_commands): Likewise.
21575 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21576 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21577 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21578 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21579 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21580 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21581 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21582 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21583 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21584 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21585 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21586 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21587 * normal/handler.c (insert_handler): Likewise.
21588 * normal/main.c (GRUB_MOD_INIT): Likewise.
21589 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21590
fdcdbb66 215912009-12-26 Carles Pina i Estany <carles@pina.cat>
21592
21593 * commands/help.c (grub_cmd_help): Print the command name before the
21594 summary.
21595 (GRUB_MOD_INIT): Remove command name from the summary.
21596 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21597 string as summary.
fdcdbb66 21598 * lib/arg.c (find_long): Print the command name before the summary.
21599 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21600 summary.
21601 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21602 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21603 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21604 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21605 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21606 * commands/date.c (GRUB_MOD_INIT): Likewise.
21607 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21608 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21609 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21610 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21611 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21612 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21613 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21614 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21615 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21616 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21617 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21618 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21619 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21620 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21621 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21622 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21623 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21624 * commands/password.c (GRUB_MOD_INIT): Likewise.
21625 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21626 * commands/read.c (GRUB_MOD_INIT): Likewise.
21627 * commands/search.c (GRUB_MOD_INIT): Likewise.
21628 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21629 * commands/test.c (GRUB_MOD_INIT): Likewise.
21630 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21631 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21632 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21633 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21634 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21635 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21636 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21637 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21638 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21639 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21640 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21641 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21642 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21643 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21644
9c288be2
VS
216452009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 Use search command for preliminar UUID search.
21648
21649 * commands/search.c: Split into ...
21650 * commands/search_wrap.c: ...this
21651 * commands/search.c: ...and this.
21652 * commands/search_file.c: New file.
21653 * commands/search_label.c: New file.
21654 * commands/search_uuid.c: New file.
21655 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21656 Add commands/search_wrap.c, commands/search_file.c,
21657 commands/search_label.c and commands/search_uuid.c.
21658 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21659 (search_mod_SOURCES): Set to commands/search_wrap.c.
21660 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21661 search_label.mod.
21662 (search_fs_file_mod_SOURCES): New variable.
21663 (search_fs_file_mod_CFLAGS): Likewise.
21664 (search_fs_file_mod_LDFLAGS): Likewise.
21665 (search_label_mod_SOURCES): Likewise.
21666 (search_label_mod_CFLAGS): Likewise.
21667 (search_label_mod_LDFLAGS): Likewise.
21668 (search_fs_uuid_mod_SOURCES): New variable.
21669 (search_fs_uuid_mod_CFLAGS): Likewise.
21670 (search_fs_uuid_mod_LDFLAGS): Likewise.
21671 (fs_file_mod_SOURCES): Removed.
21672 (fs_file_mod_CFLAGS): Likewise.
21673 (fs_file_mod_LDFLAGS): Likewise.
21674 (fs_uuid_mod_SOURCES): Removed.
21675 (fs_uuid_mod_CFLAGS): Likewise.
21676 (fs_uuid_mod_LDFLAGS): Likewise.
21677 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21678 Set to util/grub-install.in.
21679 * disk/fs_file.c: Removed.
21680 * disk/fs_uuid.c: Likewise.
21681 * include/grub/search.h: New file.
21682 * util/grub-install.in: Handle sparc64.
21683 Create and use load.cfg.
21684 * util/sparc64/ieee1275/grub-install.in: Removed.
21685
db943399
VS
216862009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21687
21688 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21689 Ignore return status if CF is cleared.
21690 (grub_biosdisk_get_diskinfo_standard): Likewise.
21691
3fdae612
RM
216922009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21693
21694 * term/i386/pc/at_keyboard.c
21695 (keyboard_controller_wait_untill_ready): New function.
21696 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21697 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21698 for keyboard polling, rather than duplicate the same loop. This
21699 saves a few bytes in code size.
21700
7ebaa2b4
VS
217012009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21702
21703 Support for (pxe[:server[:gateway]]) syntax and
21704 use environment variable for PXE.
21705
21706 * commands/i386/pc/pxecmd.c (options): Removed.
21707 (print_ip): Removed.
21708 (grub_cmd_pxe): Removed
21709 (grub_cmd_pxe_unload): New function.
21710 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21711 (grub_pxe_your_ip): Made static.
21712 (grub_pxe_default_server_ip): Likewise.
21713 (grub_pxe_default_gateway_ip): Likewise.
21714 (grub_pxe_blksize): Likewise.
21715 (parse_ip): New function.
21716 (grub_pxe_open): Support server and gateway specification.
21717 (grub_pxe_close): Free disk->data.
21718 (grub_pxefs_open): Use disk->data.
21719 (grub_pxefs_read): Likewise.
21720 (grub_env_write_readonly): New function.
21721 (set_mac_env): Likewise.
21722 (set_env_limn_ro): Likewise.
21723 (parse_dhcp_vendor): Likewise.
21724 (grub_pxe_detect): Set the environment variables.
21725 (set_ip_env): New function.
21726 (write_ip_env): Likewise.
21727 (grub_env_write_pxe_default_server): Likewise.
21728 (grub_env_write_pxe_default_gateway): Likewise.
21729 (grub_env_write_pxe_blocksize): Likewise.
21730 (GRUB_MOD_INIT(pxe)): Set environment variables.
21731 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21732 (grub_pxe_mac_addr_t): ... this. All users updated.
21733 (grub_pxe_your_ip): Removed.
21734 (grub_pxe_server_ip): Likewise.
21735 (grub_pxe_gateway_ip): Likewise.
21736 (grub_pxe_blksize): Likewise.
21737
ec5f98ab 217382009-12-25 Carles Pina i Estany <carles@pina.cat>
21739
21740 * commands/help.c: Include `<grub/i18n.h>'.
21741 (grub_cmd_help): Gettextizze.
21742 (GRUB_MOD_INIT): Likewise.
21743 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21744 (GRUB_MOD_INIT): Gettextizze.
21745 * commands/search.c: Include `<grub/i18n.h>'.
21746 (options): Gettextizze.
21747 (GRUB_MOD_INIT): Gettextizze.
21748 * lib/arg.c: Include `<grub/i18n.h>'.
21749 (help_options): Gettextizze.
21750 (find_long): Likewise.
21751 (grub_arg_show_help): Likewise.
21752 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21753 (read_command_list): Gettextizze.
21754 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21755 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21756
22815526
RM
217572009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21758
21759 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21760 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21761 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21762 (led_status): New variable.
21763 (keyboard_controller_led): New function.
21764 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21765 update led status for caps lock, num lock and scroll lock.
21766
0ad46fd7
FZ
217672009-12-25 Felix Zielcke <fzielcke@z-51.de>
21768
21769 * util/hostdisk.c (open_device): Fix a comment.
21770
d0e158c2
RM
217712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21772
21773 * util/grub-install.in (host_os): New variable.
21774 * util/i386/efi/grub-install.in (host_os): Likewise.
21775
401c0ad6
RM
217762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21777
21778 * util/mkisofs/write.c (padblock_write): Abort when given an
21779 excedingly large embed image, instead of silently truncating it.
21780
d14d3370
RM
217812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21782
21783 * include/multiboot.h: Indentation fixes.
21784
eeed10b4
RM
217852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21786
21787 * include/multiboot.h (struct multiboot_aout_symbol_table)
21788 (struct multiboot_elf_section_header_table): New structure
21789 declarations (stolen from GRUB Legacy).
21790 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21791 table information.
21792
21793 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21794 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21795 type aliases.
21796
681c70ab
RM
217972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21798
21799 * include/multiboot.h: Make comments src2texi-friendly.
21800
e4d47d8d
RM
218012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21802
21803 For consistency with [multiboot]/docs/boot.S.
21804
21805 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21806 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21807 (MULTIBOOT_MAGIC2): Rename from this ...
21808 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21809
a0b70bda
RM
218102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21811
21812 * include/multiboot.h: Remove `<grub/types.h>'.
21813 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21814 types. Update all users.
21815
61ba42be 218162009-12-25 Carles Pina i Estany <carles@pina.cat>
21817
21818 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21819 `couldn't' and `can not' by `cannot'.
21820 * commands/i386/pc/drivemap.c: Likewise.
21821 * disk/ata.c: Likewise.
21822 * disk/ieee1275/nand.c: Likewise.
21823 * fs/affs.c: Likewise.
21824 * fs/fat.c: Likewise.
21825 * fs/hfs.c: Likewise.
21826 * fs/hfsplus.c: Likewise.
21827 * fs/iso9660.c: Likewise.
21828 * fs/jfs.c: Likewise.
21829 * fs/minix.c: Likewise.
21830 * fs/reiserfs.c: Likewise.
21831 * fs/sfs.c: Likewise.
21832 * fs/udf.c: Likewise.
21833 * fs/ufs.c: Likewise.
21834 * fs/xfs.c: Likewise.
21835 * loader/powerpc/ieee1275/linux.c: Likewise.
21836 * loader/sparc64/ieee1275/linux.c: Likewise.
21837 * util/grub-probe.c: Likewise.
21838 * util/misc.c: Likewise.
21839
7fd0baee 218402009-12-24 Carles Pina i Estany <carles@pina.cat>
21841
21842 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21843 grub_errno calls.
21844 * commands/acpi.c: Likewise.
21845 * commands/blocklist.c: Likewise.
21846 * commands/efi/loadbios.c: Likewise.
21847 * commands/i386/pc/drivemap.c: Likewise.
21848 * commands/loadenv.c: Likewise.
21849 * commands/memrw.c: Likewise.
21850 * commands/password.c: Likewise.
21851 * commands/videotest.c: Likewise.
21852 * disk/ata.c: Likewise.
21853 * disk/ata_pthru.c: Likewise.
21854 * disk/dmraid_nvidia.c: Likewise.
21855 * disk/ieee1275/nand.c: Likewise.
21856 * disk/ieee1275/ofdisk.c: Likewise.
21857 * disk/loopback.c: Likewise.
21858 * disk/lvm.c: Likewise.
21859 * disk/mdraid_linux.c: Likewise.
21860 * disk/raid.c: Likewise.
21861 * disk/raid6_recover.c: Likewise.
21862 * disk/scsi.c: Likewise.
21863 * efiemu/main.c: Likewise.
21864 * efiemu/mm.c: Likewise.
21865 * efiemu/pnvram.c: Likewise.
21866 * efiemu/symbols.c: Likewise.
21867 * font/font.c: Likewise.
21868 * fs/cpio.c: Likewise.
21869 * fs/hfsplus.c: Likewise.
21870 * fs/iso9660.c: Likewise.
21871 * fs/jfs.c: Likewise.
21872 * fs/minix.c: Likewise.
21873 * fs/ntfs.c: Likewise.
21874 * fs/ntfscomp.c: Likewise.
21875 * fs/reiserfs.c: Likewise.
21876 * fs/ufs.c: Likewise.
21877 * fs/xfs.c: Likewise.
21878 * gettext/gettext.c: Likewise.
21879 * include/grub/auth.h: Likewise.
21880 * kern/elf.c: Likewise.
21881 * kern/file.c: Likewise.
21882 * kern/ieee1275/init.c: Likewise.
21883 * kern/ieee1275/mmap.c: Likewise.
21884 * kern/ieee1275/openfw.c: Likewise.
21885 * kern/powerpc/dl.c: Likewise.
21886 * kern/sparc64/dl.c: Likewise.
21887 * lib/arg.c: Likewise.
21888 * loader/i386/bsd.c: Likewise.
21889 * loader/i386/bsdXX.c: Likewise.
21890 * loader/i386/efi/linux.c: Likewise.
21891 * loader/i386/efi/xnu.c: Likewise.
21892 * loader/i386/ieee1275/linux.c: Likewise.
21893 * loader/i386/linux.c: Likewise.
21894 * loader/i386/multiboot.c: Likewise.
21895 * loader/i386/pc/linux.c: Likewise.
21896 * loader/i386/pc/multiboot2.c: Likewise.
21897 * loader/i386/xnu.c: Likewise.
21898 * loader/ieee1275/multiboot2.c: Likewise.
21899 * loader/macho.c: Likewise.
21900 * loader/machoXX.c: Likewise.
21901 * loader/multiboot2.c: Likewise.
21902 * loader/multiboot_loader.c: Likewise.
21903 * loader/powerpc/ieee1275/linux.c: Likewise.
21904 * loader/sparc64/ieee1275/linux.c: Likewise.
21905 * loader/xnu.c: Likewise.
21906 * loader/xnu_resume.c: Likewise.
21907 * mmap/i386/pc/mmap.c: Likewise.
21908 * normal/menu_viewer.c: Likewise.
21909 * partmap/acorn.c: Likewise.
21910 * partmap/amiga.c: Likewise.
21911 * partmap/apple.c: Likewise.
21912 * script/lexer.c: Likewise.
21913 * term/gfxterm.c: Likewise.
21914 * term/i386/pc/serial.c: Likewise.
21915 * term/i386/pc/vga.c: Likewise.
21916 * term/ieee1275/ofconsole.c: Likewise.
21917 * term/terminfo.c: Likewise.
21918 * video/bitmap.c: Likewise.
21919 * video/efi_gop.c: Likewise.
21920 * video/efi_uga.c: Likewise.
21921 * video/fb/video_fb.c: Likewise.
21922 * video/i386/pc/vbe.c: Likewise.
21923 * video/readers/tga.c: Likewise.
21924 * video/video.c: Likewise.
21925
0ad46fd7 219262009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21927
21928 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21929 * commands/lspci.c: Likewise.
21930 * commands/probe.c: Likewise.
21931 * commands/xnu_uuid.c: Likewise.
21932 * conf/i386-coreboot.rmk: Likewise.
21933 * conf/i386-efi.rmk: Likewise.
21934 * conf/i386-ieee1275.rmk: Likewise.
21935 * conf/i386-pc.rmk: Likewise.
21936 * conf/powerpc-ieee1275.rmk: Likewise.
21937 * conf/sparc64-ieee1275.rmk: Likewise.
21938 * conf/x86_64-efi.rmk: Likewise.
21939 * fs/i386/pc/pxe.c: Likewise.
21940 * gettext/gettext.c: Likewise.
21941 * include/grub/efi/graphics_output.h: Likewise.
21942 * include/grub/i386/pc/memory.h: Likewise.
21943 * kern/env.c: Likewise.
21944 * kern/i386/qemu/startup.S: Likewise.
21945 * lib/i386/pc/biosnum.c: Likewise.
21946 * lib/i386/relocator.c: Likewise.
21947 * lib/i386/relocator_asm.S: Likewise.
21948 * lib/relocator.c: Likewise.
21949 * loader/i386/bsd.c: Likewise.
21950 * loader/i386/multiboot.c: Likewise.
21951 * loader/i386/pc/chainloader.c: Likewise.
21952 * loader/i386/xnu.c: Likewise.
21953 * loader/xnu.c: Likewise.
21954 * normal/main.c: Likewise.
21955 * normal/menu_text.c: Likewise.
21956 * util/getroot.c: Likewise.
21957 * util/grub-mkconfig_lib.in: Likewise.
21958 * util/grub.d/00_header.in: Likewise.
21959 * util/i386/pc/grub-mkimage.c: Likewise.
21960 * util/mkisofs/eltorito.c: Likewise.
21961 * util/mkisofs/exclude.h: Likewise.
21962 * util/mkisofs/hash.c: Likewise.
21963 * util/mkisofs/iso9660.h: Likewise.
21964 * util/mkisofs/joliet.c: Likewise.
21965 * util/mkisofs/mkisofs.c: Likewise.
21966 * util/mkisofs/mkisofs.h: Likewise.
21967 * util/mkisofs/multi.c: Likewise.
21968 * util/mkisofs/name.c: Likewise.
21969 * util/mkisofs/rock.c: Likewise.
21970 * util/mkisofs/tree.c: Likewise.
21971 * util/mkisofs/write.c: Likewise.
21972 * video/efi_gop.c: Likewise.
21973
009ec743
VS
219742009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21975
21976 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21977 size counting.
21978
0ad46fd7 219792009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21980
21981 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21982 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21983
d3d30ea0
VS
219842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21985
21986 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21987 (GRUB_MOD_INIT(memrw)): Update help line.
21988
a34f5c70
VS
219892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21992 Use grub_extcmd_t. All users updated.
21993 (options): New variable.
21994 (grub_cmd_read): Restructure for readability. Support "-v" option.
21995 (grub_cmd_write): Restructure for readability.
21996
0ad46fd7 219972009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21998
21999 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22000
0ad46fd7 220012009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22002
22003 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22004 with the actual contents of the correspondending make variable.
22005 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22006 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22007 specifying `*.lst' and `efiemu??.o'
22008
0ad46fd7 220092009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22010
22011 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22012 after function name.
22013 Noticed by Rene Engelhard <rene@debian.org>.
22014
dc77a799
VS
220152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22016
22017 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22018 (options): New variable.
22019 (iospace): Likewise.
22020 (grub_lspci_iter): List IO spaces if "-i" was given.
22021 (grub_cmd_lspci): Parse options.
22022 (GRUB_MOD_INIT(lspci)): Use extcmd.
22023 (GRUB_MOD_FINI(lspci)): Likewise.
22024
0ad46fd7 220252009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22026
22027 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22028 `function' keyword.
22029 Patch by Tony Mancill <tmancill@debian.org>.
22030
b5d5993b
VS
220312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22032
22033 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22034 (grub_uhci_portstatus): Likewise.
22035 (grub_uhci_portstatus): Add necessary delay.
11d18281 22036 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22037
941903f2 220382009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22039
941903f2 22040 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22041 (GRUB_MOD_INIT): Likewise.
22042 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22043 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22044 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22045 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22046 (enable_rom_area): Likewise.
22047 (GRUB_MOD_INIT): Likewise.
22048 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22049 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22050 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22051 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22052 * commands/hexdump.c (options): Likewise.
22053 * commands/i386/cpuid.c (options): Likewise.
22054 (GRUB_MOD_INIT): Likewise.
22055 * commands/i386/pc/drivemap.c (options): Likewise.
22056 (GRUB_MOD_INIT): Likewise.
22057 * commands/i386/pc/halt (options): Likewise.
22058 (GRUB_MOD_INIT): Likewise.
22059 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22060 * commands/i386/pc/pxecmd.c (options): Likewise.
22061 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22062 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22063 * commands/keystatus.c (options): Likewise.
22064 (GRUB_MOD_INIT): Likewise.
22065 * commands/loadenv.c (options): Likewise.
22066 * commands/ls.c (options): Likewise.
22067 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22068 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22069 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22070 * commands/parttool.c (helpmsg): Likewise.
22071 * commands/probe.c (options): Likewise.
22072 * commands/read.c (GRUB_MOD_INIT): Likewise.
22073 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22074 * commands/search.c (options): Likewise.
22075 * commands/sleep.c (options): Likewise.
22076 * commands/test.c (GRUB_MOD_INIT): Likewise.
22077 * commands/true.c (GRUB_MOD_INIT): Likewise.
22078 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22079 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22080 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22081 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22082 `$(XGETTEXT)'.
98a50553 22083 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22084
0ad46fd7 220852009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22086
ef3c2c3a 22087 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22088 instead of specifying them explicit.
22089
7922f68b
RM
220902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22091
22092 * NEWS: Add grub-probe support for GNU/Hurd.
22093
537ce47f
RM
220942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22095
22096 * NEWS: gettext was added after 1.97.
22097
9b214e3a
RM
220982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22099
22100 * util/mkisofs/msdos_partition.h: New file (based on
22101 include/grub/msdos_partition.h).
22102 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22103 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22104 (ld_options, main): Recognize --protective-msdos-label.
22105 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22106 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22107 (padblock_write): If `use_protective_msdos_label' is set, patch a
22108 protective DOS-style label in the output image.
22109
22110 * util/grub-mkrescue.in: Use --protective-msdos-label.
22111
e9309813
RM
221122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22113
22114 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22115 boot.
22116
0ae56929
RM
221172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22118
22119 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22120 variables.
22121 (ld_options, main): Recognize `--embedded-boot'.
22122 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22123 declarations.
22124 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22125 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22126 (padblock_write): Likewise. Rewrite to support embedded boot image.
22127
22128 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22129 for BIOS-based disk boot instead of only ElTorito.
22130
b15937b1
RM
221312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22132
22133 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22134 build (not needed for bootstrap).
22135
52cc3ce0
RM
221362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22137
22138 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22139 from i386-pc build (not needed for bootstrap).
22140 Rewrite a pair of strings.
22141
36f5ff04
RM
221422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22143
22144 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22145
973c6c85 221462009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22147
22148 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22149
05d21547
AB
221502009-12-21 Andreas Born <futur.andy@googlemail.com>
22151
22152 * kern/env.c (grub_env_context_open): Mark exported variable for
22153 reexport.
22154
0175d51f
AB
221552009-12-21 Andreas Born <futur.andy@googlemail.com>
22156
22157 * kern/env.c (grub_env_export): Create nonexistent variables before
22158 exporting.
22159
7f39d92f 221602009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22161
7f39d92f 22162 * include/grub/auth.h: Include `<grub/i18n.h>'.
22163 (GRUB_GET_PASSWORD): Gettextizze string.
22164 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22165 menu_text.c.
22166 (grub_utf8_to_ucs4_alloc): Fix indentation.
22167 (grub_print_ucs4): Likewise.
22168 (grub_getstringwidth): Likewise.
22169 (print_message_indented): New declaration.
22170 * normal/auth.c: Include `<grub/i18n.h>'.
22171 (grub_auth_check_authentication): Gettexttize string.
22172 * normal/cmdline.c: Include `<grub/i18n.h>'.
22173 (grub_cmdline_get): Gettextizze.
22174 * normal/color.c: Include `<grub/i18n.h>'.
22175 (grub_parse_color_name_pair): Gettexttize strings.
22176 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22177 string (use `print_message_indented').
22178 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22179 `include/grub/normal.h'.
22180 (print_message_indented): Renamed to ...
22181 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22182 used in normal/main.c).
22183 (print_message): Use `grub_print_message_indented' instead of
22184 `print_message_indented'.
22185 (print_timeout): Likewise.
22186 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22187 (grub_normal_print_device_info): Gettexttize strings.
22188 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22189
3041d898
VS
221902009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22193 of arguments. Return number of tokens and not arguments. All users
22194 updated.
22195
de15bf8e
VS
221962009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22197
22198 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22199 non-MSDOS paritions.
22200
e0a6ca52
VS
222012009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22202
22203 * include/grub/types.h (UNUSED): Removed since it conflicts with
22204 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22205 Reported by Grégoire Sutre.
22206
b99518d1 222072009-12-19 Carles Pina i Estany <carles@pina.cat>
22208
22209 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22210 (grub_print_ucs4_alloc): Likewise.
22211 (grub_getstringwidth): Likewise.
22212 * normal/main.c (grub_normal_init_page): Gettextize version string.
22213 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22214 (getstringwidth): Renamed to ...
22215 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22216 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22217 (grub_print_ucs4): Remove `static' qualifer (now used in
22218 normal/main.c).
22219 * po/POTFILES: Add normal/main.c.
22220
bfd5e52b 222212009-12-19 Carles Pina i Estany <carles@pina.cat>
22222
22223 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22224 (print_message_indented): Add `margin_left' and `margin_right'
22225 parameters.
22226 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22227 strings.
22228 (print_timeout): Use `print_message_indented' to print the message.
22229 Deletes `second_stage' parameter.
22230 (run_menu): Update `print_timeout' calls.
22231
5a1ad2b9
VS
222322009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22233
22234 Fix console palette on OpenFirmware.
22235
22236 * term/ieee1275/ofconsole.c (MAX): Removed.
22237 (colors): Redone based on VGA palette.
22238 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22239 colors are supported.
22240 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22241
b045f00a
VS
222422009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22243
22244 Fix potential EfiEmu double prepare.
22245
22246 * efiemu/main.c (prepared): New variable
22247 (grub_efiemu_unload): Set prepare to '0'.
22248 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22249
22250 set_virtual_address_map support.
22251
22252 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22253 prototype.
22254 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22255 prototype.
22256 (grub_efiemu_crc32): Likewise.
22257 (grub_efiemu_crc64): Likewise.
22258 (grub_efiemu_set_virtual_address_map): Likewise.
22259 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22260 New definition.
22261 (grub_autoefi_set_virtual_address_map): Likewise.
22262 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22263 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22264 Restructure flow to accomodate it.
22265 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22266 (grub_efiemu_crc): Recompute CRC32.
22267 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22268 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22269 * efiemu/symbols.c (relocated_handle): New variable.
22270 (grub_efiemu_free_syms): Free relocated_handle.
22271 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22272 (grub_efiemu_write_sym_markers): New function.
22273 (grub_efiemu_set_virtual_address_map): Likewise.
22274
22275 Newer XNU parameters.
22276
22277 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22278 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22279 (grub_xnu_fill_devicetree): New prototype.
22280 (grub_xnu_heap_real_start): New variable.
22281 * loader/xnu.c (get_name_ptr): New function.
22282 (grub_xnu_load_driver): Fill namelen and name.
22283
22284 64-bit xnu support.
22285
22286 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22287 and 'loader/macho64.c'.
22288 * conf/i386-pc.rmk: Likewise.
22289 * conf/x86_64-efi.rmk: Likewise.
22290 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22291 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22292 * include/grub/macho.h (grub_macho_segment64): New structure.
22293 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22294 (grub_macho_size32): ... to this.
22295 (grub_macho32_get_entry_point): Renamed from ...
22296 (grub_macho_get_entry_point32): ... to this.
22297 (grub_macho_contains_macho64): New prototype.
22298 (grub_macho_size64): Likewise.
22299 (grub_macho_get_entry_point64): Likewise.
22300 (grub_macho32_load): Renamed from ...
22301 (grub_macho_load32): ... to this.
22302 (grub_macho32_filesize): Renamed from ...
22303 (grub_macho_filesize32): ... to this.
22304 (grub_macho32_readfile): Renamed from ...
22305 (grub_macho_readfile32): ... to this.
22306 (grub_macho_filesize64): New prototype.
22307 (grub_macho_readfile64): Likewise.
22308 (grub_macho_parse32): Likewise.
22309 (grub_macho_parse64): Likewise.
22310 * loader/macho.c: Split into ...
22311 * loader/machoXX.c: ... and this. Replace 32 with XX.
22312 * loader/macho32.c: New file.
22313 * loader/macho64.c: Likewise.
22314 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22315 (grub_cmd_xnu_kernel): Make 32-bit only.
22316 (grub_cmd_xnu_kernel64): New function.
22317 (grub_xnu_load_driver): Support Mach-O 64.
22318 (grub_cmd_xnu_mkext): Likewise.
22319 * util/grub.d/30_os-prober.in (osx_entry): New function.
22320 Generate entries for 64-bit boot too.
22321
22322 Eliminate ad-hoc tree format in XNU and EfiEmu.
22323
22324 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22325 * efiemu/pnvram.c: Rewritten to use environment variables.
22326 All users updated.
22327
22328 Inline utf16_to_utf8.
22329
22330 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22331 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22332 All users updated.
22333 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22334
22335 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22336 * commands/usbtest.c (grub_usb_get_string): ... move here.
22337 (usb_print_str): Fix error handling.
22338 * include/grub/usb.h (grub_usb_get_string): Remove.
22339
22340 UTF-8 to UTF-16 transformation.
22341
22342 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22343 (charset_mod_SOURCES): New variable.
22344 (charset_mod_CFLAGS): Likewise.
22345 (charset_mod_LDFLAGS): Likewise.
22346 * include/grub/utf.h: New file.
22347 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22348
22349 Support for device properties.
22350
22351 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22352 (grub_xnu_devprop_device_header): Likewise.
22353 (grub_xnu_devprop_device_descriptor): Likewise.
22354 (grub_xnu_devprop_add_device): New prototype.
22355 (grub_xnu_devprop_remove_device): Likewise.
22356 (grub_xnu_devprop_remove_property): Likewise.
22357 (grub_xnu_devprop_add_property_utf8): Likewise.
22358 (grub_xnu_devprop_add_property_utf16): Likewise.
22359 (grub_cpu_xnu_init): Likewise.
22360 (grub_cpu_xnu_fini): Likewise.
22361 (grub_cpu_xnu_unload): Likewise.
22362 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22363 (property_descriptor): Likewise.
22364 (devices): New variable.
22365 (grub_xnu_devprop_remove_property): New function.
22366 (grub_xnu_devprop_add_device): Likewise.
22367 (grub_xnu_devprop_remove_device): Likewise.
22368 (grub_xnu_devprop_add_property): Likewise.
22369 (grub_xnu_devprop_add_property_utf8): Likewise.
22370 (grub_xnu_devprop_add_property_utf16): Likewise.
22371 (hextoval): Likewise.
22372 (grub_cpu_xnu_fill_devprop): Likewise.
22373 (grub_cmd_devprop_load): Likewise.
22374 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22375 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22376 (cmd_devprop_load): New variable.
22377 (grub_cpu_xnu_init): New function.
22378 (grub_cpu_xnu_fini): Likewise.
22379 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22380 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22381 (grub_cmd_xnu_devtree): Likewise.
22382 (hextoval): New function.
22383 (unescape): Likewise.
22384 (grub_xnu_fill_devicetree): Likewise.
22385
22386 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22387 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22388
0945f181
VS
223892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 Workaround for broken ATI VBE.
22392
22393 * video/i386/pc/vbe.c (last_set_mode): New variable.
22394 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22395 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22396 (grub_video_vbe_setup): Don't check for reserved flag.
22397
0ad46fd7 223982009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22399
22400 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22401 the `find' command.
22402
c179ebe4
VS
224032009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 UUID support for HFS.
22406
22407 * fs/hfs.c (grub_hfs_uuid): New function.
22408 (grub_hfs_fs): New value .uuid.
22409 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22410
0ad46fd7 224112009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22412
22413 Fix a segfault with parsing unknown long options.
22414
22415 * util/grub-mkrelpath.c (options): Zero terminate it.
22416
c4a3e41a
CPE
224172009-12-13 Carles Pina i Estany <carles@pina.cat>
22418
22419 * include/grub/misc.h (grub_puts): New declaration.
22420 (grub_puts_): Likewise.
a22008a6 22421 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22422 (grub_puts_): Likewise.
22423
2e8a7602
RM
224242009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22425
22426 * util/grub-probe.c (probe): Improve error message.
22427
b50b77b9
RM
224282009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22429
22430 * loader/i386/multiboot_elfxx.c
22431 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22432 initialization.
22433
224342009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 Relocator framework
22437
22438 * loader/i386/xnu_helper.S: Removed. All users updated.
22439 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22440 (relocator_mod_SOURCES): New variable.
22441 (relocator_mod_CFLAGS): Likewise.
22442 (relocator_mod_LDFLAGS): Likewise.
22443 (relocator_mod_ASFLAGS): Likewise.
22444 * conf/x86_64.rmk: Likewise.
22445 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22446 (grub_multiboot_payload_entry_offset): Likewise.
22447 (grub_multiboot_forward_relocator): Likewise.
22448 (grub_multiboot_forward_relocator_end): Likewise.
22449 (grub_multiboot_backward_relocator): Likewise.
22450 (grub_multiboot_backward_relocator_end): Likewise.
22451 (grub_multiboot_payload_eip): New variable.
22452 (grub_multiboot_payload_orig): Likewise.
22453 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22454 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22455 * include/grub/i386/memory.h
22456 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22457 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22458 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22459 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22460 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22461 * include/grub/i386/relocator.h: New file.
22462 * include/grub/x86_64/relocator.h: Likewise.
22463 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22464 (XNU_RELOCATOR): New macro.
22465 (grub_xnu_launcher_start): Remove.
22466 (grub_xnu_launcher_end): Likewise.
22467 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22468 (grub_xnu_heap_real_start): Remove.
22469 (grub_xnu_heap_start): Change to void *. All users updated.
22470 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22471 * lib/i386/relocator.c: New file.
22472 * lib/i386/relocator_asm.S: Likewise.
22473 * lib/i386/relocator_backward.S: Likewise.
22474 * lib/mips/relocator.c: Likewise.
22475 * lib/mips/relocator_asm.S: Likewise.
22476 * lib/relocator.c: Likewise.
22477 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22478 (entry): Removed.
22479 (playground): Likewise.
22480 (grub_multiboot_payload_orig): New variable.
22481 (grub_multiboot_payload_dest): Likewise.
22482 (grub_multiboot_payload_size): Likewise.
22483 (grub_multiboot_payload_eip): Likewise.
22484 (grub_multiboot_payload_esp): Likewise.
22485 (grub_multiboot_boot): Use grub_relocator32_boot.
22486 (grub_multiboot_unload): Free relocators.
22487 (grub_multiboot): Setup stack. Use relocators.
22488 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22489 (grub_multiboot_load_elfXX): Use relocators.
22490 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22491 (grub_multiboot_payload_size): Likewise.
22492 (grub_multiboot_payload_dest): Likewise.
22493 (grub_multiboot_payload_entry_offset): Likewise.
22494 (grub_multiboot_forward_relocator): Likewise.
22495 (grub_multiboot_backward_relocator): Likewise.
22496 (grub_multiboot_real_boot): Likewise.
22497 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22498 (grub_xnu_entry_point): Likewise.
22499 (grub_xnu_arg1): Likewise.
22500 (grub_xnu_stack): Likewise.
22501 (grub_xnu_launch): Removed.
22502 (grub_xnu_boot_resume): New function.
22503 (grub_xnu_boot): Use relocators.
22504 * loader/i386/xnu_helper.S: Removed.
22505 * loader/xnu.c (grub_xnu_heap_start): New variable.
22506 (grub_xnu_heap_size): Likewise.
22507 (grub_xnu_heap_malloc): Use relocators.
22508 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22509
29eb90c6
VS
225102009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22513 anything.
22514
31027430
CPE
225152009-12-13 Carles Pina i Estany <carles@pina.cat>
22516
22517 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22518 GRUB_ERR_NONE before calling grub_env_set.
22519
dc0c71d9
RM
225202009-12-12 Robert Millan <rmh@aybabtu.com>
22521
22522 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22523 * genmk.rb (video): New variable.
22524 (CLEANFILES, VIDEOFILES): Add #{video}.
22525 (#{video}): New target rule.
22526 * genvideolist.sh: New file.
22527 * Makefile.in (pkglib_DATA): Add video.lst.
22528 (video.lst): New target rule.
22529 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22530 `video.lst'.
22531 * util/grub.d/30_os-prober.in: Replace `vbe' with
22532 ${GRUB_VIDEO_BACKEND}.
22533
2a4bfcf0
RM
225342009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22535
22536 * THANKS: Add David Miller.
22537
2a3aa4d5
RM
225382009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22539
22540 libpciaccess support.
22541
22542 * Makefile.in (LIBPCIACCESS): New variable.
22543 (enable_grub_emu_pci): Likewise.
22544 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22545 util/pci.c and commands/lspci.c.
22546 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22547 * configure.ac (grub-emu-pci): New option.
22548 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22549 (grub_pci_device_unmap_range): Likewise.
22550 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22551 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22552 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22553 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22554 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22555 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22556 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22557 * include/grub/pciutils.h: New file.
22558 * util/pci.c: Likewise.
22559
0ad46fd7 225602009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22561
22562 * util/misc.c: Don't include <errno.h> twice.
22563
0ad46fd7 225642009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22565
22566 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22567 name in an error message.
22568 (grub_biosdisk_rw): Likewise.
22569
2e59983c
VS
225702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22571
22572 Eliminate NTFS 4Gib barrier.
22573
22574 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22575 (read_run_data): Likewise.
22576 (grub_ntfs_read_run_list): Likewise.
22577 (grub_ntfs_read_block): Likewise.
22578 (grub_ntfs_iterate_dir): Likewise.
22579 (read_mft): Likewise.
22580 (read_data): Likewise.
22581 Use COM_LOG_LEN.
22582 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22583 to avoid 64-bit division
22584 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22585 (grub_ntfs_rlst): Use grub_disk_addr_t.
22586
71ee178a
VS
225872009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22588
22589 Eliminate grub-fstest 4Gib barrier.
22590
22591 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22592 (read_file): Fix error reporting.
22593
2520d4b8
VS
225942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22595
22596 Eliminate hexdump 4Gib barrier.
22597
22598 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22599 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22600
e1f27065
VS
226012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22602
22603 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22604 Fixes amarsh bug.
22605
1a0f7f45
RM
226062009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22607
22608 Remove miscellaneous files in distclean target.
22609
22610 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22611
c631d9fb
CW
226122009-12-09 Colin Watson <cjwatson@ubuntu.com>
22613
22614 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22615 if they're already set. This resolves the conflict between my
22616 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22617 fixing the --grub-probe option again.
22618 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22619 change on 2009-10-06, so that we now once again source
22620 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22621
7c7b6106
RM
226222009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22623
22624 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22625 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22626 `util/devicemap.c'.
22627
e3069ec1
CPE
226282009-12-08 Carles Pina i Estany <carles@pina.cat>
22629
22630 * include/grub/misc.h (grub_printf_): New declaration.
22631 * kern/misc.c (grub_printf_): New definition.
22632 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22633 instead of `grub_printf' and `_'.
22634 * normal/menu_entry.c (store_completion): Likewise.
22635 (run): Likewise.
22636 (grub_menu_entry_run): Likewise.
22637 * normal/menu_text.c (grub_wait_after_message): Likewise.
22638 (notify_booting): Likewise.
22639 (notify_fallback): Likewise.
22640 (notify_execution_failure): Likewise.
22641
d6ceebf1
CW
226422009-12-07 Colin Watson <cjwatson@ubuntu.com>
22643
22644 * configure.ac: Check for vasprintf.
22645 * util/misc.c (asprintf): Move allocation from here ...
22646 (vasprintf): ... to here. New function.
22647 (xasprintf): New function.
22648 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22649 prototypes.
22650 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22651 * util/grub-mkfont.c (write_font): Likewise.
22652 * util/grub-probe.c (probe): Likewise.
22653 * util/hostdisk.c (make_device_name): Likewise.
22654
de6daa8b
DM
226552009-12-06 David S. Miller <davem@sunset.davemloft.net>
22656
22657 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22658 anything even prefixed with 'cdrom' as a cdrom.
22659
0ad46fd7 226602009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22661
22662 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22663 mount points.
22664
98d3dc02
CPE
226652009-12-05 Carles Pina i Estany <carles@pina.cat>
22666
22667 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22668 grub_gettext_msg_list.
22669 (grub_gettext_gettranslation_from_position): Return const char *
22670 and not char *.
a2c1332b 22671 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22672 returns from the list if existing there.
22673 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22674 (grub_gettext_delete_list): Delete the list.
22675 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22676 lang environment variable is changed.
22677 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22678
b283f108
VS
226792009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22680
22681 Rename kernel.mod to kernel.img.
22682
22683 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22684 (kernel_mod_EXPORTS): Rename to ...
22685 (kernel_img_EXPORTS): ... this.
22686 (kernel_mod_SOURCES): Rename to ...
22687 (kernel_img_SOURCES): ... this.
22688 (kernel_mod_HEADERS): Rename to ...
22689 (kernel_img_HEADERS): ... this. All users updated.
22690 (kernel_mod_CFLAGS): Rename to ...
22691 (kernel_img_CFLAGS): ... this.
22692 (kernel_mod_ASFLAGS): Rename to ...
22693 (kernel_img_ASFLAGS): ... this.
22694 (kernel_mod_LDFLAGS): Rename to ...
22695 (kernel_img_LDFLAGS): ... this.
22696 * conf/x86_64-efi.rmk: Likewise.
22697 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22698 (read_kernel_image): ... this. All users updated.
22699 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22700
69055f8a
CPE
227012009-12-05 Carles Pina i Estany <carles@pina.cat>
22702
22703 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22704 (print_spaces): New function.
22705 (grub_print_ucs4): New function.
22706 (getstringwidth): New function.
22707 (print_message_indented): New function.
22708 (print_message): Gettexttize strings using print_message_indented.
22709 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22710 width.
22711 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22712 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22713 Gettextize.
22714 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22715 string.
22716 (run): Likewise.
22717 (grub_menu_entry_run): Likewise.
22718 * PO/POTFILES: Add normal/menu_entry.c.
22719
f616f51c
VS
227202009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22723
57bbe3be
CPE
227242009-12-05 Carles Pina i Estany <carles@pina.cat>
22725
22726 * util/grub-install.in: Install gettext .mo files.
22727 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22728
013d67a1
CPE
227292009-12-05 Carles Pina i Estany <carles@pina.cat>
22730
22731 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22732 grub_dprintf.
22733
fb954db0
RM
227342009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22735
22736 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22737 non-firmware-dependant one in realmode.S takes precedence.
22738
6b8474f8
RM
227392009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22740
22741 * commands/halt.c: Replace misc arch-specific headers with
22742 `<grub/misc.h>'.
22743 * commands/reboot.c: Likewise.
22744 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22745 `<grub/misc.h>'.
22746 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22747 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22748 (kernel_img_SOURCES): ... to here.
22749
22750 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22751 * include/grub/i386/pc/init.h: Likewise.
22752 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22753 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22754
22755 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22756
22757 * include/grub/i386/halt.h: Remove.
22758 * include/grub/i386/reboot.h: Likewise.
22759
22760 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22761
4b2e6ca2
DM
227622009-12-03 David S. Miller <davem@sunset.davemloft.net>
22763
22764 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22765 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22766 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22767 "progname.h"
22768 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22769 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22770 (usage): Add missing comma in printf.
22771
5239348f
RM
227722009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22773
22774 Use the same reboot approach on i386 coreboot and qemu as we do on
22775 BIOS.
22776
22777 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22778 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22779 * kern/i386/reboot.c: Remove.
22780 * include/grub/i386/reboot.h (grub_reboot): Export function.
22781 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22782 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22783 0xf000:0xfff0 instead of 0xffff:0x0000.
22784 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22785 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22786
ef34cbd4
RM
227872009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22788
22789 Fix $srcdir != $objdir build.
22790
22791 * Makefile.in (po/%.po): Rewrite as ...
22792 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22793
dc9837ea
ST
227942009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22795
22796 Fix GNU/Hurd grub-install crash.
22797 * util/grub-probe.c (probe): Try to access `path' only when it is not
22798 NULL.
22799
2f857f98
VS
228002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22801
22802 Correct module naming.
22803
22804 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22805 (GRUB_MOD_INIT(efi_uga)): ... to this
22806 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22807 (GRUB_MOD_FINI(efi_uga)): ... to this
22808 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22809 (GRUB_MOD_INIT(efi_gop)): ... to this
22810 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22811 (GRUB_MOD_FINI(efi_gop)): ... to this
22812
c5448046
RM
228132009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22814
22815 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22816 translatable.
22817 (usage): Translate `arg' strings using gettext().
22818 Thanks to Jordi Mallach for the suggestion.
22819
c85184ad
VS
228202009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 GOP support. Based on patch from Bean
22823 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22824
22825 * video/efi_gop.c: New file.
22826 * include/grub/efi/graphics_output.h: Likewise.
22827 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22828 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22829 variables.
22830 * conf/x86_64-efi.rmk: Likewise.
22831
8a4c48d8
VS
228322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22833
22834 Rename efi_fb to efi_uga.
22835
22836 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22837 'efi_uga.mod'.
22838 (efi_fb_mod_SOURCES): Rename this ...
22839 (efi_uga_mod_SOURCES): ... to this.
22840 (efi_fb_mod_CFLAGS): Rename this ...
22841 (efi_uga_mod_CFLAGS): ... to this.
22842 (efi_fb_mod_LDFLAGS): Rename this ...
22843 (efi_uga_mod_LDFLAGS): ... to this.
22844 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22845 'efi_uga.mod'.
22846 (efi_fb_mod_SOURCES): Rename this ...
22847 (efi_uga_mod_SOURCES): ... to this.
22848 (efi_fb_mod_CFLAGS): Rename this ...
22849 (efi_uga_mod_CFLAGS): ... to this.
22850 (efi_fb_mod_LDFLAGS): Rename this ...
22851 (efi_uga_mod_LDFLAGS): ... to this.
22852 * video/efi_fb.c: Move this ...
22853 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22854
fb6c1a7b
RM
228552009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22856
22857 * po/README: New file. Explain our PO file workflow.
22858
3bc7896c
RM
228592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22860
22861 * po/ChangeLog: Remove. Move relevant entries back to ...
22862 * ChangeLog: ... here.
22863 * po/ca.po: Remove (now handled by TLP).
22864 * po/id.po: Likewise.
22865 * po/zh_CN.po: Likewise.
22866 * Makefile.in (LINGUAS): Initialize in a way that supports
22867 empty set.
22868
9ed4841d
RM
228692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22870
22871 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22872 reliing on po/LINGUAS.
22873 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22874 (po/%.po): ... this.
22875
0ad46fd7 228762009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22877
22878 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22879 (main): Use `program_name' instead of nonexistent `progname'.
22880
e30dd392
FZ
228812009-11-26 Felix Zielcke <fzielcke@z-51.de>
22882
22883 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22884 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22885
7656de4f
RM
228862009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22887
22888 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22889 commit.
22890 * conf/i386-efi.rmk: Likewise.
22891 * conf/i386-ieee1275.rmk: Likewise.
22892 * conf/powerpc-ieee1275.rmk: Likewise.
22893 * conf/sparc64-ieee1275.rmk: Likewise.
22894 * conf/x86_64-efi.rmk: Likewise.
22895
db77c4d4
FZ
228962009-11-26 Felix Zielcke <fzielcke@z-51.de>
22897
22898 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22899
a755bb04
FZ
229002009-11-26 Felix Zielcke <fzielcke@z-51.de>
22901
22902 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22903
8a4c07fd
RM
229042009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22905
22906 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22907 (grub_mkdevicemap_SOURCES): New variable.
22908 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22909 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22910 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22911 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22912 (grub_mkdevicemap_SOURCES): Remove.
22913 * conf/i386-efi.rmk: Likewise.
22914 * conf/i386-ieee1275.rmk: Likewise.
22915 * conf/i386-pc.rmk: Likewise.
22916 * conf/powerpc-ieee1275.rmk: Likewise.
22917 * conf/sparc64-ieee1275.rmk: Likewise.
22918 * conf/x86_64-efi.rmk: Likewise.
22919 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22920 (usage): Fix strings to use `program_name'.
22921 (main): Initialize gettext.
22922 * util/grub-editenv.c: Likewise.
22923 * util/grub-emu.c: Likewise.
22924 * util/grub-fstest.c: Likewise.
22925 * util/grub-mkdevicemap.c: Likewise.
22926 * util/grub-mkfont.c: Likewise.
22927 * util/grub-mkrelpath.c: Likewise.
22928 * util/grub-pe2elf.c: Likewise.
22929 * util/grub-probe.c: Likewise.
22930 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22931 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22932 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22933
22934 * util/misc.c: Include `"progname.h"'.
22935 (progname): Remove variable.
22936 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22937
6f61ed55
FZ
229382009-11-25 Felix Zielcke <fzielcke@z-51.de>
22939
22940 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22941 printf and print a newline after the menuentry header line.
22942 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22943
f022876b
FZ
229442009-11-25 Felix Zielcke <fzielcke@z-51.de>
22945
22946 autoconf >= 2.60 support $(localedir).
22947
22948 * INSTALL: Note that autoconf 2.60 is required.
22949 * configure.ac (AC_PREREQ): Bump to 2.60.
22950 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22951 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22952
6717926e
YB
229532009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22954
22955 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22956 aclocal is run.
22957
08806a54
RM
229582009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22959
22960 * normal/main.c (grub_normal_read_line): Fix off-by-one
22961 buffer overflow.
22962
13b33fba
RM
229632009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22964
22965 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22966 "parser.grub" in grub_command_execute() call.
22967
4a8572e9
CPE
229682009-11-24 Carles Pina i Estany <carles@pina.cat>
22969
22970 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22971 * conf/i386-efi.rmk: Likewise.
22972 * conf/i386-ieee1275.rmk: Likewise.
22973 * conf/i386-pc.rmk: Likewise.
22974 * conf/powerpc-ieee1275.rmk: Likewise.
22975 * conf/sparc64-ieee1275.rmk: Likewise.
22976 * conf/x86_64-efi.rmk: Likewise.
22977 * gettext/gettex.c: Include <grub/i18n.h>.
22978 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22979 here ...
22980 * include/grub/i18n.h: ... to here
22981 * include/grub/i18n.h: ... to here.
22982 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22983 (grub_gettext_dummy): Move above user.
4a8572e9 22984
bee48093
FZ
229852009-11-24 Felix Zielcke <fzielcke@z-51.de>
22986
22987 * util/Makefile.in (install-local): Convert a `for' into a normal
22988 shell expansion.
22989
a031e91c
RM
229902009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22991
22992 * autogen.sh: Add automake call.
22993 * config.guess: Remove.
22994 * config.sub: Likewise.
22995 * install-sh: Likewise.
22996
26bec39d
FZ
229972009-11-24 Felix Zielcke <fzielcke@z-51.de>
22998
22999 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23000
8e2532fd
FZ
230012009-11-24 Felix Zielcke <fzielcke@z-51.de>
23002
23003 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23004 function to a normal shell `for'.
23005
fefa1b7d
FZ
230062009-11-24 Felix Zielcke <fzielcke@z-51.de>
23007
23008 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23009
4501250b
FZ
230102009-11-24 Felix Zielcke <fzielcke@z-51.de>
23011
23012 * util/grub-mkrelpath.c: New file.
23013 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23014 (grub_mkrelpath_SOURCES): New variable.
23015 * include/grub/util/misc.h: New function prototype.
23016 * util/misc.c (make_system_path_relative_to_its_root): New function.
23017
23018 * util/grub-mkconfig_lib.in (bindir): New variable.
23019 (grub_mkrelpath): Likewise.
23020 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23021
23022 * util/probe.c (probe): Make the file path relative to its root.
23023 Change a info message to use the GRUB path. Enable again the
23024 check if we can read the file with GRUB facilities.
23025
23026 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23027 to its root.
23028
11d9778b
FZ
230292009-11-24 Felix Zielcke <fzielcke@z-51.de>
23030
23031 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23032 platform.
23033
4465287d
FZ
230342009-11-24 Felix Zielcke <fzielcke@z-51.de>
23035
23036 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23037 strncmp().
23038
62b47f22
FZ
230392009-11-24 Felix Zielcke <fzielcke@z-51.de>
23040
23041 * util/getroot.c (grub_util_is_dmraid): New function.
23042 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23043 devices as normal ones, not as LVM.
23044
1eafb9b9 230452009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23046
23047 * conf/common.rmk: Add grub-gettext_lib target and updates
23048 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23049 LDFLAGS.
23050 * gettext/gettext.c: New file. (Reads mo files).
23051 * include/grub/file.h (grub_file_pread): New prototype.
23052 * include/grub/i18n.h (_): New prototype.
23053 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23054 prototypes.
23055 * kern/misc.c (grub_gettext_dummy): New function.
23056 * normal/menu_text.c: Include <grub/i18n.h>.
23057 * normal/menu_text.c (print_timeout): Gettexttize string.
23058 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23059 * po/POTFILES: Add `normal/menu_text.c'.
23060 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23061 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23062 gettext module and defines locale_dir and lang in grub.cfg.
23063 * NEWS: Add gettext support.
23064
0fdb2568
RM
230652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23066
23067 * util/hostdisk.c: Include `<grub/i18n.h>'.
23068 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23069 (make_device_name): Rewrite using asprintf.
23070 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23071 (find_system_device): If a device is not found, generate one just
23072 by reusing the OS path name.
23073 (read_device_map): Make it permissible for device.map not to exist.
23074
f515aa62
RM
230752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23076
23077 * script/sh/execute.c: Move from here ...
23078 * script/execute.c: ... to here. Update all users.
23079 * script/sh/function.c: Move from here ...
23080 * script/function.c: ... to here. Update all users.
23081 * script/sh/lexer.c: Move from here ...
23082 * script/lexer.c: ... to here. Update all users.
23083 * script/sh/main.c: Move from here ...
23084 * script/main.c: ... to here. Update all users.
23085 * script/sh/parser.y: Move from here ...
23086 * script/parser.y: ... to here. Update all users.
23087 * script/sh/script.c: Move from here ...
23088 * script/script.c: ... to here. Update all users.
23089
f84b481b
RM
230902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23091
23092 * configure.ac: Detect all `emu' platforms. Define
23093 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23094 --enable-grub-emu logic. Disable include/grub/machine
23095 symlink on `emu' platforms.
23096
23097 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23098 * gensymlist.sh.in: Likewise.
23099
23100 * include/grub/i386/coreboot/machine.h: Remove file.
23101 * include/grub/i386/efi/machine.h: Likewise.
23102 * include/grub/i386/ieee1275/machine.h: Likewise.
23103 * include/grub/i386/pc/machine.h: Likewise.
23104 * include/grub/i386/qemu/machine.h: Likewise.
23105 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23106 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23107 * include/grub/x86_64/efi/machine.h: Likewise.
23108
23109 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23110 * commands/halt.c: Likewise.
23111 * commands/reboot.c: Likewise.
23112 * include/grub/autoefi.h: Likewise.
23113 * include/grub/i386/at_keyboard.h: Likewise.
23114 * include/grub/i386/kernel.h: Likewise.
23115 * include/grub/i386/loader.h: Likewise.
23116 * include/grub/i386/pc/memory.h: Likewise.
23117 * kern/dl.c: Likewise.
23118 * kern/i386/coreboot/init.c: Likewise.
23119 * loader/i386/bsd.c: Likewise.
23120 * loader/i386/linux.c: Likewise.
23121 * loader/multiboot_loader.c: Likewise.
23122 * term/i386/pc/serial.c: Likewise.
23123 * term/usb_keyboard.c: Likewise.
23124
23125 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23126 `<grub/machine/machine.h>'
23127 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23128 * util/misc.c: Remove `<grub/machine/machine.h>' and
23129 `<grub/machine/time.h>'.
23130
23131 * Makefile.in (enable_grub_emu): Remove variable.
23132 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23133
23134 * conf/any-emu.rmk: New file.
23135 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23136 (grub_emu_init.c): Move from here ...
23137 * conf/any-emu.rmk: ... to here.
23138
23139 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23140 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23141 * conf/any-emu.rmk: ... to here.
23142
4efeab03
RM
231432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23144
23145 * include/grub/parser.h (grub_parser_register): Document need
23146 of `name' parameter.
23147 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23148 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23149 "sh" to "grub".
23150
ea1dd8bf
RM
231512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23152
23153 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23154 `$(XGETTEXT)'.
23155 * include/grub/i18n.h (N_): New macro.
23156 * util/mkisofs/mkisofs.h: Likewise.
23157 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23158 around N_().
23159 (usage): Use gettext() to translate help strings when printing them.
23160
0c140626
RM
231612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23162
23163 Based on patch from Bean
23164 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23165
23166 * video/efi_fb.c: New file.
23167 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23168 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23169 variables.
23170 * conf/x86_64-efi.rmk: Likewise.
23171
87d58298
RM
231722009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23173
23174 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23175 * util/i386/pc/grub-setup.c: Likewise.
23176
994cc3a3
ST
231772009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23178
23179 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23180 <hurd/fs.h>
23181 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23182 file_get_storage_info to implement grub_guess_root_device.
23183
26a61d6a
FZ
231842009-11-21 Felix Zielcke <fzielcke@z-51.de>
23185
23186 * Makefile.in (target): Use make's builtin $(shell) function
23187 instead of calling directly $(SHELL) to create the locale directories,
23188 inside the $(foreach) function.
23189
74ff1dd5
FZ
231902009-11-21 Felix Zielcke <fzielcke@z-51.de>
23191
23192 * util/grub-mkrescue.in: Print an error and usage if output option
23193 has not been given.
23194
0b787d0e
FZ
231952009-11-21 Felix Zielcke <fzielcke@z-51.de>
23196
23197 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23198 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23199 root and /boot are on different devices.
23200
1164b270
RM
232012009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23202
23203 Fix build for srcdir != objdir.
23204
23205 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23206 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23207 $(srcdir).
23208 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23209 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23210 reference for input.
23211
13774a2f
RM
232122009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23213
23214 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23215 or hardlinking it). Remove -J option, Joliet is not compatible with
23216 multiple source directories.
23217
efda854e
RM
232182009-11-21 Carles Pina i Estany <carles@pina.cat>
232192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23220
23221 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23222 (process_input_dir): New function. Process an arbitrary input
23223 directory.
23224 Misc adjustments to support both "override mode" and system-wide mode.
23225
6c09890c
FZ
232262009-11-20 Felix Zielcke <fzielcke@z-51.de>
23227
23228 * configure.ac (UNIFONT_BDF): Rename to ...
23229 (FONT_SOURCE): ... this. Update all users.
23230
a797824f
FZ
232312009-11-20 Felix Zielcke <fzielcke@z-51.de>
23232
23233 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23234 to the list of unifont files to look for.
23235
cd4f42b0
RM
232362009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23237
23238 Patch from Joe Auricchio <jauricchio@gmail.com>
23239 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23240 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23241 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23242
393c783d
FZ
232432009-11-19 Felix Zielcke <fzielcke@z-51.de>
23244
23245 * Makefile.in (install-local): Add a missing backslash.
23246
b2f1e327
FZ
232472009-11-19 Felix Zielcke <fzielcke@z-51.de>
23248
23249 * include/grub/x86_64/io.h: New file.
23250
f577f7a0
RM
232512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23252
23253 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23254 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23255 Include `"progname.h"'.
23256 (main): Initialize gettext.
23257 * util/i386/pc/grub-setup.c: Gettexttize.
23258 * util/i386/pc/grub-mkimage.c: Likewise.
23259
23260 * Makefile.in (po/*.po): Redefine as ...
23261 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23262
3bc7896c
RM
23263 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23264
c37943b6
RM
232652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23266
23267 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23268 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23269 (program_name): Remove.
23270 (main): Initialize gettext support.
6323f705
RM
23271 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23272 Include `<libintl.h>'.
23273 (_): New macro.
c37943b6
RM
23274
23275 * util/mkisofs/eltorito.c: Gettexttize.
23276 * util/mkisofs/joliet.c: Likewise.
23277 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23278 * util/mkisofs/multi.c: Likewise.
23279 * util/mkisofs/rock.c: Likewise.
23280 * util/mkisofs/tree.c: Likewise.
23281 * util/mkisofs/write.c: Likewise.
23282
3bc7896c
RM
23283 * po/POTFILES: Update with new files.
23284
5ce77c6e
RM
232852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23286
23287 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23288 * util/mkisofs/iso9660.h: Likewise.
23289 * util/mkisofs/joliet.c: Likewise.
23290 * util/mkisofs/mkisofs.c: Likewise.
23291 * util/mkisofs/mkisofs.h: Likewise.
23292 * util/mkisofs/rock.c: Likewise.
23293 * util/mkisofs/tree.c: Likewise.
23294 * util/mkisofs/write.c: Likewise.
23295
23296 * util/mkisofs/eltorito.c (rcsid): Remove.
23297 * util/mkisofs/hash.c: Likewise.
23298 * util/mkisofs/joliet.c: Likewise.
23299 * util/mkisofs/name.c: Likewise.
23300 * util/mkisofs/rock.c: Likewise.
23301 * util/mkisofs/tree.c: Likewise.
23302 * util/mkisofs/write.c: Likewise.
23303
1dabbc77
RM
233042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23305
23306 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23307 instead of static allocation.
23308 * util/mkisofs/match.h: Likewise.
23309
633877cb
RM
233102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23311
3bc7896c
RM
23312 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23313 and `util/grub.d/10_linux.in'.
633877cb
RM
23314 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23315 translatable Shell files.
23316
af1c0c85
RM
233172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23318
23319 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23320
769ae37b
RM
233212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23322
23323 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23324 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23325 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23326 Add gettext initialization.
23327 (kfreebsd_entry): Make menuentry output translatable.
23328
233292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23330
23331 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23332 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23333 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23334 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23335 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23336 * po/LINGUAS: New file.
769ae37b
RM
23337
233382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23339
23340 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23341 other things).
23342 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23343 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23344 bindtextdomain() calls for gettext initialization.
23345
233462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23347
23348 * gnulib/progname.c: New file (imported from Gnulib).
23349 * gnulib/progname.h: Likewise.
23350 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23351 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23352 (usage): Replace `progname' with `program_name'.
23353 (main): Use set_program_name() for program name initialization.
23354
233552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23356
23357 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23358 from here ...
23359 * Makefile.in (CPPFLAGS): ... to here.
23360
233612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23362
23363 * aclocal.m4: Move from here ...
23364 * acinclude.m4: ... to here.
23365 * autogen.sh: Add call to `aclocal'.
23366 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23367
233682009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23369
23370 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23371 (LINGUAS): New variable.
23372 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23373 (install-local): Install MO files.
23374 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23375 * include/grub/i18n.h: New file.
3bc7896c
RM
23376 * po/POTFILES: New file.
23377 * po/ca.po: New file.
769ae37b
RM
23378 * util/grub.d/10_linux.in (bindir): New variable.
23379 Add gettext initialization.
23380 (linux_entry): Make menuentry output translatable.
23381 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23382 (usage): Make --help output translatable.
23383 (main): Initialize gettext.
23384
02c0a6ad
RM
233852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23386
23387 * import_gcry.py: New file (written by Vladimir with minor
23388 adjustments).
23389 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23390 ciphers.
23391 * INSTALL: Document that Python is required for bootstrap.
23392
233932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23394
23395 Import ciphers from libgcrypt 1.4.4.
23396
23397 * lib/libgcrypt/cipher/ChangeLog
23398 * lib/libgcrypt/cipher/ac.c
23399 * lib/libgcrypt/cipher/arcfour.c
23400 * lib/libgcrypt/cipher/bithelp.h
23401 * lib/libgcrypt/cipher/blowfish.c
23402 * lib/libgcrypt/cipher/camellia-glue.c
23403 * lib/libgcrypt/cipher/camellia.c
23404 * lib/libgcrypt/cipher/camellia.h
23405 * lib/libgcrypt/cipher/cast5.c
23406 * lib/libgcrypt/cipher/cipher.c
23407 * lib/libgcrypt/cipher/crc.c
23408 * lib/libgcrypt/cipher/des.c
23409 * lib/libgcrypt/cipher/dsa.c
23410 * lib/libgcrypt/cipher/ecc.c
23411 * lib/libgcrypt/cipher/elgamal.c
23412 * lib/libgcrypt/cipher/hash-common.c
23413 * lib/libgcrypt/cipher/hash-common.h
23414 * lib/libgcrypt/cipher/hmac-tests.c
23415 * lib/libgcrypt/cipher/md.c
23416 * lib/libgcrypt/cipher/md4.c
23417 * lib/libgcrypt/cipher/md5.c
23418 * lib/libgcrypt/cipher/primegen.c
23419 * lib/libgcrypt/cipher/pubkey.c
23420 * lib/libgcrypt/cipher/rfc2268.c
23421 * lib/libgcrypt/cipher/rijndael-tables.h
23422 * lib/libgcrypt/cipher/rijndael.c
23423 * lib/libgcrypt/cipher/rmd.h
23424 * lib/libgcrypt/cipher/rmd160.c
23425 * lib/libgcrypt/cipher/rsa.c
23426 * lib/libgcrypt/cipher/seed.c
23427 * lib/libgcrypt/cipher/serpent.c
23428 * lib/libgcrypt/cipher/sha1.c
23429 * lib/libgcrypt/cipher/sha256.c
23430 * lib/libgcrypt/cipher/sha512.c
23431 * lib/libgcrypt/cipher/tiger.c
23432 * lib/libgcrypt/cipher/twofish.c
23433 * lib/libgcrypt/cipher/whirlpool.c
23434
af2f93ac
RM
234352009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23436
23437 Fix build for systems without error().
23438
23439 * gnulib/error.c: New file (imported from Gnulib).
23440 * gnulib/error.h: Likewise.
23441 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23442 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23443 (this variable is now used by error()).
23444
73fb3dd5
FZ
234452009-11-16 Felix Zielcke <fzielcke@z-51.de>
23446
814f5e96
FZ
23447 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23448 instead of relying that char is signed.
73fb3dd5 23449
a691ca33
VS
234502009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23451
23452 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23453 blocksize different from specified.
23454 (grub_pxefs_read): Likewise.
23455
2af8f0f4
FZ
234562009-11-16 Felix Zielcke <fzielcke@z-51.de>
23457
23458 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23459
23460 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23461 (grub_ata_readwrite): Likewise. Update 2 format strings.
23462 (grub_atapi_read): Likewise.
23463
23464 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23465 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23466 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23467 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23468 (ata_mod_LDFLAGS): Move from here ...
23469 * conf/i386.rmk: ... to here ...
23470 * conf/x86_64-efi.rmk: ... and here.
23471 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23472 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23473
83bdecaf
RM
234742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23475
23476 Relicense multiboot.h, with RMS' blessing.
23477
23478 * include/multiboot.h: Change to X11 license.
23479
fd6fd3d7
RM
234802009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23481
23482 Support --version in grub-mkisofs.
23483
23484 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23485 (OPTION_VERSION): New macro.
23486 (ld_options): Recognize --version.
23487 (usage): Move `program_name' from here ...
23488 (program_name): ... to here. Add `static' qualifier.
23489 (main): Recognize `OPTION_VERSION'.
23490
16a88c49
FZ
234912009-11-15 Felix Zielcke <fzielcke@z-51.de>
23492
23493 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23494 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23495
a4158476
RM
234962009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23497
23498 Fix help2man generation for mkisofs.
23499
23500 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23501 (usage): Send output to stdout (rather than stderr).
23502
fc2208b0
RM
235032009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23504
23505 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23506 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23507 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23508 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23509 (bin_SCRIPTS): Add `grub-mkfloppy'.
23510 (grub_mkfloppy_SOURCES): New variable.
23511
23512 * util/grub-mkrescue.in: New file.
23513 * util/i386/pc/grub-mkfloppy.in: New file.
23514
23515 * util/i386/coreboot/grub-mkrescue.in: Remove.
23516 * util/i386/pc/grub-mkrescue.in: Remove.
23517
8d0edf4a
RM
235182009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23519
23520 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23521 from here ...
23522 * include/multiboot.h (struct multiboot_header): ... to here. Update
23523 all users.
23524 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23525 from here ...
23526 * include/multiboot.h (struct multiboot_info): ... to here. Update
23527 all users.
23528 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23529 from here ...
23530 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23531 Update all users.
23532 * include/grub/multiboot.h (struct grub_mod_list): Move
23533 from here ...
23534 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23535 Update all users.
23536
a73f5969
RM
235372009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23538
23539 * include/multiboot2.h (multiboot_word): Rename from this ...
23540 (multiboot2_word): ... to this. Update all users.
23541 (multiboot_header): Rename from this ...
23542 (multiboot2_header): ... to this. Update all users.
23543 (multiboot_tag_header): Rename from this ...
23544 (multiboot2_tag_header): ... to this. Update all users.
23545 (multiboot_tag_start): Rename from this ...
23546 (multiboot2_tag_start): ... to this. Update all users.
23547 (multiboot_tag_name): Rename from this ...
23548 (multiboot2_tag_name): ... to this. Update all users.
23549 (multiboot_tag_module): Rename from this ...
23550 (multiboot2_tag_module): ... to this. Update all users.
23551 (multiboot_tag_memory): Rename from this ...
23552 (multiboot2_tag_memory): ... to this. Update all users.
23553 (multiboot_tag_unused): Rename from this ...
23554 (multiboot2_tag_unused): ... to this. Update all users.
23555 (multiboot_tag_end): Rename from this ...
23556 (multiboot2_tag_end): ... to this. Update all users.
23557
1c8927f0
RM
235582009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23559
23560 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23561 this platform we should support Multiboot1 first.
23562
23563 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23564 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23565 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23566
6e1e0d89
RM
235672009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23568
23569 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23570 of write calls (converting them to fwrite() if they aren't already).
23571 (get_torito_desc): Likewise.
23572 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23573
7f2b34d8
RM
235742009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23575
23576 * util/i386/pc/grub-install.in: Move from here ...
23577 * util/grub-install.in: ... to here. Update all users.
23578
c0ef3311
CW
235792009-11-11 Colin Watson <cjwatson@ubuntu.com>
23580
23581 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23582
e1f240ff
RM
235832009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23584
23585 Support for El Torito without floppy emulation.
23586
23587 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23588 (init_boot_catalog): Improve error handling.
23589 (get_torito_desc): Don't use floppy emulation unless requested by
23590 user. Patch boot information table when requested via
23591 `-boot-info-table'.
23592 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23593 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23594 (use_boot_info_table): New variables.
23595 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23596 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23597 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23598 `--eltorito-emul-floppy'.
23599 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23600 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23601 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23602 (use_boot_info_table, get_731): New prototypes.
23603 * util/mkisofs/write.c (get_731): New function.
23604
af7d4de5
FZ
236052009-11-11 Felix Zielcke <fzielcke@z-51.de>
23606
23607 Fix the generation of the man page.
23608
23609 * util/pc/i386/grub-install.in: Source
23610 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23611
2c55dbc0
RM
236122009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23613
23614 Large file support for grub-mkisofs.
23615
23616 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23617 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23618 (session_start): Upgrade type to `uint64_t'. Update all users.
23619 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23620 (struct directory_entry): Upgrade type of `starting_block' and
23621 `size' to `uint64_t'. Update all users.
23622 (struct deferred): Remove unused structure.
23623 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23624 Update all users.
23625 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23626 file is larger than `UINT32_MAX'.
23627 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23628 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23629 return value.
23630 (struct deferred_write): Upgrade type of `extent' and `size' to
23631 `uint64_t'. Update all users.
23632 (last_extent_written): Upgrade type to `uint64_t'. Update all
23633 users.
23634 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23635 Update all users. Upgrade type of `remain' to `int64_t' and
23636 `use' to `size_t'. Use error() to handle fread() errors.
23637 (write_files): Rely on write_one_file() rather than calling
23638 xfwrite() directly.
23639
6a9cead5
FZ
236402009-11-09 Felix Zielcke <fzielcke@z-51.de>
23641
23642 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23643
4825d790
RM
236442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23645
23646 * util/mkisofs/fnmatch.c: Remove.
23647 * util/mkisofs/getopt1.c: Likewise.
23648 * util/mkisofs/getopt.c: Likewise.
23649 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23650 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23651 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23652 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23653 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23654
23655 * configure.ac: Detect `mingw32msvc' host_os.
23656 Check for lstat(), getuid() and getgid().
23657
23658 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23659 instances of `u_char' with `uint8_t'.
23660
23661 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23662 [!HAVE_GETUID] (getuid): New function (stub).
23663 [!HAVE_GETGID] (getgid): Likewise.
23664 [!HAVE_LSTAT] (lstat): Likewise.
23665 [!S_IROTH] (S_IROTH): New macro (dummy).
23666 [!S_IRGRP] (S_IRGRP): Likewise.
23667
84b860d8
RM
236682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23669
23670 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23671 conditional expression).
23672
66e9b712
RM
236732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23674
23675 Import from Gnulib.
23676
23677 * gnulib/fnmatch.c: New file.
23678 * gnulib/fnmatch.h: Likewise.
23679 * gnulib/fnmatch_loop.c: Likewise.
23680 * gnulib/getopt.c: Likewise.
23681 * gnulib/getopt.h: Likewise.
23682 * gnulib/getopt1.c: Likewise.
23683 * gnulib/getopt_int.h: Likewise.
23684 * gnulib/gettext.h: Likewise.
23685
34f4a5b0
RM
236862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23687
23688 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23689 * normal/handler.c (read_handler_list): Likewise.
23690
ac451143
RM
236912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23692
23693 Misc cleanup.
23694
23695 * kern/command.c (grub_register_command_prio): Use
23696 grub_zalloc() instead of explicitly zeroing data.
23697 * kern/list.c: Include `<grub/mm.h>'.
23698 (grub_named_list_find): Replace `0' with `NULL'.
23699 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23700 (fs_module_list): Change type to `grub_named_list_t'. Update all
23701 users.
23702 * normal/dyncmd.c (read_command_list): Add space between function
23703 call and parenthesis.
23704 * normal/handler.c (read_handler_list): Likewise.
23705
4089b167
RM
237062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23707
23708 * normal/auth.c (punishment_delay): Moved from here ...
23709 (grub_auth_strcmp): ... to here (inside function).
23710
325f5037
RM
237112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23712
23713 * include/grub/list.h (struct grub_named_list): Remove `const'
23714 qualifier from `name'.
23715 (struct grub_prio_list): Likewise.
23716
7aea29a3
RM
237172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23718
23719 * normal/auth.c: Include `<grub/time.h>'.
23720 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23721
3fd6f044
RM
237222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23723
23724 * normal/auth.c (punishment_delay): New variable.
23725 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23726 (grub_auth_check_authentication): Punish failed login attempts with
23727 an incremental (2^N) delay.
23728
a4cd68e4
RM
237292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23730
23731 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23732 path with $(srcdir).
23733
7ad12f43
VS
237342009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23735
23736 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23737
c1129f03
RM
237382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23739
23740 * util/i386/coreboot/grub-mkrescue.in: New file.
23741 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23742 variables.
23743
23744 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23745 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23746 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23747 requirements.
23748 * util/mkisofs/defaults.h: New file.
23749 * util/mkisofs/eltorito.c: Likewise.
23750 * util/mkisofs/exclude.h: Likewise.
23751 * util/mkisofs/fnmatch.c: Likewise.
23752 * util/mkisofs/getopt.c: Likewise.
23753 * util/mkisofs/getopt1.c: Likewise.
23754 * util/mkisofs/hash.c: Likewise.
23755 * util/mkisofs/include/fctldefs.h: Likewise.
23756 * util/mkisofs/include/mconfig.h: Likewise.
23757 * util/mkisofs/include/prototyp.h: Likewise.
23758 * util/mkisofs/include/statdefs.h: Likewise.
23759 * util/mkisofs/iso9660.h: Likewise.
23760 * util/mkisofs/joliet.c: Likewise.
23761 * util/mkisofs/match.c: Likewise.
23762 * util/mkisofs/match.h: Likewise.
23763 * util/mkisofs/mkisofs.c: Likewise.
23764 * util/mkisofs/mkisofs.h: Likewise.
23765 * util/mkisofs/multi.c: Likewise.
23766 * util/mkisofs/name.c: Likewise.
23767 * util/mkisofs/rock.c: Likewise.
23768 * util/mkisofs/tree.c: Likewise.
23769 * util/mkisofs/write.c: Likewise.
23770
ec8bb77d
VS
237712009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23772
23773 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23774 being insecure.
23775
3716b12c
RM
237762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23777
23778 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23779 `grub-mkimage' (and use $0 when possible).
23780
b97b7b91
RM
237812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23782
23783 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23784 error message for excessively large memory map.
23785
04114812
RM
237862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23787
23788 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23789 executable bit.
23790
e4eb2373
RM
237912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23792
23793 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23794 message for coreboot users.
23795
c926e1d5 237962009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23797
23798 Fix build with GNU gold.
23799
23800 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23801 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23802 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23803 link addresses.
23804 * aclocal.m4: Likewise.
23805
86e5b1db 238062009-11-04 Felix Zielcke <fzielcke@z-51.de>
23807
23808 * configure.ac (AC_PREREQ): Bump to 2.59d.
23809 * INSTALL: Make it more clear when Autoconf and Ruby are
23810 needed and when to run `./autogen.sh'.
23811
246cd78f 238122009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23813
23814 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23815 OSes.
23816
4f9dfb37 238172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23818
23819 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23820
b82bd5e1 238212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23822
23823 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23824 giving it to GNU Mach.
23825
ff1a9bca 238262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23827
23828 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23829 GNU partition number to get internal GRUB partition number.
23830
61697d9c 238312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23832
23833 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23834 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23835
a50569e1 238362009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23837
23838 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23839 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23840 case.
23841
5b153867 238422009-11-01 Felix Zielcke <fzielcke@z-51.de>
23843
23844 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23845
d9e2cd70 238462009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23847
23848 Fix build problem.
23849
23850 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23851 `-isystem=$(srcdir)/include'.
23852
805111a4 238532009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23854
23855 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23856 checked (grub-install doesn't currently rely on it).
23857
fa6e945f 238582009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23859
23860 Revert SVN r2660.
23861
23862 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23863 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23864 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23865 * conf/i386-ieee1275.rmk: Likewise.
23866 * conf/i386-pc.rmk: Likewise.
23867 * conf/powerpc-ieee1275.rmk: Likewise.
23868 * conf/sparc64-ieee1275.rmk: Likewise.
23869 * conf/x86_64-efi.rmk: Likewise.
23870
cee15086 238712009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23872
23873 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23874
95b9239e 238752009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23876
23877 * include/grub/misc.h: Stop checking for APPLE_CC.
23878
2ed19dfd 238792009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23880
23881 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23882 doesn't cause an infinite call loop.
23883
fdcdde19 238842009-10-28 Felix Zielcke <fzielcke@z-51.de>
23885
23886 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23887 strings.
23888
cefabfe1 238892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23890
23891 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23892 variable.
23893 * Makefile.in: Likewise.
23894
ed96ab6d 238952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23896
23897 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23898
0579b753 238992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23900
23901 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23902
478df409 239032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23904
23905 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23906
083d1679 239072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23908
23909 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23910 from here ...
23911 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23912
5947ae32 239132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23914
23915 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23916 in $(MAKEINFO) invocation. This makes it clear in output that
23917 errors are being ignored.
23918
94180ff6 239192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23920
23921 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23922 from here ...
23923 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23924 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23925 * conf/i386-ieee1275.rmk: Likewise.
23926 * conf/i386-pc.rmk: Likewise.
23927 * conf/powerpc-ieee1275.rmk: Likewise.
23928 * conf/sparc64-ieee1275.rmk: Likewise.
23929 * conf/x86_64-efi.rmk: Likewise.
23930
9031b03a 239312009-10-26 Colin Watson <cjwatson@ubuntu.com>
23932
23933 * util/grub-editenv.c (main): If only a command is given, use
23934 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23935 (usage): FILENAME is now optional and has a default.
23936
e4f6809b 239372009-10-26 Colin Watson <cjwatson@ubuntu.com>
23938
23939 Improve grub-mkconfig performance when there are several menu
23940 entries on a single filesystem.
23941
23942 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23943 prepare_grub_to_access_device.
23944 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23945 * util/grub.d/30_os-prober.in: Likewise.
23946
67937d4d 239472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23948
23949 * util/grub.d/10_freebsd.in: Remove.
23950 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23951 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23952
ee3756cc 239532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23954
5c35048e 23955 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23956
4dea1c6f 239572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23958
23959 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23960 grub_util_error() call.
23961
042484d7 239622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23963
23964 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23965 `reserved_first_sector' member.
23966 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23967 `reserved_first_sector' to 1.
23968 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23969 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23970 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23971 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23972 filesystems which begin at first sector.
23973 (options): New option --skip-fs-probe.
23974 (main): Handle --skip-fs-probe and pass it to setup().
23975
d64448a7 239762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23977
23978 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23979 (memset): Fix function prototype.
23980
508d42ec 239812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
239822009-10-25 Vasily Averin <vvs@parallels.com>
23983
23984 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23985 `dirent.direntlen == 0'.
23986
b240e30c 239872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23988
23989 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23990 `cpio'.
23991 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23992
346e7fbe 239932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23994
23995 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23996 `__trampoline_setup' and `__ucmpdi2'.
23997 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23998 that libgcc provides.
23999
cdb308b0 240002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24001
24002 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24003 * include/grub/sparc64/libgcc.h (memset): Likewise.
24004 * include/grub/misc.h (memset, memcmp): New function prototypes.
24005
fb26abc2 240062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24007
24008 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24009 `cpio'.
24010 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24011
f6693890 240122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24013
24014 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24015 * docs/grub.cfg: Compensate for recent change in multiboot
24016 loader (since 2009-08-14 it won't pass filename to payload).
24017 * util/grub.d/10_hurd.in: Likewise.
24018
0933cdc0 240192009-10-21 Felix Zielcke <fzielcke@z-51.de>
24020
24021 * config.guess: Update to latest version from config git
24022 repository.
24023 * config.sub: Likewise.
24024
3b2fe8c2 240252009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24026
24027 Fix build on sparc64.
24028
24029 * configure.ac: Perform checks for libgcc symbols before
24030 adding `-nostdlib' to LDFLAGS.
24031
46695a62 240322009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24033
24034 Let user specify OpenBSD root device.
24035
24036 * loader/i386/bsd.c (openbsd_root): New variable.
24037 (openbsd_opts): New option 'root'.
24038 (OPENBSD_ROOT_ARG): New macro.
24039 (grub_openbsd_boot): Use 'openbsd_root'.
24040 (grub_cmd_openbsd): Fill 'openbsd_root'.
24041
d2b6b7fc 240422009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24043
24044 * NEWS: Misc adjustments.
24045
421bd7ac 240462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24047
24048 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24049
f1d29d87 240502009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24051
24052 * configure.ac: Bump version to 1.97.
24053
6f3cd880 240542009-10-16 Colin Watson <cjwatson@ubuntu.com>
24055
24056 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24057 -mno-3dnow on x86 architectures. Some toolchains enable these
24058 features by default, but they rely on registers that aren't enabled
24059 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24060
035f7122 240612009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24062
24063 Make entry text a bit more readable.
24064
24065 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24066
44998e58 240672009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24068
24069 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24070
cd2851b3 240712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24074 operations.
24075
c6f3b249 240762009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24077
24078 * configure.ac: Add missing dollar.
24079
6b5886ba 240802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24081
24082 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24083
24084 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24085 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24086 exports.
24087 * include/grub/sparc64/libgcc.h: Likewise. Use
24088 preprocessor conditionals.
24089
e9d66f6d 240902009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24091
24092 * conf/common.rmk (grub-dumpbios): Remove rule.
24093 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24094 * util/grub-dumpbios.in: Remove file.
24095
9155bc17 240962009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24097
24098 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24099 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24100
24101 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24102 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24103 users.
24104
24105 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24106 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24107 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24108 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24109 users.
24110
bf7f7a18 241112009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24112
24113 * term/tparm.c: Switch to GPLv3.
24114
86564c26 241152009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24116
24117 * include/grub/i386/cpuid.h: Add header protection.
24118
5c936493 241192009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24120
24121 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24122
24123 * include/grub/i386/cpuid.h: New file.
24124 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24125 (has_longmode): Rename to ...
24126 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24127 `static' attribute.
24128 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24129 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24130 on a CPU that doesn't implement AMD64 instruction set.
24131
186e7cf2 241322009-10-06 Colin Watson <cjwatson@ubuntu.com>
24133
24134 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24135 that version.texi is rebuilt on version number changes.
24136
83b65c4a 241372009-10-06 Colin Watson <cjwatson@ubuntu.com>
24138
24139 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24140 Fixes bug #27602.
24141
d244281c 241422009-10-06 Colin Watson <cjwatson@ubuntu.com>
24143
24144 * util/i386/pc/grub-install.in: Source
24145 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24146 that the --grub-probe option will work.
24147 * util/sparc64/ieee1275/grub-install.in: Likewise.
24148
da25306d 241492009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24150
24151 * configure.ac: Bump version to 1.97~beta4.
24152
e8ee83c0 241532009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24154
24155 Resync grub-mkdevicemap in x86_64-efi.
24156
24157 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24158 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24159 `util/devicemap.c'.
24160
50dcabcf 241612009-10-01 Colin Watson <cjwatson@ubuntu.com>
24162
24163 * util/grub-editenv.c (create_envblk_file): Write new block with a
24164 .new suffix and then rename it into place, to ensure atomic
24165 creation.
24166
0e51c3a7 241672009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24168
24169 Do not automatically install headers.
24170
24171 * Makefile.in (include_DATA): Remove. Update all users.
24172
31299a95 241732009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24174
24175 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24176 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24177
24178 * util/osdetect.lua: Remove.
24179 * script/lua/lauxlib.c: Likewise.
24180 * script/lua/ldebug.c: Likewise.
24181 * script/lua/grub_main.c: Likewise.
24182 * script/lua/lauxlib.h: Likewise.
24183 * script/lua/ldebug.h: Likewise.
24184 * script/lua/ltablib.c: Likewise.
24185 * script/lua/liolib.c: Likewise.
24186 * script/lua/lstrlib.c: Likewise.
24187 * script/lua/lualib.h: Likewise.
24188 * script/lua/ldo.c: Likewise.
24189 * script/lua/ldump.c: Likewise.
24190 * script/lua/ldo.h: Likewise.
24191 * script/lua/loslib.c: Likewise.
24192 * script/lua/lundump.c: Likewise.
24193 * script/lua/grub_lib.c: Likewise.
24194 * script/lua/ldblib.c: Likewise.
24195 * script/lua/lundump.h: Likewise.
24196 * script/lua/lmem.c: Likewise.
24197 * script/lua/grub_lib.h: Likewise.
24198 * script/lua/lmathlib.c: Likewise.
24199 * script/lua/lstate.c: Likewise.
24200 * script/lua/ltm.c: Likewise.
24201 * script/lua/lvm.c: Likewise.
24202 * script/lua/lmem.h: Likewise.
24203 * script/lua/lstate.h: Likewise.
24204 * script/lua/ltm.h: Likewise.
24205 * script/lua/ltable.c: Likewise.
24206 * script/lua/lvm.h: Likewise.
24207 * script/lua/llex.c: Likewise.
24208 * script/lua/lgc.c: Likewise.
24209 * script/lua/grub_lua.h: Likewise.
24210 * script/lua/loadlib.c: Likewise.
24211 * script/lua/lfunc.c: Likewise.
24212 * script/lua/lopcodes.c: Likewise.
24213 * script/lua/lparser.c: Likewise.
24214 * script/lua/ltable.h: Likewise.
24215 * script/lua/llex.h: Likewise.
24216 * script/lua/lgc.h: Likewise.
24217 * script/lua/lfunc.h: Likewise.
24218 * script/lua/lbaselib.c: Likewise.
24219 * script/lua/lopcodes.h: Likewise.
24220 * script/lua/lparser.h: Likewise.
24221 * script/lua/lzio.c: Likewise.
24222 * script/lua/linit.c: Likewise.
24223 * script/lua/lobject.c: Likewise.
24224 * script/lua/llimits.h: Likewise.
24225 * script/lua/lstring.c: Likewise.
24226 * script/lua/lzio.h: Likewise.
24227 * script/lua/lapi.c: Likewise.
24228 * script/lua/lcode.c: Likewise.
24229 * script/lua/lua.h: Likewise.
24230 * script/lua/lobject.h: Likewise.
24231 * script/lua/lstring.h: Likewise.
24232 * script/lua/lapi.h: Likewise.
24233 * script/lua/lcode.h: Likewise.
24234 * script/lua/luaconf.h: Likewise.
24235
cb8a2c38 242362009-09-26 Colin Watson <cjwatson@ubuntu.com>
24237
24238 * docs/grub.texi (Command-line and menu entry commands): Document
24239 date and echo commands.
24240
6b9b6276 242412009-09-24 Pavel Roskin <proski@gnu.org>
24242
24243 * include/grub/kernel.h (struct grub_module_header): Remove
24244 `grub_module_header_types'. Make `type' unsigned. Make `size'
24245 32-bit on all platforms.
24246 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24247 8-bit field. Use grub_host_to_target32() for `size'.
24248 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24249 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24250 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24251
4e5a02a7 242522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24253
24254 Fix "lost keypress" bug in at_keyboard.
24255
24256 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24257 Checks for readyness of input buffer (without flushing it).
24258 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24259 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24260
c6dcedf6 242612009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24262
24263 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24264 size check within GRUB_MACHINE_PCBIOS section.
24265
74c958b1 242662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24267
24268 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24269 return value.
24270 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24271 KEYBOARD_ISREADY check.
24272 (grub_at_keyboard_checkkey): Rename to ...
24273 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24274 Remove gratuitous cast.
24275
ff420223 242762009-09-23 Colin Watson <cjwatson@ubuntu.com>
24277
24278 * configure.ac: Call AC_PROG_MKDIR_P.
24279 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24280 version.texi in $(builddir) rather than $(srcdir).
24281 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24282 to makeinfo's @include search path.
24283
d96875df 242842009-09-23 Felix Zielcke <fzielcke@z-51.de>
24285
24286 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24287
9b3f8365 242882009-09-23 Felix Zielcke <fzielcke@z-51.de>
24289
24290 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24291 for `*.dpkg-new'.
24292
c44c90db 242932009-09-21 Colin Watson <cjwatson@ubuntu.com>
24294
24295 Build info documentation. Some code borrowed from Automake.
24296
24297 * configure.ac: Check for makeinfo.
24298 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24299 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24300 docs/version.texi.
24301 (MOSTLYCLEANFILES): Add vti.tmp.
24302 (docs/version.texi, docs/stamp-vti): Update automatically.
24303 (docs/grub.info): Build info documentation. Use --force and ignore
24304 errors for now.
24305 (all-local): Add $(INFOS).
24306 (install-local): Install info files.
24307 (uninstall): Uninstall info files.
24308 * docs/version.texi: Remove from revision control. This file is
24309 automatically generated on build now.
24310 * gendistlist.sh: Add `*.info'.
24311
e0b37bb5 243122009-09-21 Felix Zielcke <fzielcke@z-51.de>
24313
24314 * kern/term.c: Fix indentation.
24315
5a78865b 243162009-09-21 Felix Zielcke <fzielcke@z-51.de>
24317
24318 * util/hostdisk.c: Fix a comment.
24319
dace7e8a 243202009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24321
24322 Fix regression introduced in r2539.
24323
24324 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24325 to 0xA1.
24326
a83d079b 243272009-09-19 Colin Watson <cjwatson@ubuntu.com>
24328
24329 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24330 os-prober. Under normal operation, it does not print anything to
24331 stderr; if it does, we need to debug it, and throwing away stderr
24332 makes that excessively difficult.
a83d079b 24333
be94a509 243342009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24335
24336 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24337
63f745e8 243382009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24339
24340 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24341 AC_LANG_PROGRAM from autoconf.
24342 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24343 prototypes (fixes warning).
24344
24345 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24346 `--disable-werror' was used.
24347
bbb2a70f 243482009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24349
24350 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24351 uninitialized `lastaddr'.
24352
77c24f1d 243532009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24354
0f0b8c87 24355 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24356
07197f23 243572009-09-14 Colin Watson <cjwatson@ubuntu.com>
24358
24359 * commands/test.c (get_fileinfo): Return immediately if
24360 grub_fs_probe fails.
24361
dabf1798 243622009-09-14 José Martínez <xosemp@gmail.com>
24363
24364 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24365
d52109a7 243662009-09-14 Colin Watson <cjwatson@ubuntu.com>
24367
24368 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24369 output.
24370
56532179 243712009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24372
24373 * configure.ac: Remove --enable-grub-pe2elf. Only build
24374 grub-pe2elf when needed by the build system itself.
24375 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24376
8ef070f5 243772009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24378
24379 * configure.ac: Bump version to 1.97~beta3.
24380 * docs/version.texi: Likewise.
24381
61229557 243822009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24383
24384 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24385 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24386 from here ...
24387 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24388 (grub_linux_setup_video): ... to here (with some adjustments).
24389
5c9f8d84 243902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24391
24392 Fix memory corruption issue (spotted by Colin Watson).
24393
24394 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24395 causing returned size to be stored in an incorrect memory location.
24396 Fix use of uninitialized value when storing the returned size.
24397
e8f5d6e9 243982009-09-12 Yves Blusseau <blusseau@zetam.org>
24399
24400 Change clean rules to properly remove files
24401
24402 * genmk.rb: add new clean rules
24403 * Makefile.in (clean): add the new targets
24404 (mostlyclean): likewise
24405
cda2a409 244062009-09-11 Colin Watson <cjwatson@ubuntu.com>
24407
24408 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24409 to grub_uint64_t.
24410 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24411 non-resident files.
24412
86695375 244132009-09-11 Colin Watson <cjwatson@ubuntu.com>
24414
24415 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24416 part of bug #27349.
24417
8aa1541a 244182009-09-10 Felix Zielcke <fzielcke@z-51.de>
24419
24420 * util/grub-mkconfig.in: Make the created config mode 400 and
24421 print a warning if it fails.
24422
48d9bb0a 244232009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24424
24425 * util/grub.d/40_custom.in: Ask user to type custom entries below
24426 comment, rather than below 'exec tail' line.
24427
3b0521be 244282009-09-10 Colin Watson <cjwatson@ubuntu.com>
24429
24430 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24431 visible in grub.cfg.
24432
50051d55 244332009-09-10 Colin Watson <cjwatson@ubuntu.com>
24434
24435 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24436 file.
24437
c0d34387 244382009-09-10 Felix Zielcke <fzielcke@z-51.de>
24439
24440 * docs/grub.cfg: Add an example menu entry for memtest86+.
24441
80a608f3 244422009-09-09 Felix Zielcke <fzielcke@z-51.de>
24443
a2094832 24444 * config.guess: Update to latest version from config git.
80a608f3 24445 * config.sub: Likewise.
24446
99423078 244472009-09-08 Colin Watson <cjwatson@ubuntu.com>
24448
24449 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24450 unknown-command case. Fixes bug #27320.
24451
44454e4c 244522009-09-08 Felix Zielcke <fzielcke@z-51.de>
24453
24454 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24455 `help' if the command exists.
24456
e30d87ad 244572009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24458
24459 * INSTALL: Require GCC 4.1.3 or later.
24460
9a86f1ec 244612009-09-06 Yves Blusseau <blusseau@zetam.org>
24462
24463 * Makefile.in (RMKFILES): add i386-qemu.rmk
24464 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24465 $(srcdir)/stamp-h.in
24466
7f26d466 244672009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24468
24469 * util/grub-probe.c (probe): Comment out buggy codepath, which
24470 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24471 should be re-enabled after 1.97.
24472
3a613259 244732009-09-05 Felix Zielcke <fzielcke@z-51.de>
24474
24475 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24476 find searches for.
24477
197f76c7 244782009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24479
24480 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24481 unnecessary calls to grub_error.
24482
70ba68ce 244832009-09-04 Colin Watson <cjwatson@ubuntu.com>
24484
24485 * NEWS: Mention `keystatus' and Unicode fonts.
24486
4ff0d7a4 244872009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24488
24489 * configure.ac: Bump version to 1.97~beta2.
24490 * docs/version.texi: Likewise.
24491
77c55a87 244922009-09-03 Colin Watson <cjwatson@ubuntu.com>
24493
24494 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24495 containing unwind information in some cases where it previously did
24496 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24497 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24498 discussion.
24499
f79572cd 245002009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24501
24502 Embedding loadenv module into grub-emu
24503
24504 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24505 commands/loadenv.c
24506 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24507 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24510 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24511 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24512
93a81088 245132009-09-03 Magnus Granberg <zorry@ume.nu>
24514
24515 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24516 include -fPIE in the default specs.
24517 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24518 to TARGET_CFLAGS.
24519
160034b2 245202009-09-03 Felix Zielcke <fzielcke@z-51.de>
24521
24522 * INSTALL: Note that GNU Bison 2.3 or later is required.
24523
087c07c4 245242009-09-03 Colin Watson <cjwatson@ubuntu.com>
24525
24526 * kern/i386/pc/startup.S: Fix typo.
24527
cbf978c0 245282009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24529
24530 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24531 according to GCS.
24532
245332009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24534
24535 * docs/grub.texi (Naming convention): Describe one-based partition
24536 numbering.
24537 (Device syntax): Likewise.
24538 (File name syntax): Likewise.
24539 (Block list syntax): Likewise.
24540 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24541 menu.lst.
24542 (File name syntax): Likewise.
24543 (Command-line and menu entry commands): Document acpi, blocklist,
24544 crc, export, insmod, keystatus, ls, set, and unset commands.
24545
f3e8cdfd 245462009-09-02 Colin Watson <cjwatson@ubuntu.com>
24547
24548 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24549 to avoid implying that only one of --shift, --ctrl, or --alt may be
24550 used.
24551
c0bc232b 245522009-09-02 Colin Watson <cjwatson@ubuntu.com>
24553
24554 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24555 rather than comparing against S_IFREG, which will almost never work.
24556
aa0f752d 245572009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24558
24559 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24560 (write_blocklists): Likewise.
24561
ecb3166a 245622009-09-01 Colin Watson <cjwatson@ubuntu.com>
24563
24564 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24565 argument to grub_printf.
24566
c403a125 245672009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24568
24569 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24570 non GNU test.
31aba781 24571
b5e7312c 245722009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24573
24574 * kern/file.c (grub_file_read): Spelling fix
24575
fe00f472 245762009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24577
24578 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24579 loading of headers in some cases.
24580
cc55302e 245812009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24582
24583 * configure.ac: Bump version to 1.97~beta1.
24584 * docs/version.texi: Likewise.
24585
5c90cdd2 245862009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24587
24588 * include/grub/i386/xnu.h: Add license header.
24589 include grub/err.h explicitly.
24590
c90edae4 245912009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24592
24593 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24594 to `ufs' in the vfs.root.mountfrom kernel parameter.
24595
d8888b5c 245962009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24597
24598 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24599
24600 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24601 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24602
24603 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24604 `ARRAY_SIZE' macro.
24605
6f07b921 246062009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24607
24608 * kern/file.c (grub_file_read): Check offset.
24609 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24610 * fs/jfs.c (grub_jfs_read_file): Likewise.
24611 * fs/ntfs.c (grub_ntfs_read): Likewise.
24612 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24613 * fs/minix.c (grub_minix_read_file): Correct offset check.
24614 * fs/ufs.c (grub_ufs_read_file): Likewise.
24615
b4f34077 246162009-08-28 Colin Watson <cjwatson@ubuntu.com>
24617
24618 * term/i386/pc/console.c (bios_data_area): Cast
24619 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24620
e7c69859 246212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24622
24623 1-bit optimised blitters.
24624
24625 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24626 prototype.
24627 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24628 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24629 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24630 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24631 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24632 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24633 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24634 function.
24635 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24636 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24637 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24638 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24639 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24640 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24641 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24642 when possible.
24643 * video/video.c (grub_video_get_blit_format): Return
24644 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24645
a57da43f 246462009-08-28 Colin Watson <cjwatson@ubuntu.com>
24647
24648 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24649 the first argument to grub_printf.
24650
4cbe67e5 246512009-08-28 Colin Watson <cjwatson@ubuntu.com>
246522009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24653
24654 Add `getkeystatus' terminal method. Add a new `keystatus' command
24655 to query it.
24656
24657 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24658 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24659 modifier key bitmasks.
24660 (struct grub_term_input): Add `getkeystatus' member.
24661 (grub_getkeystatus): Add prototype.
24662 * kern/term.c (grub_getkeystatus): New function.
24663
24664 * include/grub/i386/pc/memory.h
24665 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24666 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24667 Data Area layout.
24668 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24669 (grub_console_term_input): Set `getkeystatus' member.
24670 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24671 constants.
24672 (grub_usb_keyboard_getreport): Likewise.
24673 (grub_usb_keyboard_checkkey): Likewise.
24674 (grub_usb_keyboard_getkeystatus): New function.
24675 (grub_usb_keyboard_term): Set `getkeystatus' member.
24676
24677 * commands/keystatus.c: New file.
24678 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24679 (keystatus_mod_SOURCES): New variable.
24680 (keystatus_mod_CFLAGS): Likewise.
24681 (keystatus_mod_LDFLAGS): Likewise.
24682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24683 commands/keystatus.c.
24684 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24685 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24686 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24689 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24690
6e2a9085 246912009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24692
24693 Split befs.mod and afs.mod into *_be.mod and *.mod
24694
24695 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24696 (grub_fstest_SOURCES): Likewise.
24697 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24698 (afs_be_mod_SOURCES): New variable.
24699 (afs_be_mod_CFLAGS): Likewise.
24700 (afs_be_mod_LDFLAGS): Likewise.
24701 (befs_be_mod_SOURCES): Likewise.
24702 (befs_be_mod_CFLAGS): Likewise.
24703 (befs_be_mod_LDFLAGS): Likewise.
24704 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24705 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24706 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24707 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24708 (grub_emu_SOURCES): Likewise.
24709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24712 * fs/afs_be.c: New file.
24713 * fs/befs_be.c: New file.
24714 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24715 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24716 (U16): Replaced with ...
24717 (grub_afs_to_cpu16): ...this. All users updated.
24718 (U32): Replaced with ...
24719 (grub_afs_to_cpu32): ...this. All users updated.
24720 (U64): Replaced with ...
24721 (grub_afs_to_cpu64): ...this. All users updated.
24722 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24723 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24724 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24725 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24726 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24727 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24728 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24729 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24730 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24731 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24732 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24733
32a71655 247342009-08-26 Bean <bean123ch@gmail.com>
24735
24736 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24737 64-bit number.
24738 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24739 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24740 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24741
552bf6c5 247422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24743
24744 NetBSD memory map support.
24745
24746 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24747 (grub_netbsd_btinfo_mmap_header): New structure.
24748 (grub_netbsd_btinfo_mmap_entry): Likewise.
24749 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24750
1ae2078c 247512009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24752
24753 Enable bsd.mod on coreboot.
24754
24755 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24756 (bsd_mod_SOURCES): New variable.
24757 (bsd_mod_CFLAGS): Likewise.
24758 (bsd_mod_LDFLAGS): Likewise.
24759 (bsd_mod_ASFLAGS): Likewise.
24760 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24761 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24762
beefc598 247632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24764
24765 Cleanup NetBSD root support.
24766
24767 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24768 grub_bsd_get_device.
24769 Fix typo.
24770
3b76e68b 247712009-08-25 Felix Zielcke <fzielcke@z-51.de>
24772
24773 * util/grub.d/00_header.in: Move check for the video backend of
24774 gfxterm from here ...
24775 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24776 a suitable video backend.
24777
aea664ea 247782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24779
24780 Fix breakage in grub-setup.
24781
24782 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24783 "msdos_partition_map".
24784
ff747d50 247852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24786
24787 Fix breakage in normal/auth.c.
24788
24789 * normal/auth.c (grub_iswordseparator): New function.
24790
e7e1f93f 247912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24792
24793 Authentication support.
24794
24795 * commands/password.c: New file.
24796 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24797 (password_mod_SOURCES): New variable.
24798 (password_mod_CFLAGS): Likewise.
24799 (password_mod_LDFLAGS): Likewise.
24800 (normal_mod_SOURCES): Add normal/auth.c.
24801 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24802 normal/auth.c.
24803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24804 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24805 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24807 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24808 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24809 * include/grub/auth.h: New file.
24810 * include/grub/err.h (grub_err_t): New enum value
24811 GRUB_ERR_ACCESS_DENIED.
24812 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24813 'users'.
24814 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24815 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24816 users updated.
24817 * normal/auth.c: New file.
24818 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24819 (grub_cmdline_run): Don't allow to go to command line without
24820 authentication.
24821 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24822 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24823 menuentry without superuser rights.
24824 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24825 user isn't a superuser.
24826
70f1161d 248272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24828
24829 Save space by inlining misc.c functions.
24830
24831 * kern/misc.c (grub_iswordseparator): Made static.
24832 * kern/misc.c (grub_strcat): Moved from here ...
24833 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24834 * kern/misc.c (grub_strncat): Moved from here ...
24835 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24836 * kern/misc.c (grub_strcasecmp): Moved from here ...
24837 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24838 * kern/misc.c (grub_strncasecmp): Moved from here ...
24839 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24840 * kern/misc.c (grub_isalpha): Moved from here ...
24841 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24842 * kern/misc.c (grub_isdigit): Moved from here ...
24843 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24844 * kern/misc.c (grub_isgraph): Moved from here ...
24845 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24846 * kern/misc.c (grub_tolower): Moved from here ...
24847 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24848
48e40bff 248492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24850
24851 * script/sh/function.c (grub_script_function_find): Cut error message
24852 not to flood terminal.
24853 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24854 limit.
24855 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24856
c385bfc3 248572009-08-24 Colin Watson <cjwatson@ubuntu.com>
24858
24859 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24860 `report' grub_uint8_t *.
24861 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24862 Use a 50-millisecond timeout rather than just repeating
24863 grub_usb_keyboard_getreport 50 times.
24864 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24865
2d21e3e8 248662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 Rename *_partition_map to part_*
24869
24870 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24871 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24872 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24873 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24874 All users updated.
24875 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24876 All users updated.
24877 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24878 * util/grub-probe.c (probe_partmap): Don't transform partition name
24879 to get module name.
24880
dd103c4e 248812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24882
24883 Fix OpenBSD and NetBSD support.
24884
24885 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24886 memory address conflict.
24887 (OPENBSD_MMAP_ACPI): New definition.
24888 (OPENBSD_MMAP_NVS): Likewise.
24889 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24890 and OPENBSD_MMAP_NVS.
24891 Add memory map terminator
24892 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24893 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24894
16c84d74 248952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24896
24897 Let user specify NetBSD root device.
24898
24899 * loader/i386/bsd.c (netbsd_root): New variable.
24900 (netbsd_opts): New option 'root'.
24901 (NETBSD_ROOT_ARG): New macro.
24902 (grub_netbsd_boot): Use 'netbsd_root'.
24903 (grub_bsd_unload): Free 'netbsd_root'.
24904 (grub_cmd_netbsd): Fill 'netbsd_root'.
24905
adb29902 249062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24907
24908 Support for 64-bit NetBSD.
24909
24910 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24911 point when booting non-FreeBSD.
24912
f5ae9f74 249132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24914
24915 Support --no-smp and --no-acpi for NetBSD.
24916
24917 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24918 (NETBSD_AB_NOACPI): Likewise.
24919 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24920 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24921
de74f136 249222009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24923
24924 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24925 errors.
24926 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24927 errors. Call grub_error when needed.
24928
e9a925da 249292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24930
24931 * commands/search.c (search_fs): Try searching without autoload first.
24932 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24933 filesystem module explicitly for faster booting.
24934
5174302b 249352009-08-23 Colin Watson <cjwatson@ubuntu.com>
24936
24937 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24938
c8c80635 249392009-08-23 Colin Watson <cjwatson@ubuntu.com>
24940
24941 * util/grub.d/30_os-prober.in: Disable os-prober if
24942 `GRUB_DISABLE_OS_PROBER' was set to true.
24943
71acf5e5 249442009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24945
24946 * partmap/pc.c: Rename to ...
24947 * partmap/msdos.c: ... this. Update all users.
24948 (grub_pc_partition_map): Rename to ...
24949 (grub_msdos_partition_map): ... this. Update all users.
24950
24951 * parttool/pcpart.c: Rename to ...
24952 * parttool/msdospart.c: ... this. Update all users.
24953
24954 * include/grub/pc_partition.h: Rename to ...
24955 * include/grub/msdos_partition.h: ... this. Update all users.
24956 (grub_pc_partition_bsd_entry): Rename to ...
24957 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24958 (grub_pc_partition_disk_label): Rename to ...
24959 (grub_msdos_partition_disk_label): ... this. Update all users.
24960 (grub_pc_partition_entry): Rename to ...
24961 (grub_msdos_partition_entry): ... this. Update all users.
24962 (grub_pc_partition_mbr): Rename to ...
24963 (grub_msdos_partition_mbr): ... this. Update all users.
24964 (grub_pc_partition): Rename to ...
24965 (grub_msdos_partition): ... this. Update all users.
24966 (grub_pc_partition_is_empty): Rename to ...
24967 (grub_msdos_partition_is_empty): ... this. Update all users.
24968 (grub_pc_partition_is_extended): Rename to ...
24969 (grub_msdos_partition_is_extended): ... this. Update all users.
24970 (grub_pc_partition_is_bsd): Rename to ...
24971 (grub_msdos_partition_is_bsd): ... this. Update all users.
24972
24973 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24974 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24975 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24976 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24977 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24978 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24979 (gpt_mod_LDFLAGS): Rename to ...
24980 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24981 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24982 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24983 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24984 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24985 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24986 (part_gpt_mod_LDFLAGS): ... this.
24987 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24988 `pcpart.mod' to `msdospart.mod'.
24989 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24990 to ...
24991 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24992 (msdospart_mod_LDFLAGS): ... this.
24993
c11fded5 249942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24995
24996 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24997 (openbsd_opts): Likewise.
24998 (netbsd_opts): Likewise.
24999 (freebsd_flags): Added 0 terminator.
25000 (openbsd_flags): Likewise.
25001 (netbsd_flags): Likewise.
25002 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25003 (grub_cmd_freebsd): Transformed into extended command.
25004 (grub_cmd_openbsd): Likewise.
25005 (grub_cmd_netbsd): Likewise.
25006 (cmd_freebsd): Changed type to grub_extcmd_t.
25007 (cmd_openbsd): Likewise.
25008 (cmd_netbsd): Likewise.
25009 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25010 grub_cmd_openbsd as extended commands.
25011 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25012 cmd_netbsd and cmd_openbsd
25013
11d1c769 250142009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25015
25016 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25017
7a9094e5 250182009-08-21 Pavel Roskin <proski@gnu.org>
25019
5496c37e 25020 * Makefile.in (install-local): When checking if a file is in the
25021 build directory, use "test -e" to detect symlinks.
25022
7a9094e5 25023 * Makefile.in (install-local): Remove all files in
25024 $(DESTDIR)$(pkglibdir) before installing new files there.
25025
e53cea11 250262009-08-18 Felix Zielcke <fzielcke@z-51.de>
25027
25028 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25029 grub-mkelfimage.
25030
9aced544 250312009-08-18 Felix Zielcke <fzielcke@z-51.de>
25032
25033 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25034 explicitly specified by the user.
25035
b7da6bab 250362009-08-18 Pavel Roskin <proski@gnu.org>
25037
25038 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25039 grub_uint8_t pointer for data.
25040 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25041 Likewise.
25042 * video/fb/fbutil.c: Remove unnecessary casts.
25043
19f1b335 250442009-08-17 Michal Suchanek <hramrach@centrum.cz>
25045
25046 VBE cleanup.
25047
25048 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25049 (grub_vbe_set_video_mode): Save active mode info
25050 only after setting the mode.
25051 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25052 second argument.
25053
2f467aa9 250542009-08-17 Michal Suchanek <hramrach@centrum.cz>
25055
25056 Rename variables for clarity.
25057
25058 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25059 (active_vbe_mode_info): ... this. All users updated.
25060 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25061 All users updated.
25062 (initial_mode): Rename to ...
25063 (initial_vbe_mode): ... this. All users updated.
25064 (mode_in_use): Rename to ..
25065 (vbe_mode_in_use): ... this. All users updated.
25066 (mode_list): Rename to ..
25067 (vbe_mode_list): ... this. All users updated.
25068 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25069 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25070 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25071 'mode_list_size' to 'vbe_mode_list_size'.
25072 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25073 'best_mode_info' to 'best_vbe_mode_info' and
25074 'best_mode' to 'best_vbe_mode'
25075
6025fcd7 250762009-08-17 Michal Suchanek <hramrach@centrum.cz>
25077
25078 Remove duplicate grub_video_fb_get_video_ptr.
25079
25080 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25081 (grub_video_fb_get_video_ptr): ... this.
25082 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25083 * video/fb/fbutil.c: Add comment about addressing.
25084 (get_data_ptr): Rename to ...
25085 (grub_video_fb_get_video_ptr): ... this. All users updated.
25086 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25087
cc8c6faf 250882009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25089
25090 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25091 grub_dprintf() that was just added.
25092
08aa61f0 250932009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25094
25095 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25096 (DEFAULT_VIDEO_MODE): Remove macros.
25097 (grub_linux_boot): Remove assumption that Linux has FB support,
25098 and use "text" as default video mode.
25099
7cef4f75 251002009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25101
25102 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25103 grub_dprintf.
25104 * fs/fat.c (grub_fat_read_data): Likewise.
25105
e1f39873 251062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25107
25108 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25109 payload.
25110 (grub_module): Likewise.
25111
c166d79e 251122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25113
25114 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25115 mbi->cmdline but free playground.
25116
c60cee8e 251172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25118
25119 Handle group offset on UFS1.
25120
25121 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25122 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25123
c0d8b5d4 251242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25125
25126 Split ufs.mod into ufs1.mod and ufs2.mod.
25127
25128 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25129 (grub_fstest_SOURCES): Likewise.
25130 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25131 (ufs_mod_SOURCES): Remove.
25132 (ufs_mod_CFLAGS): Likewise.
25133 (ufs_mod_LDFLAGS): Likewise.
25134 (ufs1_mod_SOURCES): New variable.
25135 (ufs1_mod_CFLAGS): Likewise.
25136 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25137 (ufs2_mod_SOURCES): New variable.
25138 (ufs2_mod_CFLAGS): Likewise.
25139 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25140 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25141 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25142 Likewise.
25143 (grub_emu_SOURCES): Likewise.
25144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25145 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25146 (grub_setup_SOURCES): Likewise.
25147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25148 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25149 (grub_setup_SOURCES): Likewise.
25150 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25151 Likewise.
25152 * fs/ufs2.c: New file.
25153 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25154
d3539132 251552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25156
25157 Framebuffer split.
25158
25159 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25160 subsystem at the end.
25161 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25162 (video_fb_mod_SOURCES): New variable.
25163 (video_fb_mod_CFLAGS): Likewise.
25164 (video_fb_mod_LDFLAGS): Likewise.
25165 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25166 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25167 * video/i386/pc/vbeblit.c: Moved from here ...
25168 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25169 * video/i386/pc/vbefill.c: Moved from here ...
25170 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25171 * video/i386/pc/vbeutil.c: Moved from here ...
25172 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25173 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25174 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25175 * include/grub/i386/pc/vbefill.h: Moved from here ...
25176 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25177 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25178 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25179 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25180 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25181 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25182 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25183 (grub_video_adapter): Added 'get_info_and_fini'.
25184 (grub_video_get_info_and_fini): New prototype.
25185 (grub_video_set_mode): make modestring const char *.
25186 * loader/i386/linux.c (grub_linux_setup_video): Use
25187 grub_video_get_info_and_fini.
25188 (grub_linux_boot): Move modesetting just before booting.
25189 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25190 grub_video_get_info_and_fini.
25191 * video/i386/pc/vbe.c: Moved framebuffer part ...
25192 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25193 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25194 grub_video_fbstd_colors and grub_video_fb_set_palette.
25195 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25196 grub_video_fb_init.
25197 (grub_video_vbe_fini): Use grub_video_fb_fini.
25198 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25199 render_target and use grub_video_fb_set_active_render_target and
25200 grub_video_fb_set_palette.
25201 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25202 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25203 (grub_video_vbe_adapter): Use framebuffer.
25204 * video/video.c (grub_video_get_info_and_fini): New function.
25205 (grub_video_set_mode): Make modestring const char *.
25206 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25207 values are already initialised.
25208
d404ee56 252092009-08-14 Pavel Roskin <proski@gnu.org>
25210
25211 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25212 ABS and APPLE_CC.
25213 * boot/i386/pc/diskboot.S: Likewise.
25214 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25215 sectors allow compilation on MacOSX.
25216 * conf/i386-pc.rmk: Enable unconditional compilation of
25217 lnxboot.img.
25218
9a10df16 252192009-08-13 Colin Watson <cjwatson@ubuntu.com>
25220
25221 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25222 * util/grub.d/00_header.in: Enter interruptible sleep if
25223 GRUB_HIDDEN_TIMEOUT is set.
25224
be3c9ca7 252252009-08-13 Yves Blusseau <blusseau@zetam.org>
25226
25227 * include/grub/symbol.h: Add the LOCAL macro.
25228 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25229 starting with "L_".
25230
1f9e557e 252312009-08-13 Pavel Roskin <proski@gnu.org>
25232
9ca62843 25233 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25234 any modern compilers we support.
25235
1f9e557e 25236 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25237 Use local labels starting with "L_" so that Apple assembler
25238 knows they are local.
25239
81623db6 252402009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25241
25242 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25243 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25244 (bsd_kernel_types): ... this enum.
25245
25246 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25247 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25248 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25249
25250 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25251 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25252 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25253 messages.
25254
f5d35e7a 252552009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25256
25257 * util/grub-dumpdevtree: Moved from here ...
25258 * util/i386/efi/grub-dumpdevtree: ... to here.
25259 (hexify): New function. Converts a string to its hex version.
25260 Generate hex versions of "efi" and "device-properties" by calling
25261 hexify() on the ASCII strings rather than by hardcoding numbers.
25262
d1e1d527 252632009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25264
25265 * fs/jfs.c: Update copyright year.
25266
1ebbe064 252672009-08-08 Felix Zielcke <fzielcke@z-51.de>
25268
25269 * util/grub.d/00_header.in: Fix a comment.
25270 * util/grub.d/10_linux.in: Likewise.
25271 * util/grub.d/10_windows.in: Likewise.
25272 * util/grub.d/10_hurd.in: Likewise.
25273
a78c8d24 252742009-08-08 Felix Zielcke <fzielcke@z-51.de>
25275
25276 * util/grub-mkconfig.in: Allow the user to specify the used font
25277 with GRUB_FONT.
25278
29a6b9e8 252792009-08-08 Pavel Roskin <proski@gnu.org>
25280
b5f16cc4 25281 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25282 available, xfs.mod needs it now.
25283
2f5cb827 25284 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25285 the "g" modifier in sed when the intention is to strip something
25286 once. This fixes comparison of kernels with multiple dashes.
25287
29a6b9e8 25288 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25289 on it. Add missing space before closing bracket. Fix
25290 misleading formatting.
25291
892a3d98 252922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25293
25294 * docs/grub.texi: Major overhaul. Remove all sections that are
25295 specific to GRUB Legacy, or mostly composed of Legacy-specific
25296 information.
25297
ed94253f 252982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25299
25300 * docs/version.texi: New file. Provides version information for
25301 grub.texi.
25302
126d6628 253032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25304
25305 * docs/grub.texi: Update CVS information to SVN.
25306 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25307
998b5aa9 253082009-08-07 Felix Zielcke <fzielcke@z-51.de>
25309
25310 * util/grub-mkconfig.in: Remove a wrong `fi'.
25311
818e094a 253122009-08-07 Felix Zielcke <fzielcke@z-51.de>
25313
25314 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25315 (grub_jfs_uuid): New function.
25316 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25317
b969c52f 253182009-08-07 Felix Zielcke <fzielcke@z-51.de>
25319
25320 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25321 of it to ...
25322 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25323 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25324
7a4894cc 253252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25326
25327 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25328 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25329 Update all users.
25330
25331 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25332 not just "vmlinu[zx]".
25333 Moved from here ...
25334 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25335 all users.
25336
25337 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25338 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25339 all users.
25340
4e2171f8 253412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25342
25343 * util/grub.d/10_freebsd.in: Use an absolute device path for
25344 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25345
6dcfcb32 253462009-08-06 Felix Zielcke <fzielcke@z-51.de>
25347
25348 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25349 handling of multiple abstraction modules.
25350
f56a8756 253512009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25352
25353 Fix a bug resulting in black screen when loading Linux using a
25354 packed video mode.
25355
25356 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25357 function.
25358
25359 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25360 (grub_vbe_bios_getset_dac_palette_width): New function.
25361 (grub_vbe_bios_get_dac_palette_width)
25362 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25363 grub_vbe_bios_getset_dac_palette_width()).
25364
25365 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25366 check for return status.
25367 (grub_vbe_get_video_mode_info): When getting information for a packed
25368 mode (<= 8 bpp), obtain DAC palette width using
25369 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25370 {red,green,blue}_mark_size.
25371
222671b2 253722009-08-04 Felix Zielcke <fzielcke@z-51.de>
25373
ecb1a6d9 25374 * commands/search.c (options): Fix help output to match actual code.
222671b2 25375
f84114f5 253762009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25377
25378 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25379 of homegrown code.
25380
bd288a20 253812009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25382
25383 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25384 on XFS or ReiserFS.
25385
8aab5e25 253862009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25387
25388 Support Apple partition map with sector size different from 512 bytes.
25389
25390 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25391 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25392 and 'apart.partmap_size'.
25393
6ad6258a 253942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
253952009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25396
25397 Fix cpuid command.
25398
25399 * commands/i386/cpuid.c (options): New variable.
25400 (grub_cmd_cpuid): Return real error.
25401 (GRUB_MOD_INIT(cpuid)): Declare options.
25402
67459bc6 254032009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25404
25405 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25406 valid.
25407
fbc6ab54 254082009-07-31 Bean <bean123ch@gmail.com>
25409
25410 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25411 log2_inode.
25412 (grub_fshelp_node): Move inode field to the end.
25413 (grub_xfs_data): Remove inode field.
25414 (grub_xfs_inode_block): Calculate inode size using sblock.
25415 (grub_xfs_inode_offset): Likewise.
25416 (grub_xfs_read_inode): Calculate inode size using sblock.
25417 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25418 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25419 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25420 to match inode size.
25421 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25422 not accessible when data is null.
25423 (grub_xfs_open): Likewise.
25424
f45d6cfc 254252009-07-31 Bean <bean123ch@gmail.com>
25426
25427 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25428 Don't change pv->disk if it's already set.
25429
25430 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25431 (grub_raid_register): ... here.
25432 (grub_raid_rescan): Removed.
25433
25434 * include/grub/raid.h (grub_raid_rescan): Removed.
25435
25436 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25437 (fstest): Replace grub_raid_rescan with module fini function followed
25438 by init function.
25439
25440 * util/grub-probe.c: Add include file <grub/raid.h>.
25441 (probe_raid_level): New function.
25442 (probe): Detect abstraction by walking the disk device, support two
25443 level of abstraction (LVM on RAID) when detecting partition map.
25444
24443b5a 254452009-07-31 Pavel Roskin <proski@gnu.org>
25446
25447 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25448 to grub_zalloc(), it was erroneous.
25449 Reported by Bean <bean123ch@gmail.com>
25450
a275d9e7 254512009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25454 embedding zone, not only the first one.
a275d9e7 25455
56c5a47f 254562009-07-29 Joe Auricchio <jauricchio@gmail.com>
25457
25458 * term/gfxterm.c (clear_char): New function.
25459 (grub_virtual_screen_setup): Use clear_char.
25460 (scroll_up): Likewise.
25461 (grub_virtual_screen_cls): Likewise.
25462
67bb323a 254632009-07-29 Felix Zielcke <fzielcke@z-51.de>
25464
25465 * util/deviceiter.c (get_acceleraid_disk_name): New static
25466 function.
25467 (grub_util_iterate_devices): Handle Accelraid devices.
25468 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25469
388a7c75 254702009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25471
25472 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25473 separator for the suggested gfxpayload string (';' collides with the
25474 parser and needs escaping).
25475
3bb7abcf 254762009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25479 Clear direction flag before jumping to OS.
25480 (grub_multiboot2_real_boot): Likewise.
25481
2ddd36d7 254822009-07-28 Felix Zielcke <fzielcke@z-51.de>
25483
25484 * util/i386/pc/grub-install: Fix parsing of --disk-module
25485 option.
25486
c521b62b 254872009-07-28 Felix Zielcke <fzielcke@z-51.de>
25488
25489 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25490 when embedding.
25491
880e0a0c 254922009-07-26 Felix Zielcke <fzielcke@z-51.de>
25493
25494 * util/grub-mkconfig.in (package_version): New variable.
25495 Use it do display the version.
25496
2366e356 254972009-07-25 Felix Zielcke <fzielcke@z-51.de>
25498
25499 * kern/file.c (grub_file_open): Revert to previous check with
25500 grub_errno.
25501
7ad8c80e 255022009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25503
25504 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25505 from help line. It's out of sync with code.
25506
72b9658b 255072009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25508
25509 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25510 entries on failed boot.
25511
77435277 255122009-07-25 Felix Zielcke <fzielcke@z-51.de>
25513
25514 * kern/file.c (grub_file_open): Fix an error check.
25515
fcaa8b21 255162009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25517
35d16c74 25518 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25519 partition map couldn't be identified.
fcaa8b21 25520
48904cd1 255212009-07-23 Pavel Roskin <proski@gnu.org>
25522
ef3c317f 25523 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25524 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25525 case of little endian words becomes just an optimization.
25526 Respect const modifier.
ad8ea1f4 25527 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25528
48904cd1 25529 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25530 to avoid loss of upper bits if align is unsigned and shorter
25531 than addr.
25532
260c9a89 255332009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25534
25535 UUID support for UFS
25536
25537 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25538 (grub_ufs_uuid): New function.
25539 (grub_ufs_fs): add .uuid
25540
f76ce889 255412009-07-21 Pavel Roskin <proski@gnu.org>
25542
25543 * kern/dl.c (grub_dl_check_header): Make static.
25544
6a6cbcaf 255452009-07-21 Felix Zielcke <fzielcke@z-51.de>
25546
25547 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25548 add drivemap for Vista. It breaks Windows 7.
25549
cffcddb2 255502009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25551
25552 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25553 128 bytes
25554
1ef44b80 255552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25556
25557 Add BFS support
25558
25559 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25560 (grub_fstest_SOURCES): Likewise.
25561 (pkglib_MODULES): Add befs.mod.
25562 (befs_mod_SOURCES): New variable.
25563 (befs_mod_CFLAGS): Likewise.
25564 (befs_mod_LDFLAGS): Likewise.
25565 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25566 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25568 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25569 (grub_setup_SOURCES): Likewise.
25570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25571 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25572 (grub_setup_SOURCES): Likewise.
25573 * fs/befs.c: New file.
25574 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25575 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25576 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25577 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25578 (B_KEY_INDEX_ALIGN): New declaration.
25579 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25580 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25581 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25582 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25583 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25584 (grub_afs_mount) [MODE_BFS]: Likewise.
25585 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25586 (grub_afs_fs): Use GRUB_AFS_FSNAME
25587 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25588 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25589 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25590 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25591
4f253044 255922009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25593
25594 * util/getroot.c (find_root_device): Add support for MacOSX.
25595 * util/hostdisk.c: Likewise.
25596
57a55913 255972009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25598
25599 * font/font.c (find_glyph): Check whether a font is present to avoid
25600 segmentation fault.
75421ca9 25601
256022009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25603
25604 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25605
e98cd0c2 256062009-07-20 Pavel Roskin <proski@gnu.org>
25607
25608 * configure.ac: Trim excessively wordy excuses.
25609
1d2d169a 256102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25611
25612 Add symlink, mtime and label support to AtheFS.
25613
25614 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25615 (grub_afs_iterate_dir): Handle symlinks.
25616 (grub_afs_open): Use grub_afs_read_symlink.
25617 (grub_afs_dir): Likewise.
25618 Pass mtime.
25619 (grub_afs_label): New function.
25620 (grub_afs_fs): Add grub_afs_label.
25621 (grub_afs_read_symlink): New function.
25622
186f3189 256232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25624
25625 Fix AtheFS support.
25626
25627 * fs/afs.c: Fix comments style.
25628 (grub_afs_blockrun): Declare as packed.
25629 (grub_afs_datastream): Likewise.
25630 (grub_afs_bnode): Likewise.
25631 (grub_afs_btree): Likewise.
25632 (grub_afs_sblock): Likewise.
25633 Declare `name' as char.
25634 (grub_afs_inode): Declare as packed.
25635 Change void *vnode to grub_uint32_t unused.
25636 (grub_afs_iterate_dir): Check that key_size is positive.
25637 (grub_afs_mount): Don't read superblock twice.
75421ca9 25638 (grub_afs_dir): Don't free node in case of error,
186f3189 25639 grub_fshelp_find_file already handles this.
25640 (grub_afs_open): Likewise.
25641
5680109e 256422009-07-19 Pavel Roskin <proski@gnu.org>
25643
25644 * Makefile.in: Remove LIBLZO and enable_lzo.
25645 * conf/i386-pc.rmk: Remove lzo support.
25646 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25647 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25648 support.
25649 * kern/i386/pc/lzo1x.S: Remove.
25650 * kern/i386/pc/startup.S: Remove lzo support.
25651 * util/i386/pc/grub-mkimage.c: Likewise.
25652
ac70fa32 256532009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25654
25655 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25656 * fs/xfs.c (grub_xfs_dir): Likewise.
25657 * fs/afs.c (grub_afs_dir): Likewise.
25658 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25659 (grub_iso9660_open): Likewise.
25660 * fs/jfs.c (grub_jfs_open): Likewise.
25661 * fs/ext2.c (grub_ext2_dir): Likewise.
25662 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25663 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25664
eab58da2 256652009-07-16 Pavel Roskin <proski@gnu.org>
25666
d2838156 25667 * configure.ac: Never add "-c" to CFLAGS.
25668
55c70904 25669 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25670
43e6200c 25671 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25672 grub_cv_cc_efiemu should be used.
25673
ce7a733d 25674 * configure.ac: Typo fixes.
25675
eab58da2 25676 * kern/mm.c (grub_zalloc): New function.
25677 (grub_debug_zalloc): Likewise.
25678 * include/grub/mm.h: Declare grub_zalloc() and
25679 grub_debug_zalloc().
25680 * util/misc.c (grub_zalloc): New function.
25681 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25682 instead of grub_malloc(), remove unneeded initializations.
25683 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25684 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25685 * commands/parttool.c (grub_cmd_parttool): Likewise.
25686 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25687 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25688 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25689 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25690 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25691 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25692 (grub_cmd_efiemu_pnvram): Likewise.
25693 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25694 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25695 (grub_iso9660_iterate_dir): Likewise.
25696 * fs/jfs.c (grub_jfs_opendir): Likewise.
25697 * fs/ntfs.c (list_file): Likewise.
25698 (grub_ntfs_mount): Likewise.
25699 * kern/disk.c (grub_disk_open): Likewise.
25700 * kern/dl.c (grub_dl_load_core): Likewise.
25701 * kern/elf.c (grub_elf_file): Likewise.
25702 * kern/env.c (grub_env_context_open): Likewise.
25703 (grub_env_set): Likewise.
25704 (grub_env_set_data_slot): Likewise.
25705 * kern/file.c (grub_file_open): Likewise.
25706 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25707 * loader/i386/multiboot.c (grub_module): Likewise.
25708 * loader/xnu.c (grub_xnu_create_key): Likewise.
25709 (grub_xnu_create_value): Likewise.
25710 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25711 (read_config_file): Likewise.
25712 * normal/menu_entry.c (make_screen): Likewise.
25713 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25714 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25715 * script/sh/script.c (grub_script_parse): Likewise.
25716 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25717 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25718 * video/readers/png.c (grub_png_output_byte): Likewise.
25719 (grub_video_reader_png): Likewise.
25720
830afef7 257212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25722
25723 Enable all targets that can be built by default
25724
830afef7 25725 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25726 grub-mkfont and grub-fstest if they can be built
25727
ee293aee 257282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25729
25730 Fix hang and segmentation fault in grub-emu-usb
25731
25732 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25733 * util/usb.c (grub_libusb_devices): likewise
25734 (grub_libusb_init): rename to ...
25735 (GRUB_MOD_INIT (libusb)):...this
25736 (grub_libusb_fini): rename to ..
25737 (GRUB_MOD_FINI (libusb)):...this
25738 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25739 * include/grub/disk.h (grub_raid_init): removed, it's useless
25740 (grub_raid_fini): likewise
25741 (grub_lvm_init): likewise
25742 (grub_lvm_fini): likewise
25743 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25744 by grub_init_all
25745
94414221 257462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25747
25748 Fix libusb
25749
25750 * Makefile.in (LIBUSB): new macro
25751 * genmk.rb (Utility/print_tail): new method
25752 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25753 (top level): call util.print_tail at the end.
25754
59ade63d 257552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25756
25757 Make FreeBSD accept zpool.cache
25758
25759 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25760 type is /boot/zfs/zpool.cache
25761
a58da8c7 257622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25763
25764 Fix 64-bit efiemu
25765
25766 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25767 correct wrong typedef
25768 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25769
20591577 257702009-07-15 Pavel Roskin <proski@gnu.org>
25771
560ca572 25772 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25773 * kern/disk.c (struct grub_disk_cache): Likewise.
25774
e8e8e4fd 25775 * commands/probe.c (options): Typo fix.
25776
fde24e10 25777 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25778 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25779 accordingly.
25780 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25781
379c54c1 25782 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25783 the end of "Error" to make the message more readable.
25784
7bd8f5bf 25785 * boot/i386/pc/boot.S (kernel_segment): Remove.
25786 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25787 for destination.
25788
40b132c5 25789 * boot/i386/pc/boot.S (boot_version): Remove.
25790 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25791 Remove.
25792
20591577 25793 * include/grub/i386/pc/boot.h: Sort all offsets.
25794 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25795 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25796 * boot/i386/pc/boot.S: Assert location of every offset listed in
25797 include/grub/i386/pc/boot.h.
25798
2df32b2c 257992009-07-13 Pavel Roskin <proski@gnu.org>
25800
44b5d879 25801 * include/grub/i386/coreboot/machine.h: Rename
25802 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25803 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25804 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25805
17dc3751 25806 * kern/dl.c: Force native word size to suppress warnings when
25807 compiling grub-emu.
25808
2df32b2c 25809 * kern/device.c (grub_device_iterate): Change struct part_ent to
25810 hold the name, not a pointer to it. Use one grub_malloc() per
25811 partition, not two. Free partition_name if grub_malloc() fails.
25812 Set ents to NULL only before grub_partition_iterate() is called.
25813
75c59f59 258142009-07-11 Bean <bean123ch@gmail.com>
25815
25816 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25817 childname.
25818
0ae1bf88 258192009-07-10 Bean <bean123ch@gmail.com>
258202009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25821
25822 * kern/ieee1275/openfw.c (grub_children_iterate)
25823 (grub_devalias_iterate): Fix size evaluation for property or path
25824 strings, which was broken since r2132.
25825
8279cade 258262009-07-07 Pavel Roskin <proski@gnu.org>
25827
7d8a52d3 25828 * commands/search.c (search_file): Merge into ...
25829 (search_fs): ... this. Accept search type as argument.
25830 (grub_cmd_search): Pass search type to search_fs().
25831
25f9a05a 25832 * include/grub/util/console.h: New file.
25833 * util/console.c: Use it instead of grub/machine/console.h.
25834 * util/grub-emu.c: Likewise.
25835
8279cade 25836 * lib/arg.c (find_long_option): Remove.
25837 (find_long): Add `len' argument, make `s' const char *.
25838 (grub_arg_parse): Parse long options in place, not in a
25839 temporary buffer.
25840
4a11b60f 258412009-07-06 Pavel Roskin <proski@gnu.org>
25842
99f68041 25843 * commands/search.c (search_fs): Fix potential NULL pointer
25844 dereference.
25845
4a11b60f 25846 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25847 function pointer.
25848
e110f4de 258492009-07-06 Daniel Mierswa <impulze@impulze.org>
25850
25851 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25852 comparison.
25853
46eeb6a2 258542009-07-05 Pavel Roskin <proski@gnu.org>
25855
bab74958 25856 * include/grub/i386/linux.h (struct linux_kernel_params):
25857 Restore padding3, it's still needed.
25858
46eeb6a2 25859 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25860 FreeBSD.
25861 * util/osdetect.lua: Likewise.
25862
b4a1dc79 258632009-07-05 Bean <bean123ch@gmail.com>
25864
25865 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25866
25867 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25868 (grub_lua_getenv): Likewise.
25869 (grub_lua_setenv): Likewise.
25870 (save_errno): New function.
25871 (push_result): Likewise.
25872 (grub_lua_enum_device): Likewise.
25873 (grub_lua_enum_file): Likewise.
25874 (grub_lua_file_open): Likewise.
25875 (grub_lua_file_close): Likewise.
25876 (grub_lua_file_seek): Likewise.
25877 (grub_lua_file_read): Likewise.
25878 (grub_lua_file_getline): Likewise.
25879 (grub_lua_file_getsize): Likewise.
25880 (grub_lua_file_getpos): Likewise.
25881 (grub_lua_file_eof): Likewise.
25882 (grub_lua_file_exist): Likewise.
25883 (grub_lua_add_menu): Likewise.
25884
25885 * script/lua/grub_lua.h (isupper): New inline function.
25886 (islower): Likewise.
25887 (ispunct): Likewise.
25888 (isxdigit): Likewise.
25889 (strcspn): Change to normal function.
25890 (strpbkr): New function declaration.
25891 (memchr): Likewise.
25892
25893 * script/lua/grub_main.c (scan_str): New function.
25894 (strcspn): Likewise.
25895 (strpbrk): Likewise.
25896 (memchr): Likewise.
25897
25898 * script/lua/linit.c (lualibs): Enable the string library.
25899
25900 * util/osdetect.lua: New file.
25901
2da92295 259022009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25903
25904 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25905 `capabilities' member.
25906
b2582ec9 259072009-07-02 Pavel Roskin <proski@gnu.org>
25908
25909 * genparttoollist.sh: Add missing newline at the end.
25910
32622956 259112009-07-01 Pavel Roskin <proski@gnu.org>
25912
87a7339e 25913 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25914
d23af54e 25915 * util/hostdisk.c (open_device): Remove `const' from
25916 `sysctl_size', as sysctlbyname() can change it (in this case it
25917 doesn't actually happen).
25918
c94b18a9 25919 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25920 using signed long int constants.
25921
c6cd3ef0 25922 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25923 constant to avoid a warning on FreeBSD.
25924
0df63420 25925 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25926 where it's needed.
25927
999577f1 25928 * Makefile.in: Install include/grub/machine symlink.
25929
6f41557f 25930 * Makefile.in: When installing symlinks, use "cp -fR", which
25931 works on FreeBSD and MacOSX.
25932 From Yves Blusseau <cl7m42e02@sneakemail.com>
25933
c8d22988 25934 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25935 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25936
1b96e952 25937 * util/misc.c: Move grub_reboot() and grub_halt() ...
25938 * util/grub-emu.c: ... here. Make main_env static.
25939 * include/grub/util/misc.h: Remove main_env.
25940
2ef0084d 25941 * kern/mm.c: Use correct format to print size_t.
25942
32622956 25943 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25944 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25945 * kern/powerpc/dl.c: Likewise.
25946 * kern/sparc64/dl.c: Likewise.
25947 * kern/x86_64/dl.c: Likewise.
25948
3f7f0cd0 259492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25950
25951 Fix grub-emu build on sparc64-ieee1275.
25952
75421ca9 25953 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25955
211d06b5 259562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25957
25958 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25959 (grub_reboot, grub_halt): New functions.
25960
25961 * util/i386/pc/misc.c: Delete. Update all users.
25962 * util/sparc64/ieee1275/misc.c: Likewise.
25963 * util/powerpc/ieee1275/misc.c: Likewise.
25964
aaf53e3c 259652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25966
25967 * conf/i386.rmk (setjmp_mod_SOURCES)
25968 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25969 * conf/common.rmk (setjmp_mod_SOURCES)
25970 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25971 to use $(target_cpu).
25972 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25973 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25974 * conf/powerpc-ieee1275.rmk: Likewise.
25975 * conf/sparc64-ieee1275.rmk: Likewise.
25976
25977 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25978 $(target_cpu) for kern/$(target_cpu)/dl.c.
25979 * conf/i386-efi.rmk: Likewise.
25980 * conf/i386-ieee1275.rmk: Likewise.
25981 * conf/x86_64-efi.rmk: Likewise.
25982 * conf/i386-coreboot.rmk: Likewise.
25983 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25984 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25985 kern/$(target_cpu)/cache.S.
25986 * conf/sparc64-ieee1275.rmk: Likewise.
25987
a337130b 259882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25989
25990 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25991 type to `grub_uint8_t', and adjust `padding9' accordingly.
25992
c6fe4d53 259932009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25994
b09db61d 25995 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25996
c6fe4d53 25997 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25998 assembly in final jump, using register constraints.
25999
b09db61d 26000 (grub_linux_boot): For text mode, initialize `have_vga' using
26001 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26002
26003 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26004 right before the final jump.
26005
26006 Set `video_mode' to 0x3.
26007
26008 Document initialization of `video_page', `video_mode' and
26009 `video_ega_bx'.
26010
28333ad0 260112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26012
26013 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26014 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26015 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26016
02164e1b 260172009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26018
26019 Fix build on Debian / sparc.
26020
26021 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26022
18b6c557 260232009-06-28 Pavel Roskin <proski@gnu.org>
26024
85f2aab6 26025 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26026 fix a warning.
26027
18b6c557 26028 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26029
ad760f81 260302009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26031
26032 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26033 `err'.
26034
87a4623b 260352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26036
26037 Revert r2338.
26038
26039 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26040 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26041 grub_errno / grub_errmsg appropriately.
87a4623b 26042 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26043
8231fb77 260442009-06-27 Pavel Roskin <proski@gnu.org>
260452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26046
26047 * include/grub/dl.h: Include grub/elf.h.
26048 (struct grub_dl): Add symtab field.
26049 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26050 GRUB_MODULES_MACHINE_READONLY.
26051 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26052 of the header for read-only modules.
26053 (grub_dl_unload): Free mod->symtab for read-only modules.
26054 * kern/i386/dl.c: Use mod->symtab.
26055 * kern/powerpc/dl.c: Likewise.
26056 * kern/sparc64/dl.c: Likewise.
26057 * kern/x86_64/dl.c: Likewise.
26058
26059 * conf/i386-qemu.rmk: New file.
26060 * kern/i386/qemu/startup.S: Likewise.
26061 * kern/i386/qemu/mmap.c: Likewise.
26062 * boot/i386/qemu/boot.S: Likewise.
26063 * include/grub/i386/qemu/time.h: Likewise.
26064 * include/grub/i386/qemu/serial.h: Likewise.
26065 * include/grub/i386/qemu/kernel.h: Likewise.
26066 * include/grub/i386/qemu/console.h: Likewise.
26067 * include/grub/i386/qemu/boot.h: Likewise.
26068 * include/grub/i386/qemu/init.h: Likewise.
26069 * include/grub/i386/qemu/machine.h: Likewise.
26070 * include/grub/i386/qemu/loader.h: Likewise.
26071 * include/grub/i386/qemu/memory.h: Likewise.
26072
26073 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26074 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26075 [qemu] (pkglib_IMAGES): Add `boot.img'.
26076 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26077 [qemu] (boot_img_FORMAT): New variables.
26078 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26079 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26080 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26081 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26082 [qemu] (kernel_img_FORMAT): New variables.
26083
26084 * configure.ac: Recognise `i386-qemu'.
26085
26086 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26087 (for no compression).
26088 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26089 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26090 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26091 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26092 ifdefs).
26093
97fe384e 260942009-06-27 Pavel Roskin <proski@gnu.org>
26095
26096 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26097 read.
26098 * efiemu/prepare32.c: Likewise.
26099 * efiemu/prepare64.c: Likewise.
26100
c402ab17 261012009-06-26 Pavel Roskin <proski@gnu.org>
26102
26103 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26104 * include/grub/elf.h: Define symbols without "32" or "64" based
26105 on GRUB_TARGET_WORDSIZE.
26106 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26107 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26108 ELF definitions.
26109 * efiemu/loadcore64.c: Likewise.
26110 * loader/i386/bsd32.c: Likewise.
26111 * loader/i386/bsd64.c: Likewise.
26112 * kern/dl.c: Remove own ELF definitions.
26113 * util/i386/efi/grub-mkimage.c: Likewise.
26114
9bbdfd4d 261152009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26116
26117 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26118 segment 0x0 unconditionally, because the reference generated by
26119 GAS is an absolute address.
26120
a42ce6e9 261212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26122
26123 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26124 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26125
c952cf92 261262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26127
26128 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26129 indexes. Check for -f explicitly.
cc3752ad 26130 (search_file): Improve error message.
26131 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26132
132a0a59 261332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26134
26135 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26136 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26137
387a140c 261382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26139
26140 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26141 * conf/i386-ieee1275.rmk: Likewise.
26142 * conf/i386-coreboot.rmk: Likewise.
26143
26144 * kern/i386/pc/startup.S (grub_stop): Remove function.
26145 * kern/i386/ieee1275/startup.S: Likewise.
26146 * kern/i386/coreboot/startup.S: Likewise.
26147 * kern/i386/misc.S (grub_stop): New function.
26148
41da9665 261492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26150
26151 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26152 * kern/i386/realmode.S (real_to_prot): ... to here.
26153
bf337234 261542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26155
26156 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26157 with `kernel.img'.
26158 (kernel_elf_SOURCES): Rename to ...
26159 (kernel_img_SOURCES): ... this.
26160 (kernel_elf_HEADERS): Rename to ...
26161 (kernel_img_HEADERS): ... this. Update all users.
26162 (kernel_elf_ASFLAGS): Rename to ...
26163 (kernel_img_ASFLAGS): ... this.
26164 (kernel_elf_CFLAGS): Rename to ...
26165 (kernel_img_CFLAGS): ... this.
26166 (kernel_elf_LDFLAGS): Rename to ...
26167 (kernel_img_LDFLAGS): ... this.
26168 * conf/i386-coreboot.rmk: Likewise.
26169 * conf/powerpc-ieee1275.rmk: Likewise.
26170
26171 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26172 with "kernel.img".
26173
f52196ff 261742009-06-21 Pavel Roskin <proski@gnu.org>
26175
c3cee413 26176 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26177 to match nested functions.
26178 * loader/sparc64/ieee1275/linux.c: Likewise.
26179
f52196ff 26180 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26181
58750afc 261822009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26183
26184 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26185 all i386 platforms.
26186
15355c7d 261872009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26188
26189 Fix asm file handling on ELF, and remove workarounds.
26190
26191 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26192 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26193 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26194 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26195
3f3ec72b 261962009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26197
26198 Load BSD ELF modules
26199
26200 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26201 and loader/i386/bsd64.c
26202 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26203 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26204 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26205 (grub_freebsd_load_elfmodule32): New declaration
26206 (grub_freebsd_load_elfmoduleobj64): Likewise
26207 (grub_freebsd_load_elf_meta32): Likewise
26208 (grub_freebsd_load_elf_meta64): Likewise
26209 (grub_freebsd_add_meta): Likewise
26210 (grub_freebsd_add_meta_module): Likewise
26211 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26212 (grub_freebsd_add_meta_module): Likewise and move module-specific
26213 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26214 (grub_cmd_freebsd): Add elf-kernel specific parts
26215 based on grub_freebsd_add_meta_module
26216 (grub_cmd_freebsd_module): Add type parsing moved from
26217 grub_freebsd_add_meta_module
26218 (grub_cmd_freebsd_module_elf): New function
26219 (cmd_freebsd_module_elf): New variable
26220 (GRUB_MOD_INIT): Register freebsd_module_elf
26221 * loader/i386/bsd32.c: New file
26222 * loader/i386/bsd64.c: Likewise
26223 * loader/i386/bsdXX.c: Likewise
26224 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26225 (grub_elf64_load): Likewise
26226 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26227 All users updated
26228 (grub_elf64_load_hook_t): Likewise
26229
0db15301 262302009-06-21 Colin Watson <cjwatson@ubuntu.com>
26231
26232 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26233 variable.
26234 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26235 don't write a menu entry for recovery mode.
26236
546796c1 262372009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26238
26239 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26240 after it's no longer needed.
26241
cd7310d5 262422009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26243
26244 * include/grub/i386/loader.h (grub_linux_prot_size)
26245 (grub_linux_tmp_addr, grub_linux_real_addr)
26246 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26247 GRUB_MACHINE_PCBIOS.
26248 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26249 common grub_util_info() call to ...
26250 (generate_image): ... here.
26251 Fix use of uninitialized memory, comparison of signed with
26252 unsigned integers and memory leak.
26253 Remove bogus module address message.
26254
ab32d3b5 262552009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26256
26257 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26258 grub_raid_register
26259 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26260
024ef597 262612009-06-19 Pavel Roskin <proski@gnu.org>
26262
26263 * configure.ac: Remove stray AC_MSG_CHECKING.
26264
3ac72b51 262652009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26268
e14cd814 262692009-06-18 Pavel Roskin <proski@gnu.org>
26270
26271 * conf/common.rmk: Add fs_file.mod.
26272 * disk/fs_file.c: New file.
26273 * include/grub/disk.h (enum grub_disk_dev_id): Add
26274 GRUB_DISK_DEVICE_FILE_ID.
26275
26586d98 262762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26277
26278 Fix build with Apple's toolchain. Part 2
26279
26280 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26281 a fake start
26282
26de2bcd 262832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26284
26285 Fix build with Apple's toolchain. Part 1
26286
26287 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26288 for long calls
26289 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26290 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26291 Apple's toolchain
26292
09b3490b 262932009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26294
26295 Fix warnings
26296
26297 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26298 (decomp_block): initialize ch
26299 use grub_memcpy instead of memcpy
26300
c22a006a 263012009-06-17 Pavel Roskin <proski@gnu.org>
26302
d3638678 26303 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26304 version, use declarations needed to use vga_text as the startup
26305 console.
26306
c22a006a 26307 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26308 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26309 the kernel.
26310 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26311 and grub_at_keyboard_fini(), it's done on module load and
26312 unload.
26313
05b129e0 263142009-06-17 Felix Zielcke <fzielcke@z-51.de>
26315
26316 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26317 file can't be found.
26318 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26319
cf24ed9e 263202009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26321
26322 Fix newline handling
26323
26324 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26325 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26326 (grub_script_yylex): don't segfault on unterminated script
26327 newline terminates command and variable
26328
74aa8e4b 263292009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26330
26331 avoid double grub_adjust_range call. Bug reported by David Simner
26332
26333 * kern/disk.c (grub_disk_write): change to raw disk access before
26334 calling disk_read
26335
1bd265f3 263362009-06-17 Colin Watson <cjwatson@ubuntu.com>
26337
26338 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26339 spaces, for the benefit of help2man.
26340 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26341
a2d08c06 263422009-06-16 Pavel Roskin <proski@gnu.org>
26343
26344 * kern/i386/halt.c: Include grub/machine/init.h.
26345 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26346
b97bcb19 263472009-06-16 Felix Zielcke <fzielcke@z-51.de>
26348
26349 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26350 drivemap menuentry.
26351
0644f96c 263522009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26353
26354 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26355 `echo' command.
26356
3ef17a2e 263572009-06-16 Pavel Roskin <proski@gnu.org>
26358
26359 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26360 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26361 save %dx, we only need %dl and we never change it.
26362 * boot/i386/pc/cdboot.S: Don't set the root drive.
26363 * boot/i386/pc/pxeboot.S: Likewise.
26364 * include/grub/i386/pc/boot.h: Remove
26365 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26366 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26367 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26368 * kern/i386/pc/init.c (make_install_device): Remove references
26369 to grub_root_drive.
26370 * kern/i386/pc/startup.S: Likewise.
26371 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26372
693fe637 263732009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26374
26375 xnu_uuid command
26376
26377 * commands/xnu_uuid.c: new file
26378 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26379 (xnu_uuid_mod_SOURCES): new variable
26380 (xnu_uuid_mod_CFLAGS): likewise
26381 (xnu_uuid_mod_LDFLAGS): likewise
26382 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26383 * conf/i386-ieee1275.rmk: likewise
26384 * conf/i386-pc.rmk: likewise
26385 * conf/powerpc-ieee1275.rmk: likewise
26386 * conf/sparc64-ieee1275.rmk: likewise
26387 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26388
c9da87d0 263892009-06-16 Pavel Roskin <proski@gnu.org>
26390
26391 * configure.ac: Avoid '==' in test command, it's not portable.
26392
9c6f4596 263932009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 Probe command
26396
26397 * commands/probe.c: new file
26398 * conf/common.rmk (pkglib_MODULES): add probe.mod
26399 (probe_mod_SOURCES): new variable
26400 (probe_mod_CFLAGS): likewise
26401 (probe_mod_LDFLAGS): likewise
26402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26403 * conf/i386-ieee1275.rmk: likewise
26404 * conf/i386-pc.rmk: likewise
26405 * conf/powerpc-ieee1275.rmk: likewise
26406 * conf/sparc64-ieee1275.rmk: likewise
26407
70b7f9fd 264082009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26409
26410 Fix handling of string like \"hello\" and "a
26411 b"
26412
26413 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26414 (grub_script_yylex): fix parsing of quoting, escaping and newline
26415
71c79a6b 264162009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26417
dd74360c 26418 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26419 handling
dd74360c 26420
0644f96c 264212009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26422
26423 * util/grub-mkconfig.in: Fix parsing of --output option.
26424
e40893c3 264252009-06-12 Pavel Roskin <proski@gnu.org>
26426
26427 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26428 genmk.rb don't need to be generated or installed.
26429
3a1acfe2 264302009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26431
26432 * commands/i386/pc/drivemap_int13h.S: add more comments
26433
3a4575d4 264342009-06-11 Pavel Roskin <proski@gnu.org>
26435
0658e928 26436 * Makefile.in (uninstall): Uninstall manuals.
26437
ca0388f0 26438 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26439 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26440 and update-grub_lib in two places.
26441 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26442
e3b27c39 26443 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26444 a compiler warning.
26445
3a4575d4 26446 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26447 `entry_lo' to fix variable shadowing.
26448
af1f4f55 264492009-06-11 Christian Franke <franke@computer.org>
26450
26451 * kern/misc.c (__enable_execute_stack): Add missing return type
26452 to prevent gcc warning.
26453
5225e649 264542009-06-11 Felix Zielcke <fzielcke@z-51.de>
26455
26456 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26457
7d83bd47 264582009-06-11 Pavel Roskin <proski@gnu.org>
26459
c1cb63ba 26460 * Makefile.in: Don't rely on any scripts being executable.
26461 Always use $(SHELL) to run shell scripts.
26462
7d83bd47 26463 * configure.ac: Always define ___main if using -nostdlib. This
26464 fixes tests on Cygwin.
26465
948f48e7 264662009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26467
26468 UDF fix
26469
7d83bd47 26470 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26471 is in bytes and not in blocks
7d83bd47 26472
8ada9bc1 264732009-06-11 Pavel Roskin <proski@gnu.org>
26474
26475 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26476 warning.
26477
25ad2323 264782009-06-11 Felix Zielcke <fzielcke@z-51.de>
26479
26480 * util/grub.d/30_os-prober.in: Fix a comment. Source
26481 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26482 to set the root device. Place drivemap command in the generated
26483 chain entry.
26484
e65acb0c 264852009-06-11 Pavel Roskin <proski@gnu.org>
26486
26487 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26488 have long been resolved.
26489
f285fe2d 264902009-06-11 Colin Watson <cjwatson@ubuntu.com>
26491
bd47b0b5 26492 * util/grub.d/10_linux.in: Capitalise "Linux".
26493
f285fe2d 26494 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26495
a0c62e4e 264962009-06-11 Pavel Roskin <proski@gnu.org>
26497
b6783cb2 26498 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26499 fix a gcc warning and ensure that the function won't ever exit.
26500
dde032e8 26501 * kern/i386/ieee1275/init.c: Add missing prototype for
26502 grub_stop_floppy().
26503
22cd079d 26504 * loader/ieee1275/multiboot2.c [__i386__]: Include
26505 grub/cpu/multiboot.h.
26506
a0c62e4e 26507 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26508 casts to short - they are not portable and cause warnings. Fix
26509 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26510
63963d17 265112009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26512
26513 Drivemap fixes
26514
26515 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26516 new function
26517 (grub_get_root_biosnumber_saved): new variable
26518 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26519 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26520 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26521 %dx after the call if necessary
26522 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26523 (boot_mod_SOURCES): remove
26524 (boot_mod_CFLAGS): remove
26525 (boot_mod_LDFLAGS): remove
26526 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26527 (boot_mod_SOURCES): new variable
26528 (boot_mod_CFLAGS): likewise
26529 (boot_mod_LDFLAGS): likewise
26530 * conf/i386-efi.rmk: likewise
26531 * conf/i386-ieee1275.rmk: likewise
26532 * conf/i386-pc.rmk: likewise
26533 * conf/powerpc-ieee1275.rmk: likewise
26534 * conf/sparc64-ieee1275.rmk: likewise
26535 * conf/x86_64-efi.rmk: likewise
26536 * include/grub/i386/pc/biosnum.h: new file
26537 * lib/i386/pc/biosnum.c: likewise
26538 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26539 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26540 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26541
33abf7ae 265422009-06-10 Pavel Roskin <proski@gnu.org>
26543
5ac35b35 26544 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26545 Use separate variables. Read only the file size at the end, but
26546 not the checksum that we don't use.
26547
5c5215d5 26548 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26549 Adjust all callers.
26550
27d5fef7 26551 * kern/ieee1275/openfw.c: Remove libc includes.
26552 * kern/ieee1275/cmain.c: Likewise.
26553 * include/grub/ieee1275/ieee1275.h: Likewise.
26554
33abf7ae 26555 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26556 compiler warnings.
26557
19d50c2b 265582009-06-10 Felix Zielcke <fzielcke@z-51.de>
26559
26560 * Makefile.in: Remove all trailing whitespace.
26561 * conf/i386-pc.rmk: Likewise.
26562 * conf/powerpc-ieee1275.rmk: Likewise.
26563 * conf/sparc64-ieee1275.rmk: Likewise.
26564 * docs/grub.texi: Likewise.
26565 * docs/texinfo.tex: Likewise.
26566 * disk/fs_uuid.c: Likewise.
26567 * disk/lvm.c: Likewise.
26568 * disk/scsi.c: Likewise.
26569 * disk/ata.c: Likewise.
26570 * disk/ieee1275/ofdisk.c: Likewise.
26571 * disk/i386/pc/biosdisk.c: Likewise.
26572 * disk/host.c: Likewise.
26573 * disk/raid.c: Likewise.
26574 * disk/efi/efidisk.c: Likewise.
26575 * disk/usbms.c: Likewise.
26576 * disk/memdisk.c: Likewise.
26577 * disk/loopback.c: Likewise.
26578 * kern/powerpc/dl.c: Likewise.
26579 * kern/device.c: Likewise.
26580 * kern/dl.c: Likewise.
26581 * kern/sparc64/dl.c: Likewise.
26582 * kern/ieee1275/ieee1275.c: Likewise.
26583 * kern/term.c: Likewise.
26584 * kern/fs.c: Likewise.
26585 * kern/i386/dl.c: Likewise.
26586 * kern/i386/pc/startup.S: Likewise.
26587 * kern/i386/pc/init.c: Likewise.
26588 * kern/i386/pc/mmap.c: Likewise.
26589 * kern/i386/pc/lzo1x.S: Likewise.
26590 * kern/i386/ieee1275/init.c: Likewise.
26591 * kern/i386/realmode.S: Likewise.
26592 * kern/i386/tsc.c: Likewise.
26593 * kern/partition.c: Likewise.
26594 * kern/corecmd.c: Likewise.
26595 * kern/file.c: Likewise.
26596 * kern/efi/efi.c: Likewise.
26597 * kern/efi/init.c: Likewise.
26598 * kern/efi/mm.c: Likewise.
26599 * kern/main.c: Likewise.
26600 * kern/err.c: Likewise.
26601 * kern/env.c: Likewise.
26602 * kern/disk.c: Likewise.
26603 * kern/generic/millisleep.c: Likewise.
26604 * kern/generic/rtc_get_time_ms.c: Likewise.
26605 * kern/misc.c: Likewise.
26606 * kern/parser.c: Likewise.
26607 * genmk.rb: Likewise.
26608 * configure.ac: Likewise.
26609 * boot/i386/pc/diskboot.S: Likewise.
26610 * boot/i386/pc/pxeboot.S: Likewise.
26611 * boot/i386/pc/boot.S: Likewise.
26612 * boot/i386/pc/lnxboot.S: Likewise.
26613 * boot/i386/pc/cdboot.S: Likewise.
26614 * parttool/pcpart.c: Likewise.
26615 * video/readers/tga.c: Likewise.
26616 * video/video.c: Likewise.
26617 * video/bitmap.c: Likewise.
26618 * lib/envblk.c: Likewise.
26619 * lib/i386/setjmp.S: Likewise.
26620 * fs/xfs.c: Likewise.
26621 * fs/afs.c: Likewise.
26622 * fs/fat.c: Likewise.
26623 * fs/ntfs.c: Likewise.
26624 * fs/udf.c: Likewise.
26625 * fs/affs.c: Likewise.
26626 * fs/iso9660.c: Likewise.
26627 * fs/hfs.c: Likewise.
26628 * fs/fshelp.c: Likewise.
26629 * fs/ext2.c: Likewise.
26630 * fs/jfs.c: Likewise.
26631 * fs/reiserfs.c: Likewise.
26632 * fs/hfsplus.c: Likewise.
26633 * fs/minix.c: Likewise.
26634 * fs/cpio.c: Likewise.
26635 * fs/sfs.c: Likewise.
26636 * fs/ufs.c: Likewise.
26637 * efiemu/prepare.c: Likewise.
26638 * efiemu/loadcore_common.c: Likewise.
26639 * efiemu/runtime/efiemu.sh: Likewise.
26640 * efiemu/runtime/efiemu.S: Likewise.
26641 * efiemu/runtime/efiemu.c: Likewise.
26642 * efiemu/pnvram.c: Likewise.
26643 * efiemu/main.c: Likewise.
26644 * efiemu/i386/pc/cfgtables.c: Likewise.
26645 * efiemu/i386/loadcore64.c: Likewise.
26646 * efiemu/i386/loadcore32.c: Likewise.
26647 * efiemu/loadcore.c: Likewise.
26648 * efiemu/symbols.c: Likewise.
26649 * efiemu/mm.c: Likewise.
26650 * include/grub/autoefi.h: Likewise.
26651 * include/grub/datetime.h: Likewise.
26652 * include/grub/term.h: Likewise.
26653 * include/grub/hfs.h: Likewise.
26654 * include/grub/lvm.h: Likewise.
26655 * include/grub/i386/tsc.h: Likewise.
26656 * include/grub/i386/linux.h: Likewise.
26657 * include/grub/i386/xnu.h: Likewise.
26658 * include/grub/i386/efiemu.h: Likewise.
26659 * include/grub/i386/pc/biosdisk.h: Likewise.
26660 * include/grub/i386/pc/memory.h: Likewise.
26661 * include/grub/i386/pc/vbe.h: Likewise.
26662 * include/grub/parttool.h: Likewise.
26663 * include/grub/video.h: Likewise.
26664 * include/grub/memory.h: Likewise.
26665 * include/grub/fs.h: Likewise.
26666 * include/grub/partition.h: Likewise.
26667 * include/grub/xnu.h: Likewise.
26668 * include/grub/efi/api.h: Likewise.
26669 * include/grub/efi/pe32.h: Likewise.
26670 * include/grub/efi/memory.h: Likewise.
26671 * include/grub/multiboot.h: Likewise.
26672 * include/grub/usbdesc.h: Likewise.
26673 * include/grub/multiboot2.h: Likewise.
26674 * include/grub/acpi.h: Likewise.
26675 * include/grub/efiemu/efiemu.h: Likewise.
26676 * include/grub/disk.h: Likewise.
26677 * include/grub/ieee1275/ieee1275.h: Likewise.
26678 * include/grub/net.h: Likewise.
26679 * include/grub/machoload.h: Likewise.
26680 * include/grub/macho.h: Likewise.
26681 * include/multiboot.h: Likewise.
26682 * genmoddep.awk: Likewise.
26683 * normal/main.c: Likewise.
26684 * normal/menu_entry.c: Likewise.
26685 * normal/menu_viewer.c: Likewise.
26686 * normal/completion.c: Likewise.
26687 * normal/cmdline.c: Likewise.
26688 * normal/misc.c: Likewise.
26689 * normal/datetime.c: Likewise.
26690 * bus/usb/usbtrans.c: Likewise.
26691 * bus/usb/ohci.c: Likewise.
26692 * bus/usb/uhci.c: Likewise.
26693 * bus/usb/usb.c: Likewise.
26694 * mmap/efi/mmap.c: Likewise.
26695 * mmap/i386/pc/mmap_helper.S: Likewise.
26696 * mmap/i386/pc/mmap.c: Likewise.
26697 * mmap/i386/mmap.c: Likewise.
26698 * mmap/i386/uppermem.c: Likewise.
26699 * mmap/mmap.c: Likewise.
26700 * commands/acpi.c: Likewise.
26701 * commands/echo.c: Likewise.
26702 * commands/blocklist.c: Likewise.
26703 * commands/loadenv.c: Likewise.
26704 * commands/usbtest.c: Likewise.
26705 * commands/boot.c: Likewise.
26706 * commands/parttool.c: Likewise.
26707 * commands/search.c: Likewise.
26708 * commands/cat.c: Likewise.
26709 * commands/i386/pc/play.c: Likewise.
26710 * commands/i386/pc/drivemap.c: Likewise.
26711 * commands/i386/pc/vbeinfo.c: Likewise.
26712 * commands/i386/pc/acpi.c: Likewise.
26713 * commands/i386/pc/vbetest.c: Likewise.
26714 * commands/ls.c: Likewise.
26715 * commands/cmp.c: Likewise.
26716 * commands/test.c: Likewise.
26717 * commands/efi/acpi.c: Likewise.
26718 * commands/gptsync.c: Likewise.
26719 * commands/help.c: Likewise.
26720 * partmap/amiga.c: Likewise.
26721 * partmap/apple.c: Likewise.
26722 * partmap/acorn.c: Likewise.
26723 * partmap/pc.c: Likewise.
26724 * partmap/sun.c: Likewise.
26725 * partmap/gpt.c: Likewise.
26726 * script/sh/lexer.c: Likewise.
26727 * script/sh/function.c: Likewise.
26728 * font/font.c: Likewise.
26729 * font/font_cmd.c: Likewise.
26730 * loader/powerpc/ieee1275/linux.c: Likewise.
26731 * loader/efi/chainloader.c: Likewise.
26732 * loader/multiboot_loader.c: Likewise.
26733 * loader/macho.c: Likewise.
26734 * loader/i386/multiboot.c: Likewise.
26735 * loader/i386/linux.c: Likewise.
26736 * loader/i386/pc/linux.c: Likewise.
26737 * loader/i386/pc/multiboot2.c: Likewise.
26738 * loader/i386/pc/chainloader.c: Likewise.
26739 * loader/i386/pc/xnu.c: Likewise.
26740 * loader/i386/bsd_trampoline.S: Likewise.
26741 * loader/i386/efi/linux.c: Likewise.
26742 * loader/i386/multiboot_elfxx.c: Likewise.
26743 * loader/i386/bsd_helper.S: Likewise.
26744 * loader/i386/bsd.c: Likewise.
26745 * loader/i386/linux_trampoline.S: Likewise.
26746 * loader/i386/xnu_helper.S: Likewise.
26747 * loader/i386/xnu.c: Likewise.
26748 * loader/i386/bsd_pagetable.c: Likewise.
26749 * loader/i386/multiboot_helper.S: Likewise.
26750 * loader/xnu.c: Likewise.
26751 * loader/xnu_resume.c: Likewise.
26752 * io/gzio.c: Likewise.
26753 * term/efi/console.c: Likewise.
26754 * term/terminfo.c: Likewise.
26755 * term/ieee1275/ofconsole.c: Likewise.
26756 * term/i386/pc/serial.c: Likewise.
26757 * term/i386/pc/vesafb.c: Likewise.
26758 * term/i386/pc/vga.c: Likewise.
26759 * term/usb_keyboard.c: Likewise.
26760 * term/gfxterm.c: Likewise.
26761 * aclocal.m4: Likewise.
26762 * util/lvm.c: Likewise.
26763 * util/grub.d/30_os-prober.in: Likewise.
26764 * util/grub.d/10_hurd.in: Likewise.
26765 * util/console.c: Likewise.
26766 * util/grub-macho2img.c: Likewise.
26767 * util/grub-probe.c: Likewise.
26768 * util/hostfs.c: Likewise.
26769 * util/i386/pc/grub-mkimage.c: Likewise.
26770 * util/i386/pc/grub-setup.c: Likewise.
26771 * util/i386/efi/grub-mkimage.c: Likewise.
26772 * util/grub-mkconfig.in: Likewise.
26773 * util/raid.c: Likewise.
26774 * util/resolve.c: Likewise.
26775 * util/grub-mkdevicemap.c: Likewise.
26776 * util/grub-emu.c: Likewise.
26777 * util/getroot.c: Likewise.
26778 * util/hostdisk.c: Likewise.
26779 * util/usb.c: Likewise.
26780 * util/grub-editenv.c: Likewise.
26781 * util/misc.c: Likewise.
26782
d2d49665 267832009-06-10 Felix Zielcke <fzielcke@z-51.de>
26784
26785 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26786 `genparttoollist.sh'.
26787 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26788 Add `*.sh' to the list find searches for and change `mdate.sh'
26789 to `mdate-sh'.
26790
fe052e37 267912009-06-10 Pavel Roskin <proski@gnu.org>
26792
2763ac18 26793 * include/grub/multiboot2.h: Provide compatibility defines for
26794 multiboot2.h.
26795 * include/multiboot2.h: Include stdint.h only if needed, using
26796 angle brackets.
26797 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26798 grub/multiboot2.h.
26799 * loader/ieee1275/multiboot2.c: Likewise.
26800 * loader/multiboot2.c: Likewise.
26801 * loader/multiboot_loader.c: Likewise.
26802
437e6adc 26803 * configure.ac: Use -nostdlib when probing for the target. It
26804 should not be required to have libc for the target.
26805
06a6836c 26806 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26807 they fail without libc headers for the target.
26808 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26809 exports.
26810 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26811 preprocessor conditionals.
26812
fe052e37 26813 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26814 build system doesn't need to be aware of the tar.c internals.
26815
afd22553 268162009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26817
afd22553 26818 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26819
6b787c4f 268202009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26821
26822 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26823 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26824
268252009-06-09 Felix Zielcke <fzielcke@z-51.de>
26826
26827 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26828 aren't available if ata.mod gets used.
6b787c4f 26829
473d1e45 268302009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26831
473d1e45 26832 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26833 initialising controller.
473d1e45 26834 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26835
255a27d4 268362009-06-08 Felix Zielcke <fzielcke@z-51.de>
26837
26838 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26839 to choose between ata and biosdisk module on i386-pc.
26840
473d1e45 268412009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26842
d55842d8 26843 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26844 Subclass and Programming Interface fields in terms of the 3 byte
26845 Class Code register.
26846 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26847
fa5db0b1 26848 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26849 interface is OHCI. Add grub_dprintf for symmetry with
26850 bus/usb/uhci.c.
26851 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26852 interface is UHCI. Add interf variable for programming
26853 interface. Print interface with class/subclass.
26854
c0947beb 26855 * bus/usb/ohci.c: Set interf with correct field.
26856
69da8877 26857 * bus/usb/uhci.c: Remove unneeded doubled lines.
26858 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26859 Remove whitespace inside comment.
26860
9e172e30 268612009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26862
26863 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26864 as fallback an equivalent option without depth.
26865
de65ee2b 268662009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26867
26868 Not fail if unable to retrieve C/H/S on LBA disks
26869
473d1e45 26870 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26871 if unable to retrieve C/H/S on LBA disks
26872
b57ea2c9 268732009-06-08 Pavel Roskin <proski@gnu.org>
26874
26875 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26876 about aliasing.
26877
af361263 268782009-06-08 Felix Zielcke <fzielcke@z-51.de>
26879
26880 * Makefile.in (uninstall): Remove all $lib_DATA files.
26881
4c9ec6b3 268822009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26883
26884 Bugfix: install on partitionless device
26885
26886 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26887 is a whole disk
26888
e76fc924 268892009-06-08 Felix Zielcke <fzielcke@z-51.de>
26890
26891 * Makefile.in (uninstall): Remove all $include_DATA files.
26892
ba5a0d05 268932009-06-08 Felix Zielcke <fzielcke@z-51.de>
26894
26895 * commands/true.c: New file. Implement the true and false commands.
26896 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26897 (true_mod_SOURCES): New variable.
26898 (true_mod_CFLAGS): Likewise.
26899 (true_mod_LDFLAGS): Likewise.
26900
c8048e32 269012009-06-05 Colin D Bennett <colin@gibibit.com>
26902
26903 Optimized font character lookup using binary search instead of linear
26904 search. Fonts now are required to have the character index ordered by
26905 code point.
26906
26907 * font/font.c (load_font_index): Verify that fonts have ordered
26908 character indices.
26909 (find_glyph): Use binary search instead of linear search to find a
26910 character in a font.
26911
408305be 269122009-06-05 Michael Scherer <misc@mandriva.org>
26913
26914 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26915 uses case sensitive btree.
26916 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26917 only for case insensitive filesystems.
26918
8ee1e0d9 269192009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26920
26921 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26922 * conf/common.rmk (search_mod_CFLAGS): likewise
26923
a9966eb1 269242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26925
473d1e45 26926 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26927 compensate a compiler bug
26928
9e7100fb 269292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26930
473d1e45 26931 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26932 instead of '\b'
473d1e45 26933
ede21d71 269342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26935
26936 Definitions for creating asm symbols with Apple's CC
26937
26938 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26939 [APPLE_CC] (VARIABLE): likewise
26940
9dbf7653 269412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26942
26943 Disable lnxboot.img when compiled
26944 with Apple's CC
26945
26946 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26947 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26948 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26949 [! APPLE_CC] (CODE_LENG): skip
26950 [! APPLE_CC] (setup_sects): likewise
26951 [! APPLE_CC]: skip filling
473d1e45 26952
e93cdc3d 269532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26954
26955 Address in trampolines based on 32-bit registers when compiled
26956 with Apple's CC
26957
473d1e45 26958 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26959 for addresses
26960 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26961
6c688477 269622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26963
26964 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26965
26966 * kern/misc.c [APPLE_CC] (memcpy): new function
26967 [APPLE_CC] (memmove): likewise
26968 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26969 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26970 (memset): likewise
26971 (abort): likewise
26972 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26973 APPLE_CC are defined
26974 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26975 (grub_assert_fail): make prototype conditional
26976
e37ffc5c 269772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26978
26979 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26980
473d1e45 26981 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26982 grub-macho2img
e37ffc5c 26983 (CLEANFILES): add grub-macho2img
26984 (grub_macho2img_SOURCES): new variable
26985 * kern/i386/pc/startup.S (bss_start): new variable
26986 (bss_end): likewise
26987 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26988 * util/grub-macho2img.c: new file
26989
cf00df31 269902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 Use objconv when compiling with Apple's CC
26993
26994 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26995 (efiemu64.o): likewise
26996 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26997 when compiling with Apple's CC
26998 (efiemu64_s.o): likewise
26999 * configure.ac: check for objconv when compiling with Apple's CC
27000 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27001
d119a20c 270022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27003
27004 Define segment as well as section when compiling with
27005 Apple's CC
27006
27007 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27008 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27009 (efiemu_convert_pointer): likewise
27010 (efiemu_set_virtual_address_map): likewise
27011 (efiemu_convert_pointer): likewise
27012 (efiemu_getcrc32): likewise
27013 (init_crc32_table): likewise
27014 (reflect): likewise
27015 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27016 (GRUB_MOD_DEP): likewise
473d1e45 27017
c8600122 270182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27019
27020 Allow a compilation without -mcmodel=large
27021
27022 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27023 when compiled without -mcmodel=large
473d1e45 27024 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27025 without -mcmodel=large
473d1e45 27026 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27027 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27028
e8df1d4e 270292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 Remove nested functions in efiemu core
27032
27033 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27034
cc6c3ac1 270352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27036
27037 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27038
27039 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27040 temporary storage
473d1e45 27041 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27042 using Apple's CC
cc6c3ac1 27043 (grub_cpu_is_tsc_supported): likewise
27044 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27045
3e325901 270462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27047
27048 Absolute addressing through constant with Apple's cc
27049
27050 * kern/i386/pc/startup.S: Define necessary constants
27051 and address through it when using ABS with Apple's CC
27052 * boot/i386/pc/diskboot.S: likewise
27053 * boot/i386/pc/boot.S: likewise
27054 * boot/i386/pc/lnxboot.S: likewise
27055 * boot/i386/pc/cdboot.S: likewise
27056 * mmap/i386/pc/mmap_helper.S: likewise
27057 * commands/i386/pc/drivemap_int13h.S: likewise
27058
2b167a72 270592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 Check if compiler is apple cc
27062
27063 * Makefile.in (ASFLAGS): new variable
27064 (TARGET_ASFLAGS): likewise
27065 (TARGET_MODULE_FORMAT): likewise
27066 (TARGET_APPLE_CC): likewise
27067 (OBJCONV): likewise
27068 (TARGET_IMG_CFLAGS): likewise
27069 (TARGET_CPPFLAGS): add includedir
27070 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27071 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27072 Check for linker script only if compiler isn't Apple's CC
27073 (TARGET_MODULE_FORMAT): set
27074 (TARGET_APPLE_CC): likewise
27075 (TARGET_ASFLAGS): likewise
27076 (ASFLAGS): likewise
27077 Check for objcopy only if compiler isn't Apple's CC
27078 Check for BSS symbol only if compiler isn't Apple's CC
27079 * genmk.rb: adapt nm options if we use Apple's utils
27080 * aclocal.m4 (grub_apple_cc): new test
27081 (grub_apple_target_cc): likewise
473d1e45 27082
fb14123e 270832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27084
27085 Simplify sed expressions and improve awk
27086
27087 * Makefile.in (install-local): simplify sed expression
27088 * gencmdlist.sh: likewise
27089 * genmoddep.awk: avoid adding module as a dependency of itself
27090
5b889789 270912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27092
27093 Add missing start symbols
27094
27095 * boot/i386/pc/boot.S: add start
fb14123e 27096 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27097
fd2bf2e3 270982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27099
27100 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27101
27102 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27103 (relocate_addresses): consider both r_addend and value at offset
27104 (make_mods_section): zerofill modinfo and header
27105 (convert_elf): write prefix here
473d1e45 27106
5389763d 271072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27108
27109 Use .asciz instead of .string
27110
27111 * i386/pc/diskboot.S: use .asciz instead of .string
27112 * i386/pc/boot.S: likewise
27113 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27114 (GRUB_MOD_NAME): likewise
473d1e45 27115
3eb5ed4e 271162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27117
27118 gfxpayload support
27119
27120 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27121 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27122 (grub_video_setup): remove
27123 (grub_video_set_mode): new prototype
27124 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27125 (vid_mode): remove
27126 (linux_vesafb_res): compile only on PCBIOS
27127 (grub_linux_boot): support gfxpayload
27128 * loader/i386/pc/xnu.c (video_hook): new function
27129 (grub_xnu_set_video): support gfxpayload
27130 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27131 (DEFAULT_VIDEO_HEIGHT): likewise
27132 (DEFAULT_VIDEO_FLAGS): likewise
27133 (DEFAULT_VIDEO_MODE): new definition
27134 (video_hook): new function
27135 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27136 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27137 loading xnu
27138 * video/video.c (grub_video_setup): removed
473d1e45 27139 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27140 grub_video_setup
27141
4b0e1143 271422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27143
27144 Avoid calling biosdisk in drivemap
27145
27146 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27147 (revparse_biosdisk): likewise
27148 (list_mappings): derive name from id directly
27149 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27150
fda6cb98 271512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27152
27153 Script fixes
27154
27155 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27156 (grub_lexer_param): add tokenonhold
27157 (grub_script_create_cmdline): remove cmdline. All callers updated
27158 (grub_script_function_create): make functionname
27159 grub_script_arg. All callers updated
27160 (grub_script_execute_argument_to_string): new prototype
27161 * kern/parser.c (state_transitions): reorder
27162 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27163 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27164 make global
27165 (grub_script_execute_cmdline): use new format
27166 * script/sh/function.c (grub_script_function_create): make functionname
27167 grub_script_arg. All callers updated
473d1e45 27168 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27169 (grub_script_yylex): remove
27170 (grub_script_yylex2): renamed to ...
27171 (grub_script_yylex): ...renamed
27172 parse the expressions like a${b}c
27173 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27174 (GRUB_PARSER_TOKEN_VAR): remove
27175 (GRUB_PARSER_TOKEN_NAME): likewise
27176 ("if"): declare as typeless
27177 ("while"): likewise
27178 ("function"): likewise
27179 ("else"): likewise
27180 ("then"): likewise
27181 ("fi"): likewise
27182 (text): remove
27183 (argument): likewise
27184 (script): accept empty scripts and make exit on error
27185 (arguments): use GRUB_PARSER_TOKEN_ARG
27186 (function): likewise
27187 (command): move error handling to script
27188 (menuentry): move grub_script_lexer_ref before
473d1e45 27189 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27190 argument. All callers updated
27191
f4448a07 271922009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27193
27194 Prevent GRUB from probing floppies during boot.
27195
27196 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27197 * commands/search.c (options): Add --no-floppy.
27198 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27199 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27200 --no-floppy when searching for UUIDs.
27201
2bf5885a 272022009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27203
27204 Simplify the code duplication in commands/search.c.
27205
27206 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27207 (search_fs): ... this. Update all users.
27208
f6fd460a 272092009-06-03 Felix Zielcke <fzielcke@z-51.de>
27210
27211 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27212
cbb3c83e 272132009-05-28 Pavel Roskin <proski@gnu.org>
27214
57788cfd 27215 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27216 Remove the original symlink explicitly.
27217
cbb3c83e 27218 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27219 just one slash. That's how grub_fshelp_find_file() does it.
27220
cd0d5e30 272212009-05-26 Pavel Roskin <proski@gnu.org>
27222
f0f8bbe2 27223 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27224 to `str'.
27225
cd0d5e30 27226 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27227 possibly unused.
27228
8c2cab51 272292009-05-25 Christian Franke <franke@computer.org>
27230
27231 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27232 register.
27233 (grub_atapi_identify): Add wait after drive select.
27234 (grub_ata_identify): Do more strict status register check before
27235 calling grub_atapi_identify (). Suppress error message if status
27236 register is 0x00 after command failure. Add status register
27237 check after PIO read to avoid bogus identify due to stuck DRQ.
27238 Thanks to Pavel Roskin for testing.
27239 (grub_device_initialize): Remove unsafe status register check.
27240 Thanks to 'phcoder' for problem report and patch.
27241 Prevent sign extension in debug message.
27242
230c0ad6 272432009-05-23 Colin D Bennett <colin@gibibit.com>
27244
27245 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27246 definition file, and functions defined in `normal/menu.c' have had
27247 their prototypes moved to `include/grub/menu.h' for consistency.
27248
27249 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27250 from normal.h.
27251 (grub_menu_get_entry): Likewise.
27252 (grub_menu_get_timeout): Likewise.
27253 (grub_menu_set_timeout): Likewise.
27254 (grub_menu_execute_entry): Likewise.
27255 (grub_menu_execute_with_fallback): Likewise.
27256 (grub_menu_entry_run): Likewise.
27257
27258 * include/grub/normal.h: Re-ordered and grouped function
27259 prototypes by file that the function is defined in.
27260 (grub_menu_execute_callback): Removed; moved to menu.h.
27261 (grub_menu_get_entry): Likewise.
27262 (grub_menu_get_timeout): Likewise.
27263 (grub_menu_set_timeout): Likewise.
27264 (grub_menu_execute_entry): Likewise.
27265 (grub_menu_execute_with_fallback): Likewise.
27266 (grub_menu_entry_run): Likewise.
27267 (grub_menu_addentry): Renamed from this ...
27268 (grub_normal_add_menu_entry): ... to this.
27269
27270 * normal/main.c (grub_menu_addentry): Renamed from this ...
27271 (grub_normal_add_menu_entry): ... to this.
27272
27273 * script/sh/execute.c (grub_script_execute_menuentry): Update
27274 reference to renamed grub_menu_addentry function.
27275
861f03a5 272762009-05-23 Felix Zielcke <fzielcke@z-51.de>
27277
27278 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27279
96b1619a 272802009-05-22 Pavel Roskin <proski@gnu.org>
27281
bf6a5fb2 27282 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27283 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27284 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27285 compiling for the i386 targets, but not for the utilities.
27286
96b1619a 27287 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27288 to grub_uint8_t.
27289 (grub_root_drive): Likewise.
27290 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27291 remove alignment.
27292 (grub_root_drive): Change size to byte.
27293 (grub_start_addr): Remove.
27294 (grub_end_addr): Likewise.
27295 (grub_apm_bios_info): Likewise.
27296
b729776b 272972009-05-21 Felix Zielcke <fzielcke@z-51.de>
27298
27299 * normal/i386: Remove.
27300 * normal/powerpc: Likewise.
27301 * normal/sparc64: Likewise.
27302 * normal/x86_64: Likewise.
27303
0a15ce80 273042009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27305
27306 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27307 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27308 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27309
33db9015 273102009-05-18 Colin D Bennett <colin@gibibit.com>
27311
d6da58e6 27312 Display error messages when parsing a Lua statement fails.
27313 Previously, executing a syntactically invalid statement like
27314 ")foo" or "bar;" would silently fail.
33db9015 27315
27316 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27317 (grub_lua_parse_line): Improved reporting of Lua parser and
27318 execution errors.
33db9015 27319
46422c89 273202009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 Remove -Werror which causes build to fail on some systems
27323
27324 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27325 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27326 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27327
22f53a96 273282009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27329
27330 trampoline for linux on 64-bit platform
27331
18f547ad 27332 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27333 loader/i386/efi/linux_trampoline.S
27334 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27335 declaration
d6da58e6 27336 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27337 here
22f53a96 27338 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27339 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27340 trampoline
22f53a96 27341 (jumpvector): removed
27342 (grub_linux_trampoline_start): new declaration
27343 (grub_linux_trampoline_end): likewise
27344 (grub_linux_boot): use trampoline when on 64-bit platform
27345 * loader/i386/linux.c: likewise
27346
cb5a0f40 273472009-05-16 Pavel Roskin <proski@gnu.org>
27348
27349 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27350 const to avoid a warning.
27351 (grub_lua_setenv): Likewise.
27352 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27353 lmsg to fix a warning.
27354
334f2c28 273552009-05-16 Felix Zielcke <fzielcke@z-51.de>
27356
27357 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27358 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27359 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27360 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27361 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27362 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27363 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27364 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27365
59e5d3ec 273662009-05-16 Felix Zielcke <fzielcke@z-51.de>
27367
27368 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27369
9d87a1ba 273702009-05-16 Bean <bean123ch@gmail.com>
27371
27372 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27373 (lua_mod_SOURCES): New variable.
27374 (lua_mod_CFLAGS): Likewise.
27375 (lua_mod_LDFLAGS): Likewise.
27376
27377 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27378 (setjmp_mod_SOURCES): New variable.
27379 (setjmp_mod_CFLAGS): Likewise.
27380 (setjmp_LDFLAGS): Likewise.
27381
27382 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27383 (setjmp_mod_SOURCES): New variable.
27384 (setjmp_mod_CFLAGS): Likewise.
27385 (setjmp_LDFLAGS): Likewise.
27386
27387 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27388 (setjmp_mod_SOURCES): New variable.
27389 (setjmp_mod_CFLAGS): Likewise.
27390 (setjmp_LDFLAGS): Likewise.
27391
27392 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27393 (setjmp_mod_SOURCES): New variable.
27394 (setjmp_mod_CFLAGS): Likewise.
27395 (setjmp_LDFLAGS): Likewise.
27396
27397 * normal/i386/setjmp.S: Moved from here ...
27398 * lib/i386/setjmp.S: ... Moved here
27399 * normal/x86_64/setjmp.S: Moved from here ...
27400 * lib/x86_64/setjmp.S: ... Moved here
27401 * normal/powerpc/setjmp.S: Moved from here ...
27402 * lib/powerpc/setjmp.S: ... Moved here
27403 * normal/sparc64/setjmp.S: Moved from here ...
27404 * lib/sparc64/setjmp.S: ... Moved here
27405
27406 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27407 returns_twice in mingw.
27408
27409 * script/lua/grub_lib.c: New file.
27410 * script/lua/grub_lib.h: Likewise.
27411 * script/lua/grub_lua.h: Likewise.
27412 * script/lua/grub_main.c: Likewise.
27413 * script/lua/lapi.c: Likewise.
27414 * script/lua/lapi.h: Likewise.
27415 * script/lua/lauxlib.c: Likewise.
27416 * script/lua/lauxlib.h: Likewise.
27417 * script/lua/lbaselib.c: Likewise.
27418 * script/lua/lcode.c: Likewise.
27419 * script/lua/lcode.h: Likewise.
27420 * script/lua/ldblib.c: Likewise.
27421 * script/lua/ldebug.c: Likewise.
27422 * script/lua/ldebug.h: Likewise.
27423 * script/lua/ldo.c: Likewise.
27424 * script/lua/ldo.h: Likewise.
27425 * script/lua/ldump.c: Likewise.
27426 * script/lua/lfunc.c: Likewise.
27427 * script/lua/lfunc.h: Likewise.
27428 * script/lua/lgc.c: Likewise.
27429 * script/lua/lgc.h: Likewise.
27430 * script/lua/linit.c: Likewise.
27431 * script/lua/liolib.c: Likewise.
27432 * script/lua/llex.c: Likewise.
27433 * script/lua/llex.h: Likewise.
27434 * script/lua/llimits.h: Likewise.
27435 * script/lua/lmathlib.c: Likewise.
27436 * script/lua/lmem.c: Likewise.
27437 * script/lua/lmem.h: Likewise.
27438 * script/lua/loadlib.c: Likewise.
27439 * script/lua/lobject.c: Likewise.
27440 * script/lua/lobject.h: Likewise.
27441 * script/lua/lopcodes.c: Likewise.
27442 * script/lua/lopcodes.h: Likewise.
27443 * script/lua/loslib.c: Likewise.
27444 * script/lua/lparser.c: Likewise.
27445 * script/lua/lparser.h: Likewise.
27446 * script/lua/lstate.c: Likewise.
27447 * script/lua/lstate.h: Likewise.
27448 * script/lua/lstring.c: Likewise.
27449 * script/lua/lstring.h: Likewise.
27450 * script/lua/lstrlib.c: Likewise.
27451 * script/lua/ltable.c: Likewise.
27452 * script/lua/ltable.h: Likewise.
27453 * script/lua/ltablib.c: Likewise.
27454 * script/lua/ltm.c: Likewise.
27455 * script/lua/ltm.h: Likewise.
27456 * script/lua/lua.h: Likewise.
27457 * script/lua/luaconf.h: Likewise.
27458 * script/lua/lualib.h: Likewise.
27459 * script/lua/lundump.c: Likewise.
27460 * script/lua/lundump.h: Likewise.
27461 * script/lua/lvm.c: Likewise.
27462 * script/lua/lvm.h: Likewise.
27463 * script/lua/lzio.c: Likewise.
27464 * script/lua/lzio.h: Likewise.
27465
5e898c9d 274662009-05-16 Bean <bean123ch@gmail.com>
27467
27468 * include/grub/kernel.h (grub_module_header_types): Add type
27469 OBJ_TYPE_CONFIG.
27470
27471 * kern/main.c (grub_load_config): New function.
27472 (grub_main): Call grub_load_config to read boot config.
27473
27474 * grub-mkimage (generate_image): New parameter config_path.
27475 (options): New option --config.
27476 (main): Parse --config option, and pass it to generate_image.
27477
cf353a47 274782009-05-14 Christian Franke <franke@computer.org>
27479
27480 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27481 This fixes build on Cygwin.
27482
3834887f 274832009-05-14 Pavel Roskin <proski@gnu.org>
27484
27485 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27486 jump. This saves two bytes, so the typical case of 2 swapped
27487 drives would fit 32 bytes.
27488
8090fc01 274892009-05-13 Pavel Roskin <proski@gnu.org>
27490
ac963883 27491 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27492 grub_uint32_t to avoid a warning.
27493
8090fc01 27494 * loader/i386/linux.c (allocate_pages): When assigning
27495 real_mode_mem, cast through grub_size_t to fix a warning. The
27496 code already makes sure that the value would fit a pointer.
27497 (grub_linux_setup_video): Cast render_target->data to
27498 grub_size_t to fix a warning.
27499
18f547ad 275002009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27501
27502 * commands/i386/pc/drivemap.c: New file - implement drivemap
27503 command.
27504 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27505 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27506
6f6a8b28 275072009-05-13 Pavel Roskin <proski@gnu.org>
27508
27509 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27510 embedding_area_exists.
27511
15fbf4c4 275122009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27513
27514 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27515 it easier to understand / work with.
59978c8a 27516 Improve warning messages for cases where there's no embedding area,
27517 or when it is too small (or core.img too large).
15fbf4c4 27518
238e871f 275192009-05-13 Pavel Roskin <proski@gnu.org>
27520
0ab3a9a4 27521 * loader/i386/pc/multiboot2.c: Add necessary includes for
27522 grub_multiboot2_real_boot().
27523
a2c8c5f8 27524 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27525 PX record is always little-endian. We only need the lower 2
27526 bytes of the mode.
27527
faec96af 27528 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27529 facilitate code reuse.
27530 (grub_cpio_mount): Use "struct head", not a char buffer. This
27531 fixes a warning reported by gcc 4.4.
27532
238e871f 27533 * kernel/disk.c (grub_disk_read): Use void pointer for the
27534 buffer.
27535 (grub_disk_write): Use const void pointer for the buffer.
27536 Adjust all callers. Remove unnecessary casts.
27537
901d2f0c 275382009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27539
27540 * util/i386/pc/grub-install.in: Update copyright year.
27541
18f547ad 275422009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27543
27544 gptsync
27545
27546 * commands/gptsync.c: new file
27547 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27548 (gptsync_mod_SOURCES): new variable
27549 (gptsync_mod_CFLAGS): likewise
27550 (gptsync_mod_LDFLAGS): likewise
18f547ad 27551 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27552 new definition
27553 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27554 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27555 * conf/i386-ieee1275.rmk: likewise
27556 * conf/i386-pc.rmk: likewise
27557 * conf/powerpc-ieee1275.rmk: likewise
27558
b4ba690a 275592009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27560
27561 Fixed grub-emu
27562
27563 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27564 (grub_dl_ref): likewise
27565
317e1a44 275662009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27567
27568 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27569 split in two functions (one for msdos and one for gpt).
27570
041b8094 275712009-05-08 Pavel Roskin <proski@gnu.org>
27572
752473c2 27573 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27574 not modified.
27575
041b8094 27576 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27577 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27578 Initialize them with -1. Add sanity check for bad1. Eliminate
27579 nerr variable.
27580
172800ce 275812009-05-08 David S. Miller <davem@davemloft.net>
27582
27583 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27584
29aa5e81 275852009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27586
27587 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27588 existence.
29aa5e81 27589
96613b62 275902009-05-05 Felix Zielcke <fzielcke@z-51.de>
27591
27592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27593 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27594
eef73c8a 275952009-05-05 David S. Miller <davem@davemloft.net>
27596
27597 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27598
119494b5 275992009-05-05 Pavel Roskin <proski@gnu.org>
27600
27601 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27602 of grub_dl_ref() and grub_dl_unref().
27603 * commands/parttool.c: Remove preprocessor conditionals around
27604 grub_dl_ref() and grub_dl_unref().
27605 * fs/affs.c: Likewise.
27606 * fs/afs.c: Likewise.
27607 * fs/cpio.c: Likewise.
27608 * fs/ext2.c: Likewise.
27609 * fs/fat.c: Likewise.
27610 * fs/hfs.c: Likewise.
27611 * fs/hfsplus.c: Likewise.
27612 * fs/iso9660.c: Likewise.
27613 * fs/jfs.c: Likewise.
27614 * fs/minix.c: Likewise.
27615 * fs/ntfs.c: Likewise.
27616 * fs/reiserfs.c: Likewise.
27617 * fs/sfs.c: Likewise.
27618 * fs/udf.c: Likewise.
27619 * fs/ufs.c: Likewise.
27620 * fs/xfs.c: Likewise.
27621 * include/grub/dl.h: Likewise.
27622 * loader/xnu.c: Likewise.
27623
de5fd76e 276242009-05-04 Pavel Roskin <proski@gnu.org>
27625
27626 * commands/acpi.c: Remove unused variable my_mod.
27627 * partmap/amiga.c: Likewise.
27628 * partmap/apple.c: Likewise.
27629 * partmap/gpt.c: Likewise.
27630 * partmap/pc.c: Likewise.
27631 * partmap/sun.c: Likewise.
27632 * term/gfxterm.c: Likewise.
27633 * term/i386/pc/vesafb.c: Likewise.
27634 * term/i386/pc/vga.c: Likewise.
27635
983598ad 276362009-05-04 David S. Miller <davem@davemloft.net>
27637
27638 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27639 pointer args to grub_ieee1275_get_property().
27640
8aadec43 27641 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27642
9554b15e 27643 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27644 devices, and do not traverse down under controller nodes.
27645
67e23c90 27646 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27647 (grub_ofdisk_open): Use it to un-escape "," characters.
27648 * kern/disk.c (find_part_sep): New.
27649 (grub_disk_open): Use it to find the first non-escaped ','
27650 character in the disk name.
27651 * util/ieee1275/devicemap.c (escape_of_path): New.
27652 (grub_util_emit_devicemap_entry): Use it.
27653 * util/sparc64/ieee1275/grub-install.in: Update script to
27654 strip partition specifiers properly by not triggering on
27655 '\' escaped ',' characters.
27656
74bfdd2f 276572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27658
27659 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27660 to 0x300.
27661 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27662 resolutions.
27663 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27664 on documentation from Wikipedia).
27665
4241d2b1 276662009-05-04 Pavel Roskin <proski@gnu.org>
27667
27668 * disk/ata.c: Spelling fixes.
27669 * disk/raid.c: Likewise.
27670 * disk/usbms.c: Likewise.
27671 * disk/dmraid_nvidia.c: Likewise.
27672 * kern/ieee1275/openfw.c: Likewise.
27673 * kern/ieee1275/init.c: Likewise.
27674 * kern/ieee1275/cmain.c: Likewise.
27675 * boot/i386/pc/cdboot.S: Likewise.
27676 * video/readers/png.c: Likewise.
27677 * video/i386/pc/vbe.c: Likewise.
27678 * fs/udf.c: Likewise.
27679 * fs/hfs.c: Likewise.
27680 * fs/reiserfs.c: Likewise.
27681 * efiemu/runtime/efiemu.c: Likewise.
27682 * efiemu/main.c: Likewise.
27683 * efiemu/mm.c: Likewise.
27684 * include/grub/elf.h: Likewise.
27685 * include/grub/xnu.h: Likewise.
27686 * include/grub/usbdesc.h: Likewise.
27687 * include/grub/usb.h: Likewise.
27688 * include/grub/script_sh.h: Likewise.
27689 * include/grub/lib/LzmaEnc.h: Likewise.
27690 * include/grub/efiemu/efiemu.h: Likewise.
27691 * include/grub/command.h: Likewise.
27692 * normal/menu.c: Likewise.
27693 * normal/main.c: Likewise.
27694 * normal/datetime.c: Likewise.
27695 * bus/usb/uhci.c: Likewise.
27696 * mmap/i386/uppermem.c: Likewise.
27697 * mmap/mmap.c: Likewise.
27698 * commands/acpi.c: Likewise.
27699 * commands/test.c: Likewise.
27700 * partmap/apple.c: Likewise.
27701 * font/font.c: Likewise.
27702 * loader/sparc64/ieee1275/linux.c: Likewise.
27703 * loader/macho.c: Likewise.
27704 * loader/i386/bsd_trampoline.S: Likewise.
27705 * loader/i386/bsd.c: Likewise.
27706 * loader/xnu.c: Likewise.
27707 * term/i386/pc/vesafb.c: Likewise.
27708 * term/usb_keyboard.c: Likewise.
27709 * util/resolve.c: Likewise.
27710 * util/getroot.c: Likewise.
27711
0cfc0083 277122009-05-04 Felix Zielcke <fzielcke@z-51.de>
27713
27714 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27715
7c1d00cd 277162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27717
27718 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27719 build error.
27720
b01f0548 277212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27722
27723 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27724 parameter only available on BIOS.
27725
ecc3eb22 277262009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27727
27728 Removed wrong semicolon in declaration
27729
27730 * grub/misc.h (grub_dprintf): remove semicolon
27731
112972a9 277322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27733
27734 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27735 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27736 is done by grub_cmd_linux() now).
27737 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27738 restore video to text mode.
27739 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27740 indicates lack of "vga=" parameter. "vga=0" is mapped to
27741 `GRUB_LINUX_VID_MODE_NORMAL'.
27742
afd5c115 277432009-05-04 Felix Zielcke <fzielcke@z-51.de>
27744
27745 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27746 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27747 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27748 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27749 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27750 `grub_script.tab.c'.
27751
27752 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27753 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27755 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27756 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27757
faa517ce 27758 * Makefile.in: Remove duplicated 2008 in Copyright line.
27759
ae0c0bdc 277602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27761
473d1e45 27762 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27763 unconditionally.
27764 * include/grub/util/misc.h (grub_util_warn): New declaration.
27765
27766 * util/i386/pc/grub-install.in: Understand --force and pass it down
27767 to grub-setup.
27768
27769 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27770 down to setup().
27771 (setup): Improve error messages and add warnings when requested to
27772 install in odd layouts. Refuse to install using blocklists unless
27773 --force was set.
27774
18f547ad 277752009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27776
27777 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27778
6d260daa 277792009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27780
27781 Updated copyright year
27782
27783 * fs/hfsplus.c: updated copyright year
18f547ad 27784
69f853f8 277852009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27786
27787 HFS+ UUID
27788
18f547ad 27789 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27790 in the space previously used by unused3
27791 (grub_hfsplus_uuid): new function
27792 (grub_hfsplus_fs): added uuid field
27793
4c402e73 277942009-05-03 Pavel Roskin <proski@gnu.org>
27795
27796 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27797 suppress warnings. It's no longer needed.
27798 * disk/host.c: Likewise.
27799 * disk/ata_pthru.c: Likewise.
27800 * disk/loopback.c: Likewise.
27801 * hook/datehook.c: Likewise.
27802 * parttool/pcpart.c: Likewise.
27803 * fs/i386/pc/pxe.c: Likewise.
27804 * fs/ntfscomp.c: Likewise.
27805 * efiemu/main.c: Likewise.
27806 * mmap/mmap.c: Likewise.
27807 * commands/crc.c: Likewise.
27808 * commands/hexdump.c: Likewise.
27809 * commands/hdparm.c: Likewise.
27810 * commands/acpi.c: Likewise.
27811 * commands/echo.c: Likewise.
27812 * commands/minicmd.c: Likewise.
27813 * commands/blocklist.c: Likewise.
27814 * commands/memrw.c: Likewise.
27815 * commands/loadenv.c: Likewise.
27816 * commands/usbtest.c: Likewise.
27817 * commands/lsmmap.c: Likewise.
27818 * commands/boot.c: Likewise.
27819 * commands/parttool.c: Likewise.
27820 * commands/configfile.c: Likewise.
27821 * commands/search.c: Likewise.
27822 * commands/ieee1275/suspend.c: Likewise.
27823 * commands/cat.c: Likewise.
27824 * commands/i386/pc/pxecmd.c: Likewise.
27825 * commands/i386/pc/play.c: Likewise.
27826 * commands/i386/pc/halt.c: Likewise.
27827 * commands/i386/pc/vbeinfo.c: Likewise.
27828 * commands/i386/pc/vbetest.c: Likewise.
27829 * commands/lspci.c: Likewise.
27830 * commands/date.c: Likewise.
27831 * commands/handler.c: Likewise.
27832 * commands/ls.c: Likewise.
27833 * commands/test.c: Likewise.
27834 * commands/cmp.c: Likewise.
27835 * commands/efi/loadbios.c: Likewise.
27836 * commands/efi/fixvideo.c: Likewise.
27837 * commands/halt.c: Likewise.
27838 * commands/help.c: Likewise.
27839 * commands/reboot.c: Likewise.
27840 * hello/hello.c: Likewise.
27841 * script/sh/main.c: Likewise.
27842 * loader/xnu.c: Likewise.
27843 * term/terminfo.c: Likewise.
27844 * term/i386/pc/serial.c: Likewise.
27845 * term/usb_keyboard.c: Likewise.
27846
515b5079 278472009-05-03 David S. Miller <davem@davemloft.net>
27848
27849 * normal/menu.c: Include grub/parser.h
27850
dfc31a22 278512009-05-03 Pavel Roskin <proski@gnu.org>
27852
2fee74f1 27853 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27854 not char*.
27855 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27856 Suggested by Javier Martín <lordhabbit@gmail.com>
27857
dfc31a22 27858 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27859 efiemu??.o doesn't exist.
27860 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27861 copying.
27862
18f547ad 278632009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27864
27865 FreeBSD 64-bit support
27866
18f547ad 27867 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27868 and loader/i386/bsd_trampoline.S
27869 (bsd_mod_ASFLAGS): new variable
27870 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27871 (FREEBSD_MODTYPE_KERNEL64): likewise
27872 (grub_bsd64_trampoline_start): likewise
27873 (grub_bsd64_trampoline_end): likewise
27874 (grub_bsd64_trampoline_selfjump): likewise
27875 (grub_bsd64_trampoline_gdt): likewise
27876 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27877 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27878 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27879 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27880 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27881 of "attrib" member
27882 * loader/i386/bsd_pagetable.c: new file
27883 * loader/i386/bsd_trampoline.S: likewise
27884 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27885 (ALIGN_VAR): likewise
27886 (entry_hi): new variable
27887 (kern_end_mdofs): likewise
27888 (is_64bit): likewise
27889 (grub_freebsd_add_meta): use ALIGN_VAR
27890 (grub_e820_mmap): new declaration
27891 (grub_freebsd_add_mmap): new function
27892 (grub_freebsd_add_meta_module): support 64 bit kernels
27893 (grub_freebsd_list_modules): use ALIGN_VAR
27894 (gdt_descriptor): new declaration
27895 (grub_freebsd_boot): support 64 bit kernels
27896 (grub_bsd_elf64_hook): new function
27897 (grub_bsd_load_elf): support elf64
27898
038c5720 278992009-05-03 Bean <bean123ch@gmail.com>
27900
27901 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27902 after we get the result of if statement.
27903
fc45fb58 279042009-05-03 Bean <bean123ch@gmail.com>
27905
27906 * Makefile.in (enable_efiemu): New variable.
27907
27908 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27909 set.
27910 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27911 path.
27912 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27913 path, add -mno-red-zone option.
27914 (efiemu64_s.o): Likewise.
27915 (efiemu64.o): Use macro $^ for source file.
27916
27917 * configure.ac (--enable-efiemu): New option.
27918
bbee0f2b 279192009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27920
27921 xnu support
27922
27923 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27924 (pkglib_MODULES): add xnu.mod
27925 (xnu_mod_SOURCES): new variable
27926 (xnu_mod_CFLAGS): likewise
27927 (xnu_mod_LDFLAGS): likewise
27928 (xnu_mod_ASFLAGS): likewise
27929 * conf/i386-pc.rmk: likewise
27930 * conf/x86_64-efi.rmk: likewise
7dd4a573 27931 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27932 new declaration
27933 * include/grub/i386/macho.h: new file
27934 * include/grub/i386/xnu.h: likewise
27935 * include/grub/macho.h: likewise
27936 * include/grub/machoload.h: likewise
27937 * include/grub/x86_64/macho.h: likewise
27938 * include/grub/x86_64/xnu.h: likewise
27939 * include/grub/xnu.h: likewise
27940 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27941 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27942 * loader/i386/efi/xnu.c: new file
27943 * loader/i386/pc/xnu.c: likewise
27944 * loader/i386/xnu.c: likewise
27945 * loader/i386/xnu_helper.S: likewise
27946 * loader/macho.c: likewise
27947 * loader/xnu.c: likewise
27948 * loader/xnu_resume.c: likewise
27949 * util/grub-dumpdevtree: likewise
27950 * include/grub/i386/pit.h: include grub/err.h
27951 (grub_pit_wait): export
27952 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27953
5caf964d 279542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27955
27956 Efiemu
7dd4a573 27957
5caf964d 27958 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27959 _linux_efi, linux_efi.
27960 new files in grub-emu
5caf964d 27961 new targets efiemu32.o and efiemu64.o
27962 * loader/linux_normal_efiemu.c: likewise
27963 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27964 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27965 files to copy
27966 * include/grub/autoefi.h: new file
7dd4a573 27967 * include/grub/i386/efiemu.h: likewise
5caf964d 27968 * include/grub/i386/pc/efiemu.h: likewise
27969 * include/grub/efi/api.h: add LL suffix when necessary
27970 new definitions relating to tables
27971 * include/grub/efiemu/efiemu.h: new file
27972 * include/grub/efiemu/runtime.h: likewise
27973 * efiemu/prepare.c: likewise
27974 * efiemu/loadcore_common.c: likewise
27975 * efiemu/loadcore64.c: likewise
27976 * efiemu/runtime/efiemu.sh: likewise
27977 * efiemu/runtime/efiemu.S: likewise
27978 * efiemu/runtime/efiemu.c: likewise
27979 * efiemu/runtime/config.h: likewise
27980 * efiemu/prepare32.c: likewise
27981 * efiemu/main.c: likewise
27982 * efiemu/modules/pnvram.c: likewise
27983 * efiemu/modules/i386: likewise
27984 * efiemu/modules/i386/pc: likewise
27985 * efiemu/modules/acpi.c: likewise
27986 * efiemu/i386/pc/cfgtables.c: likewise
27987 * efiemu/i386/loadcore64.c: likewise
27988 * efiemu/i386/loadcore32.c: likewise
27989 * efiemu/prepare64.c: likewise
27990 * efiemu/loadcore.c: likewise
27991 * efiemu/symbols.c: likewise
27992 * efiemu/mm.c: likewise
27993 * efiemu/loadcore32.c: likewise
7dd4a573 27994
279952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27996
27997 ACPI spoofing
27998
27999 * commands/acpi.c: new file
28000 * commands/i386/pc/acpi.c: likewise
28001 * commands/efi/acpi.c: likewise
28002 * include/grub/acpi.h: likewise
28003 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28004 (acpi_mod_SOURCES): new variable
28005 (acpi_mod_CFLAGS): likewise
28006 (acpi_mod_LDFLAGS): likewise
28007 * conf/i386-efi.rmk: likewise
28008 * conf/x86_64-efi.rmk: likewise
28009
7dd4a573 280102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28011
28012 Missing part from mmap patch
28013
28014 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28015 (grub_mmap_unregister)
28016 (grub_mmap_free_and_unregister): use grub_mmap_register
28017
7dd4a573 280182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28019
28020 Mmap services
28021
28022 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28023 * loader/i386/linux.c (find_mmap_size): likewise
28024 (allocate_pages): likewise
28025 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28026 (grub_fill_multiboot_mmap): likewise
28027 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28028 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28029 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28030 (OPENBSD_MMAP_RESERVED): likewise
28031 * include/grub/i386/pc/memory.h: include grub/memory.h
28032 (grub_lower_mem): removed
28033 (grub_upper_mem): likewise
28034 (GRUB_MACHINE_MEMORY_ACPI): new definition
28035 (GRUB_MACHINE_MEMORY_NVS): likewise
28036 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28037 (GRUB_MACHINE_MEMORY_HOLE): likewise
28038 (grub_machine_mmap_register): likewise
28039 (grub_machine_mmap_unregister): likewise
28040 (grub_machine_get_upper): likewise
28041 (grub_machine_get_lower): likewise
28042 (grub_machine_get_post64): likewise
28043 * include/grub/i386/efi/memory.h: new file
28044 * include/grub/x86_64/efi/memory.h: likewise
28045 * include/grub/efi/memory.h: likewise
28046 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28047 (mmap_mod_SOURCES): new variable
28048 (mmap_mod_LDFLAGS): likewise
28049 (mmap_mod_ASFLAGS): likewise
28050 * conf/i386-coreboot.rmk: likewise
28051 * conf/i386-ieee1275.rmk: likewise
28052 * conf/i386-efi.rmk: likewise
28053 * conf/x86_64-efi.rmk: likewise
28054 * include/grub/types.h (UINT_TO_PTR): new macro
28055 (PTR_TO_UINT32): likewise
28056 (PTR_TO_UINT64): likewise
28057 * include/grub/memory.h: new file
28058 * mmap/i386/pc/mmap.c: likewise
28059 * mmap/i386/pc/mmap_helper.S: likewise
28060 * mmap/i386/uppermem.c: likewise
28061 * mmap/mmap.c: likewise
28062 * mmap/efi/mmap.c: likewise
7dd4a573 28063 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28064 grub_upper_mem
28065 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28066 (grub_upper_mem): likewise
28067 (grub_machine_init): don't use grub_upper_mem,
28068 make grub_lower_mem local
28069 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28070 grub_mmap_iterate and grub_mmap_get_upper
28071 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28072
d558e6b5 280732009-05-02 Bean <bean123ch@gmail.com>
28074
28075 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28076 script/sh/parser.y.
28077 (pkglib_MODULES): Add normal.mod and sh.mod.
28078 (normal_SOURCES): New variable.
28079 (normal_mod_CFLAGS): Likewise.
28080 (normal_mod_LDFLAGS): Likewise.
28081 (sh_mod_SOURCES): Likewise.
28082 (sh_mod_CFLAGS): Likewise.
28083 (sh_mod_LDFLAGS): Likewise.
28084
28085 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28086 script/sh/lexer.c_DEPENDENCIES.
28087 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28088 kern/rescue_reader.c and kern/rescue_parser.c.
28089 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28090 (grub_emu_SOURCES): Change source files.
28091 (pkglib_MODULES): Remove normal.mod.
28092 (normal_SOURCES): Removed.
28093 (normal_mod_CFLAGS): Likewise.
28094 (normal_mod_LDFLAGS): Likewise.
28095 * conf/i386-coreboot.rmk: Likewise.
28096 * conf/i386-efi.rmk: Likewise.
28097 * conf/i386-ieee1276.rmk: Likewise.
28098 * conf/powerpc-ieee1275.rmk: Likewise.
28099 * conf/sparc64-ieee1275.rmk: Likewise.
28100 * conf/x86_64-efi.rmk: Likewise.
28101
28102 * include/grub/command.h (grub_command_execute): New inline function.
28103
28104 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28105
28106 * include/grub/normal.h: Remove <grub/setjmp.h>.
28107 (grub_fs_module_list): Moved to normal/autofs.c.
28108 (grub_exit_env): Removed.
28109 (grub_command_execute): Likewise.
28110 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28111 parameter script.
28112 (read_command_list): New function declaration.
28113 (read_fs_list): Likewise.
28114
28115 * include/parser.h: Include <grub/reader.h>.
28116 (grub_parser_split_cmdline): Change type of getline parameter.
28117 (grub_parser): New structure.
28118 (grub_parser_class): New variable.
28119 (grub_parser_execute): New function declaration.
28120 (grub_register_rescue_parser): Likewise.
28121 (grub_parser_register): New inline function.
28122 (grub_parser_unregister): Likewise.
28123 (grub_parser_get_current): Likewise.
28124 (grub_parser_set_current): Likewise.
28125
28126 * include/grub/reader.h: New file.
28127 * kern/reader.c: Likewise.
28128 * kern/rescue_parser.c: Likewise.
28129 * kern/rescue_reader.c: Likewise.
28130 * normal/autofs.c: Likewise.
28131 * normal/dyncmd.c: Likewise.
28132
28133 * include/grub/rescue.h: Removed.
28134 * normal/command.h: Likewise.
28135
28136 * include/grub/script.h: Moved to ...
28137 * include/grub/script_sh.h: ... Moved here.
28138 * normal/execute.c: Moved to ...
28139 * script/sh/execute.c: ... Moved here.
28140 * normal/function.c: Moved to ...
28141 * script/sh/function.c: ... Moved here.
28142 * normal/lexer.c: Moved to ...
28143 * script/sh/lexer.c: ... Moved here.
28144 * normal/parser.y: Moved to ...
28145 * script/sh/parser.y: ... Moved here.
28146 * normal/script.c: Moved to ...
28147 * script/sh/script.c: ... Moved here.
28148
28149 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28150 <grub/reader.h>.
28151 (grub_exit_env): Removed.
28152 (fs_module_list): Moved to normal/autofs.c.
28153 (grub_file_getline): Don't handle comment here.
28154 (free_menu): Skip removed field entry->commands.
28155 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28156 script parameter.
28157 (read_config_file): Removed nested parameter, change getline function.
28158 (grub_enter_normal_mode): Removed.
28159 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28160 (read_command_list): Likewise.
28161 (autoload_fs_module): Moved to normal/autofs.c.
28162 (read_fs_list): Likewise.
28163 (reader_nested): New variable.
28164 (grub_normal_execute): Run parser.sh to switch to sh parser.
28165 (grub_cmd_rescue): Removed.
28166 (cmd_normal): Removed.
28167 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28168 rescue command.
28169 (grub_cmdline_run): New function.
28170 (grub_normal_reader_init): Likewise.
28171 (grub_normal_read_line): Likewise.
28172 (grub_env_write_pager): Likewise.
28173 (cmdline): New variable.
28174 (grub_normal_reader): Likewise.
28175 (GRUB_MOD_INIT): Register normal reader and set as current, register
28176 pager hook, register normal command with grub_register_command_prio,
28177 so that it won't show up in command.lst.
28178 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28179 grub_fs_autoload_hook.
28180
28181 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28182 (grub_menu_execute_entry): Replace grub_script_execute with
28183 grub_parser_execute, change parameter to grub_command_execute.
28184
28185 * normal/menu_text.c: Remove <grub/script.h>.
28186
28187 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28188 and <grub/parser.h>.
28189 (run): Change editor_getline to use new parser interface. Change
28190 parameter to grub_command_execute.
28191
28192 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28193 <grub/reader.h> and <grub/parser.h>.
28194 (grub_load_normal_mode): Execute normal command.
28195 (grub_main): Call grub_register_core_commands,
28196 grub_register_rescue_parser and grub_register_rescue_reader, use
28197 grub_reader_loop to enter input loop.
28198
7dd4a573 28199 * kern/parser.c (grub_parser_split_cmdline): Change type of
28200 getline parameter.
d558e6b5 28201 (grub_parser_class): New variable.
28202 (grub_parser_execute): New function.
28203
28204 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28205 * loader/multiboot2.c: Likewise.
28206 * loader/sparc64/ieee1275/linux.c: Likewise.
28207
28208 * util/grub-emu.c (read_command_list): New dummy function.
28209
18db813d 282102009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28211
28212 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28213 count to 16 for CCISS and IDA.
28214
6c67de15 282152009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28216
28217 * normal/menu_text.c (grub_wait_after_message): Print a newline
28218 after waiting for user input.
28219
28220 * loader/i386/linux.c: Include `<grub/normal.h>'.
28221 (grub_cmd_linux): Improve the error message about `ask' mode, by
28222 waiting for user input so it's not missed (we can do this, since
28223 user requested interaction).
28224
d9dc87b0 282252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28226
28227 Added missing lst to grub-mkrescue
28228
28229 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28230 and ${input_dir}/parttool.lst
28231
ac8a2baa 282322009-04-30 David S. Miller <davem@davemloft.net>
28233
ad22a610 28234 * util/hostdisk.c (device_is_wholedisk): New function.
28235 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28236 zero only if device_is_wholedisk() returns true.
28237
6966215d 28238 * util/hostdisk.c (convert_system_partition_to_system_disk):
28239 Handle virtual disk devices named /dev/vdiskX as found on sparc
28240 and powerpc.
28241
ac8a2baa 28242 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28243 lettered partition specifier is found, convert to numbered.
28244
979b4fb4 282452009-04-29 David S. Miller <davem@davemloft.net>
28246
e2bf39b2 28247 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28248 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28249
3c64e104 28250 * normal/command.c: Add missing newline at end of file.
28251
979b4fb4 28252 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28253 warnings.
28254 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28255 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28256 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28257 ihandles have a 32-bit type but need to be stored in a "void *".
28258
136d9f82 282592009-04-28 Pavel Roskin <proski@gnu.org>
28260
9459c306 28261 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28262 not disk. Adjust all dependencies.
2e08a26a 28263 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28264 grub_disk_close().
28265
136d9f82 28266 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28267 parent's partition, don't copy it by reference, as it gets freed
28268 on close.
28269
7dd4a573 282702009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28271
28272 Preboot hooks support
28273
28274 * commands/boot.c (struct grub_preboot_t): new declaration
28275 (preboots_head): new variable
28276 (preboots_tail): likewise
28277 (grub_loader_register_preboot_hook): new function
28278 (grub_loader_unregister_preboot_hook): likewise
28279 (grub_loader_set): launch preboot hooks
28280 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28281 (grub_loader_register_preboot_hook): new declaration
28282 (grub_loader_unregister_preboot_hook): likewise
28283
5af922b5 282842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28285
28286 Warning fix
28287
7dd4a573 28288 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28289 calling grub_dprintf
28290
a5562c30 282912009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28292
28293 Bug and warning fixes
28294
7dd4a573 28295 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28296 declaration
28297 * commands/test.c (test_parse): fixed bug with file tests and corrected
28298 declaration of find_file
28299
4006f85c 283002009-04-26 Pavel Roskin <proski@gnu.org>
28301
28302 * Makefile.in: Don't install empty manual pages if help2man is
28303 missing. Use help2man option for output, not shell redirection.
28304
5c77c3de 283052009-04-26 David S. Miller <davem@davemloft.net>
28306
28307 * util/grub-mkdevicemap.c (make_device_map): Add missing
28308 NESTED_FUNC_ATTR to process_device().
28309
033b10a8 283102009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 Test command
28313
28314 * commands/test.c: rewritten to use bash-like test
28315
e4343593 283162009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28317
28318 Parttool autoloading and improvements
28319
7dd4a573 28320 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28321 (parttool.lst): new target
28322 * genmk.rb: generate parttool-*
28323 (CLEANFILES): add #{parttool}
28324 (PARTTOOLFILES): new variable
28325 * genparttoollist.sh: new file
7dd4a573 28326 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28327 (grub_pcpart_type): likewise
28328 * commands/parttool.c (helpmsg): new variable
28329 (grub_cmd_parttool): output help if not enough arguments are supplied
28330 autoload modules
28331 (GRUB_MOD_INIT(parttool)): use helpmsg
28332
0d312500 283332009-04-24 David S. Miller <davem@davemloft.net>
28334
7dd4a573 28335 Avoiding opening same device multiple times in device iterator.
0d312500 28336
28337 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28338 and use it to build a list of partitions in iterate_disk() and
0d312500 28339 iterate_partition().
28340
ac20caff 28341 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28342 on disk->data.
28343
0dcf7495 28344 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28345 grub_devalias_iterate() result instead of unconditional 0.
28346 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28347 Also, capture hook return value, either directly or via
28348 grub_children_iterate(), and propagate to caller.
28349 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28350 grub_children_iterate): Return value is now 'int' instead of
28351 'grub_err_t'.
28352 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28353 like a proper iterator, stopping when hooks return non-zero.
28354 (grub_devalias_iterate): Likewise.
28355
c8c08833 283562009-04-23 David S. Miller <davem@davemloft.net>
28357
28358 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28359
f01005a8 283602009-04-22 David S. Miller <davem@davemloft.net>
28361
28362 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28363 is larger than address_cells, use that value for address_cells too.
28364
4e8269da 28365 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28366 IEEE1275_MAX_PATH_LEN): Define.
28367 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28368 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28369 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28370 'devtype'. Explicitly NULL terminate devalias expansion.
28371
a1447506 28372 * util/sparc64/ieee1275/misc.c: New file.
28373 * util/sparc64/ieee1275/grub-setup.c: New file.
28374 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28375 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28376 * util/sparc64/ieee1275/grub-install.in: New file.
28377 * util/ieee1275/ofpath.c: New file.
28378 * util/ieee1275/devicemap.c: New file.
28379 * util/devicemap.c: New file.
28380 * util/deviceiter.c: New file.
28381 * kern/sparc64/ieee1275/init.c: New file.
28382 * include/grub/util/ofpath.h: New file.
28383 * include/grub/util/deviceiter.h: New file.
28384 * util/grub-mkdevicemap.c: Include deviceiter.h.
28385 Implement using grub_util_emit_devicemap_entry and
28386 grub_util_iterate_devices.
28387 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28388 util/devicemap.c into grub-mkdevicemap
28389 * conf/i386-efi.rmk: Likewise.
28390 * conf/i386-ieee1275.rmk: Likewise.
28391 * conf/i386-pc.rmk: Likewise.
28392 * conf/powerpc-ieee1275.rmk: Likewise.
28393 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28394 images and installation utilities. Build kernel as image
28395 instead of as elf binary. Use common rules as much as possible.
28396
7dd4a573 283972009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28398
28399 Correct GPT definition
28400
7dd4a573 28401 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28402 of "attrib" member
28403
c6c5219f 284042009-04-19 Felix Zielcke <fzielcke@z-51.de>
28405
28406 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28407
0552ff9f 284082009-04-19 David S. Miller <davem@davemloft.net>
28409
28410 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28411 (grub_rescue_cmd_linux): Rename to...
28412 (grub_cmd_linux): and fix prototype.
28413 (grub_rescue_cmd_initrd): Rename to...
28414 (grub_cmd_initrd): and fix prototype.
28415 (cmd_linux, cmd_initrd): New.
28416 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28417 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28418
d1a282fc 284192009-04-17 Pavel Roskin <proski@gnu.org>
28420
07c5039f 28421 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28422 format.
28423 (grub_ohci_transfer): Likewise.
28424
b012002d 28425 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28426
1bc09c35 28427 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28428 return without a value. Fix inconsistent indentation.
28429
e0ff9126 28430 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28431 match struct grub_fs.
28432
d1a282fc 28433 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28434 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28435 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28436 * commands/lspci.c (grub_lspci_iter): Likewise.
28437
a96df3f2 284382009-04-16 Bean <bean123ch@gmail.com>
28439
28440 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28441 value.
28442
41bb0fe9 284432009-04-15 Pavel Roskin <proski@gnu.org>
28444
28445 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28446 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28447 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28448 definitions.
28449
596c6970 284502009-04-15 Felix Zielcke <fzielcke@z-51.de>
28451
28452 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28453 that no multiple data or metadata areas are supported and `Unknown
596c6970 28454 metadata header'.
28455
7dd4a573 284562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28457
28458 Move loader out of the kernel
28459
28460 * kern/loader.c: moved to ...
28461 * commands/boot.c: ... moved here
28462 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28463 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28464 * include/grub/kernel.h (grub_machine_fini): export
28465 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28466 (grub_loader_set): likewise
28467 (grub_loader_unset): likewise
28468 (grub_loader_boot): likewise
28469 * conf/common.rmk: new module boot.mod
28470 (pkglib_MODULES): add boot.mod
28471 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28472 (grub_emu_SOURCES): likewise
28473 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28474 (grub_emu_SOURCES): likewise
28475 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28476 (grub_emu_SOURCES): likewise
28477 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28478 (grub_emu_SOURCES): likewise
28479 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28480 (grub_emu_SOURCES): likewise
7dd4a573 28481 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28482 (grub_emu_SOURCES): likewise
0d5d5653 28483 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28484 (grub_emu_SOURCES): likewise
0d5d5653 28485
7dd4a573 284862009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28487
28488 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28489
5999d619 28490 * kern/misc.c (grub_itoa): Removed function
28491 (grub_ltoa): likewise
28492 (grub_vsprintf): use grub_lltoa
28493
7dd4a573 284942009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28495
28496 Restore grub-emu
28497
28498 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28499 * conf/i386-coreboot.rmk: likewise
28500 * conf/i386-ieee1275.rmk: likewise
28501 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28502
20318222 285032009-04-15 Felix Zielcke <fzielcke@z-51.de>
28504
28505 * INSTALL: Add that `./autogen.sh' needs to be run before
28506 `./configure.'.
28507
d05f0df3 285082009-04-14 Bean <bean123ch@gmail.com>
28509
28510 * Makefile.in (pkglib_DATA): Add handler.lst.
28511 (handler.lst): New rule.
28512
28513 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28514 * conf/i386-coreboot.rmk: Likewise.
28515 * conf/i386-ieee1275.rmk: Likewise.
28516 * conf/i386-efi.rmk: Likewise.
28517 * conf/x86_64-efi.rmk: Likewise.
28518 * conf/powerpc-ieee1275.rmk: Likewise.
28519 * conf/sparc64-ieee1275.rmk: Likewise.
28520
28521 * genhandlerlist.sh: New file.
28522
28523 * genmk.rb: Add rules to generate handler.lst.
28524
28525 * include/grub/normal.h (grub_file_getline): New function definition.
28526 (read_handler_list): Likewise.
28527 (free_handler_list): Likewise.
28528
28529 * include/grub/term.h (grub_term_register_input): Add name parameter
28530 for auto generation of handler.lst.
28531 (grub_term_register_output): Likewise.
28532
28533 * normal/handler.c: New file.
28534
28535 * normal/main.c (get_line): Renamed to grub_file_getline.
28536 (read_config_file): Use the newly renamed grub_file_getline.
28537 (read_command_list): Likewise.
28538 (read_fs_list): Likewise.
28539 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28540 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28541
28542 * term/efi/console.c (grub_console_init): Add name parameter for auto
28543 generation of handler.lst.
28544 * term/gfxterm.c: Likewise.
28545 * term/i386/pc/at_keyboard.c: Likewise.
28546 * term/i386/pc/console.c: Likewise.
28547 * term/i386/pc/serial.c: Likewise.
28548 * term/i386/pc/vesafb.c: Likewise.
28549 * term/i386/pc/vga.c: Likewise.
28550 * term/i386/pc/vga_text.c: Likewise.
28551 * term/ieee1275/ofconsole.c: Likewise.
28552 * term/usb_keyboard.c: Likewise.
28553
33c846be 285542009-04-14 Bean <bean123ch@gmail.com>
28555
28556 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28557 properly with null character.
28558
4484e01e 285592009-04-14 Felix Zielcke <fzielcke@z-51.de>
28560
28561 * configure: Remove.
28562 * config.h.in: Likewise.
f93d668e 28563 * stamp-h.in: Likewise.
4484e01e 28564 * DISTLIST: Likewise.
28565 * conf/common.mk: Likewise.
28566 * conf/i386-coreboot.mk: Likewise.
28567 * conf/i386-efi.mk: Likewise.
28568 * conf/i386-ieee1275.mk: Likewise.
28569 * conf/i386.mk: Likewise.
28570 * conf/i386-pc.mk: Likewise.
28571 * conf/powerpc-ieee1275.mk: Likewise.
28572 * conf/sparc64-ieee1275.mk: Likewise.
28573 * conf/x86_64-efi.mk: Likewise.
28574
28575 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28576 develop on GRUB.
28577
7dd4a573 285782009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28579 David S. Miller <davem@davemloft.net>
28580
28581 * util/hostdisk.c (make_device_name): Fix buffer length
28582 calculations.
28583
e25b5a8c 285842009-04-14 Felix Zielcke <fzielcke@z-51.de>
28585
28586 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28587 <sys/param.h> and <sys/sysctl.h>.
28588 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28589 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28590 opening the device and reset them afterwards.
28591
1f1f580c 285922009-04-13 Pavel Roskin <proski@gnu.org>
28593
28594 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28595 Reported by John Stanley <jpsinthemix@verizon.net>
28596
7ebc2d6b 285972009-04-13 Robert Millan <rmh@aybabtu.com>
28598
28599 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28600 that name for menuentries when appropriate.
7ebc2d6b 28601
d8ba3667 286022009-04-13 Felix Zielcke <fzielcke@z-51.de>
28603
28604 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28605
cba416eb 286062009-04-13 Robert Millan <rmh@aybabtu.com>
28607
28608 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28609 to Linux, simply abort telling the user it's no longer supported.
28610
a547a745 286112009-04-13 Felix Zielcke <fzielcke@z-51.de>
28612
28613 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28614 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28615 `freebsd_loadenv' only when devices.hints exist.
28616
232a769c 286172009-04-13 Pavel Roskin <proski@gnu.org>
28618
28619 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28620
c3012039 286212009-04-13 Felix Zielcke <fzielcke@z-51.de>
28622
28623 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28624 partition number.
28625 (grub_drive): Likewise.
28626
234022fe 286272009-04-13 David S. Miller <davem@davemloft.net>
28628
28629 * kern/sparc64/ieee1275/ieee1275.c: New file.
28630 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28631 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28632 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28633 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28634 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28635 grub_ieee1275_alloc_physmem): Declare new exported functions.
28636
d8e1836c 28637 * include/grub/sparc64/ieee1275/loader.h: New file.
28638 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28639 * include/grub/sparc64/kernel.h: Likewise.
28640 * loader/sparc64/ieee1275/linux.c: Likewise.
28641
96bd81ec 28642 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28643 (grub_fstest_SOURCES): Likewise.
28644
6a4737e5 28645 * util/hostdisk.c (make_device_name): Do not make any assumptions
28646 about the length of drive names.
28647
1d7a72fd 28648 * kern/dl.c (grub_dl_load_file): Close file immediately when
28649 we are done using it.
28650
56bc2471 286512009-04-12 David S. Miller <davem@davemloft.net>
28652
28653 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28654 values. Noticed by Pavel Roskin.
28655
df38d0bb 28656 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28657 target compiler.
7dd4a573 28658
e382e93a 28659 * genmk.rb: Add more flexible image type specification, also
28660 pass --strip-unneeded to objcopy.
28661 * conf/i386-pc.rmk: Use *_FORMAT.
28662 * conf/i386-pc.mk: Rebuilt.
28663
f5dbbca9 28664 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28665 (OFDISK_HASH_SZ): Define.
28666 (ofdisk_hash): New hash table.
28667 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28668 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28669 instead of device phandle which is not unique.
28670
91c88b12 28671 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28672 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28673 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28674 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28675 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28676 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28677 GRUB_KERNEL_MACHINE_DATA_END): Define.
28678 (grub_kernel_image_size, grub_total_module_size): Declare.
28679
5b5d4aa5 286802009-04-12 Pavel Roskin <proski@gnu.org>
28681
7dd4a573 28682 * configure.ac: Change the logic when we check for target tools.
28683 Do it when the target is specified and it's different from the
28684 specified value of the host.
5b5d4aa5 28685
c91e1793 286862009-04-11 Felix Zielcke <fzielcke@z-51.de>
28687
28688 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28689 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28690 GNU/kFreeBSD. Check if a device is a character device. Use
28691 DIOCGMEDIASIZE to get the size.
28692 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28693 support for GNU/kFreeBSD.
28694 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28695 is a character device instead of a block device. Add support for
28696 FreeBSD device names.
28697
28698 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28699 is a character device instead of a block device.
28700
28701 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28702 is a character device instead of a block device.
28703
b1ac8644 287042009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28705
28706 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28707 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28708 FreeBSD. Check if a device is a character device. Use
28709 DIOCGMEDIASIZE to get the size.
28710 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28711 support for FreeBSD.
28712 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28713 is a character device instead of a block device. Add support for
28714 FreeBSD device names.
28715
28716 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28717 a character device instead of a block device.
28718 (grub_util_check_char_device): New function.
28719
28720 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28721 a character device instead of a block device.
28722
28723 * include/grub/util/getroot.h (grub_util_check_char_device): New
28724 prototype.
28725
a3f7515a 287262009-04-11 David S. Miller <davem@davemloft.net>
28727
28728 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28729 static libgcc.
28730 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28731 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28732 function, if present.
28733 (__bswapdi2): Likewise.
28734
0d44993d 28735 * include/grub/sparc64/ieee1275/boot.h: New file.
28736 * boot/sparc64/ieee1275/boot.S: Likewise.
28737 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28738
ed3d2bc2 28739 * kern/misc.c (grub_ltoa): New function.
28740 (grub_vsprintf): Use it to format 'long' integers.
28741
d3bfb59c 287422009-04-10 David S. Miller <davem@davemloft.net>
28743
28744 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28745 slots are of type grub_ieee1275_cell_t.
28746 (grub_nand_read): Likewise.
28747 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28748 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28749 macros are used to compare values in arg/ret block of the call.
28750 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28751 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28752 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28753 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28754 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28755 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28756 grub_ieee1275_close, grub_ieee1275_set_property,
28757 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28758 grub_ieee1275_cell_t.
28759 * kern/ieee1275/openfw.c (grub_map): Likewise.
28760 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28761 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28762
450e2238 28763 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28764 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28765 (grub_devalias_iterate): Likewise.
28766
7dd4a573 287672009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28768
28769 UFS improvements
28770
28771 * fs/ufs.c (INODE_NBLOCKS): new definition
28772 (struct grub_ufs_dirent): added fields for non-BSD dirents
28773 (grub_ufs_get_file_block): fixed double indirect handling
28774 (grub_ufs_lookup_symlink): use more robust way to determine whether
28775 symlink is inline
28776 (grub_ufs_find_file): support for non-BSD dirents
28777 (grub_ufs_dir): support for non-BSD dirents
28778
e7e6862a 287792009-04-10 Bean <bean123ch@gnail.com>
28780
28781 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28782 attribute, otherwise the size would be wrong for i386 platform.
28783
28784 * include/grub/pci.h (grub_pci_read_word): New inline function.
28785 (grub_pci_read_byte): Likewise.
28786 (grub_pci_write): Likewise.
28787 (grub_pci_write_word): Likewise.
28788 (grub_pci_write_byte): Likewise.
28789
28790 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28791
28792 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28793 (find_framebuf): Scan pci to locate the frame buffer address.
28794
28795 * commands/efi/fixvideo.c: New file.
28796
28797 * commands/efi/loadbios.c: Likewise.
28798
28799 * commands/memrw.c: Likewise.
28800
28801 * util/grub-dumpbios.in: Likewise.
28802
28803 * conf/common.rmk (grub-dumpbios): New utility.
28804 (pkglib_MODULES): New module memrw.mod.
28805 (memrw_mod_SOURCE): New macro.
28806 (memrw_mod_CFLAGS): Likewise.
28807 (memrw_mod_LDFLAGS): Likewise.
28808
7dd4a573 28809 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28810 fixvideo.mod.
28811 (loadbios_mod_SOURCE): New macro.
28812 (loadbios_mod_CFLAGS): Likewise.
28813 (loadbios_mod_LDFLAGS): Likewise.
28814 (fixvideo_mod_SOURCE): Likewise.
28815 (fixvideo_mod_CFLAGS): Likewise.
28816 (fixvideo_mod_LDFLAGS): Likewise.
28817
7dd4a573 28818 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28819 fixvideo.mod.
28820 (loadbios_mod_SOURCE): New macro.
28821 (loadbios_mod_CFLAGS): Likewise.
28822 (loadbios_mod_LDFLAGS): Likewise.
28823 (fixvideo_mod_SOURCE): Likewise.
28824 (fixvideo_mod_CFLAGS): Likewise.
28825 (fixvideo_mod_LDFLAGS): Likewise.
28826
af63ada2 288272009-04-08 Felix Zielcke <fzielcke@z-51.de>
28828
28829 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28830
c2cdde70 288312009-04-07 David S. Miller <davem@davemloft.net>
28832
28833 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28834 support for R_SPARC_OLO10 relocations. Fix compile warning for
28835 R_SPARC_WDISP30 case.
ea3f72cf 28836 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28837
761319cf 288382009-04-06 Pavel Roskin <proski@gnu.org>
28839
1007d1f5 28840 * include/grub/misc.h (ARRAY_SIZE): New macro.
28841 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28842 New macro.
28843 * loader/i386/linux.c (allocate_pages): Use free_pages().
28844 (grub_linux_unload): Don't use free_pages().
28845 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28846 wrong index. Treat all other modes as text modes.
28847 (grub_cmd_linux): Initialize vid_mode unconditionally to
28848 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28849
761319cf 28850 * commands/help.c (print_command_help): Use cmd->prio, not
28851 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28852
ea761d40 288532009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28854
ea761d40 28855 Parttool
28856
28857 * parttool/pcpart.c: new file
28858 * commands/parttool.c: likewise
28859 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28860 (parttool_mod_SOURCES): new variable
28861 (parttool_mod_CFLAGS): likewise
28862 (parttool_mod_LDFLAGS): likewise
28863 (pcpart_mod_SOURCES): likewise
28864 (pcpart_mod_CFLAGS): likewise
28865 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28866 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28867 and parttool/pcpart.c
28868 * conf/i386-efi.rmk: likewise
28869 * conf/i386-ieee1275.rmk: likewise
28870 * conf/i386-pc.rmk: likewise
28871 * conf/powerpc-ieee1275.rmk: likewise
28872 * conf/sparc64-ieee1275.rmk: likewise
28873 * conf/x86_64-ieee1275.rmk: likewise
28874
05aaebfb 288752009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28876
28877 Support for mtime and further expandability of dir command
28878
28879 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28880 * include/grub/datetime.h: ... moved here and added
05aaebfb 28881 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28882 * include/grub/fs.h: new syntax for dir and mtime functions in
28883 struct grub_fs
05aaebfb 28884 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28885 and GRUB_FSHELP_FLAGS_MASK
28886 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28887 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28888 (grub_ext2_mtime): new function
28889 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28890 (grub_hfsplus_mtime): new function
28891 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28892 (GRUB_UFS_ATTR_FILE): likewise
28893 (GRUB_UFS_ATTR_LNK): likewise
28894 (struct grub_ufs_sblock): new fields mtime
28895 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28896 all users updated
28897 (grub_ufs_dir): mtime support
28898 (grub_ufs_mtime): new function
28899 * fs/affs.c (grub_affs_dir): use new dir syntax
28900 * fs/afs.c (grub_afs_dir): likewise
28901 * fs/cpio.c (grub_cpio_dir): likewise
28902 * fs/fat.c (grub_fat_find_dir): likewise
28903 * fs/hfs.c (grub_hfs_dir): likewise
28904 * fs/iso9660.c (grub_iso9660_dir): likewise
28905 * fs/jfs.c (grub_jfs_dir): likewise
28906 * fs/minix.c (grub_minix_dir): likewise
28907 * fs/ntfs.c (grub_ntfs_dir): likewise
28908 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28909 * fs/sfs.c (grub_sfs_dir): likewise
28910 * fs/xfs.c (grub_xfs_dir): likewise
28911 * util/hostfs.c (grub_hostfs_dir): likewise
28912 * lib/datetime.c: moved to ...
28913 * normal/datetime.c: ... moved here
28914 (grub_unixtime2datetime): new function
28915 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28916 * normal/completion.c (iterate_dir): use new dir syntax
28917 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28918 last modification time of a volume
7dd4a573 28919 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28920 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28922 (normal_mod_SOURCES): likewise
28923 (datetime_mod_SOURCES): Removed lib/datetime.c
28924 * conf/i386-efi.rmk: likewise
7dd4a573 28925 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28926 * conf/i386-pc.rmk: likewise
28927 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28928 * conf/sparc64-ieee1275.rmk: likewise
28929 * conf/x86_64-efi.rmk: likewise
05aaebfb 28930
8a7e1a14 289312009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28932
28933 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28934
28935 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28936 on grub_fat_find_dir
28937 (grub_fat_find_dir): use grub_fat_iterate_dir
28938 (grub_fat_label): likewise
28939
04186a9c 289402009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28941
7dd4a573 28942 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28943 and command.h
28944 remove extraneous kernel_elf_HEADERS
28945
da4c0bb6 289462009-04-04 Bean <bean123ch@gnail.com>
28947
28948 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28949
28950 * util/misc.c: Likewise.
28951
54ad9555 289522009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28953
28954 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28955 instead of grub_printf.
28956
7a6bf9f2 289572009-04-03 Robert Millan <rmh@aybabtu.com>
28958
28959 * loader/i386/linux.c (grub_linux_setup_video): Fill
28960 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28961 values from `mode info' structure instead of hardcoded
28962 values.
28963
3fcc2083 289642009-04-01 Pavel Roskin <proski@gnu.org>
28965
28966 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28967 unused now.
28968 * genmk.rb: Likewise.
28969 * configure.ac: Likewise.
28970
5ec9740b 289712009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28972
28973 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28974 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28975
5270cec8 289762009-04-01 David S. Miller <davem@davemloft.net>
28977
28978 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28979 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28980 (grub_setjmp): Mark with 'returns_twice' attribute.
28981 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28982 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28983 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28984
9c3dd854 289852009-04-01 Robert Millan <rmh@aybabtu.com>
28986
28987 Reapply fix from 2008-07-28 which was accidentally reverted; also
28988 perform the same fix to a similar check in same function.
28989
28990 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28991 with the same number are found, just use issue a warning with
28992 grub_dprintf(), as this error has been reported to be non-fatal.
28993
0d818b7e 289942009-03-31 Pavel Roskin <proski@gnu.org>
28995
28996 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28997 for cross-compilation.
28998
95646d92 289992009-03-30 Robert Millan <rmh@aybabtu.com>
29000
29001 Fix i386-ieee1275 build.
29002
29003 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29004 Remove declaration.
29005
6a003ed1 290062009-03-30 Pavel Roskin <proski@gnu.org>
29007
29008 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29009 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29010 zero-terminated, rely only on the strlen value. Fix comparison
29011 of strings differing in length.
29012
92f33540 290132009-03-30 Robert Millan <rmh@aybabtu.com>
29014
29015 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29016 checking for abi version. Improve error messages on BIOS to notify
29017 user about `linux16' command.
29018
a8c48fd5 290192009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29020
f968172e 29021 Leak fixes
a8c48fd5 29022
f968172e 29023 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29024 in case of collision
29025 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29026
9c323f09 290272009-03-29 Robert Millan <rmh@aybabtu.com>
29028
29029 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29030 set `vid_mode' accordingly.
29031 (grub_linux_boot): Process `vid_mode' and set video mode.
29032
ae68f423 290332009-03-29 Robert Millan <rmh@aybabtu.com>
29034
29035 * util/grub.d/10_linux.in (linux_entry): New function.
29036 Factorize generation of Linux boot entries.
29037
5709cfc4 290382009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29039
29040 Make the format of Environment Block plain text. The boot loader
29041 part is not tested well yet.
7dd4a573 29042
5709cfc4 29043 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29044 (buffer): Removed.
29045 (envblk): Likewise.
29046 (usage): Remove "info" and "clear". Add "unset". Update the
29047 description of "set", as this does not delete variables any
29048 longer.
29049 (create_envblk_file): Complete rewrite.
29050 (open_envblk_file): Likewise.
29051 (cmd_info): Removed.
29052 (cmd_list): Likewise.
29053 (cmd_set): Likewise.
29054 (cmd_clear): Likewise.
29055 (list_variables): New function.
29056 (write_envblk): Likewise.
29057 (set_variables): Likewise.
29058 (unset_variables): Likewise.
29059 (main): Complete rewrite.
29060
29061 * commands/loadenv.c (buffer): Removed.
29062 (envblk): Likewise.
29063 (open_envblk_file): New function.
29064 (read_envblk_file): Complete rewrite.
29065 (grub_cmd_load_env): Likewise.
29066 (grub_cmd_list_env): Likewise.
29067 (struct blocklist): New struct.
29068 (free_blocklists): New function.
29069 (check_blocklists): Likewise.
29070 (write_blocklists): Likewise.
29071 (grub_cmd_save_env): Complete rewrite.
29072
29073 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29074 a plain text signature.
29075 (GRUB_ENVBLK_MAXLEN): Removed.
29076 (struct grub_envblk): Complete rewrite.
29077 (grub_envblk_find): Removed.
29078 (grub_envblk_insert): Likewise.
29079 (grub_envblk_open): New prototype.
29080 (grub_envblk_set): Likewise.
29081 (grub_envblk_delete): Put const to VALUE.
29082 (grub_envblk_iterate): Put const to NAME and VALUE.
29083 (grub_envblk_close): New prototype.
29084 (grub_envblk_buffer): New inline function.
29085 (grub_envblk_size): Likewise.
29086
29087 * lib/envblk.c: Include grub/mm.h.
29088 (grub_env_find): Removed.
29089 (grub_envblk_open): New function.
29090 (grub_envblk_close): Likewise.
29091 (escaped_value_len): Likewise.
29092 (find_next_line): Likewise.
29093 (grub_envblk_insert): Removed.
29094 (grub_envblk_set): New function.
29095 (grub_envblk_delete): Complete rewrite.
29096 (grub_envblk_iterate): Likewise.
29097
a9368fd3 290982009-03-28 Robert Millan <rmh@aybabtu.com>
29099
29100 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29101 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29102 variables. Use 16-bit loader.
29103 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29104 loader.
29105 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29106 (grub_linux16_boot): ... this. Update all users.
29107 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29108 (grub_linux_boot): ... this. Update all users.
29109
29110 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29111 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29112 commands to `linux16' and `initrd16'.
29113 (GRUB_MOD_FINI(linux)): Rename to ...
29114 (GRUB_MOD_FINI(linux16)): ... this.
29115
e4dd5a7e 291162009-03-24 Pavel Roskin <proski@gnu.org>
29117
29118 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29119 not just for compilation.
29120
c04d6e05 291212009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29122
29123 Move multiboot helper out of kernel
29124
29125 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29126 `loader/i386/multiboot_helper.S'.
29127 * conf/i386-coreboot.rmk: Likewise
29128 * conf/i386-ieee1275.rmk: Likewise
29129
29130 * kern/i386/loader.S: Move multiboot helpers from here...
29131 * loader/i386/multiboot_helper.S: ...moved here
29132 * include/grub/i386/loader.h: Move declarations of multiboot
29133 helpers from here...
29134 * include/grub/i386/multiboot.h: ...moved here
29135 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29136
42a5b3fc 291372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29138
29139 * kern/env.c (grub_env_context_open): Added an argument to specify
29140 whether a new context inherits exported variables from current
29141 one. This is useful when making a sandbox to interpret a config
29142 file.
29143 All callers updated.
29144
29145 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29146
b28bbc4e 291472009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29148
29149 * kern/env.c (grub_env_context_close): Fix memory leaks.
29150
f04f02e4 291512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29152
29153 * normal/main.c (grub_normal_execute): Added an argument
29154 BATCH to specify if an interactive interface should be provided
29155 after reading a config file.
29156 All callers updated.
29157 (read_command_list): Prevent being executed twice.
29158 (read_fs_list): Likewise.
29159
42a5b3fc 29160 * include/grub/normal.h (grub_normal_execute): Updated the
29161 prototype.
f04f02e4 29162
41473ac2 291632009-03-22 Pavel Roskin <proski@gno.org>
29164
fbc00b0c 29165 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29166 _start.
29167 * kern/i386/pc/startup.S: Likewise.
29168 * kern/i386/efi/startup.S: Likewise.
29169 * kern/i386/ieee1275/startup.S: Likewise.
29170 * kern/i386/coreboot/startup.S: Likewise.
29171 * kern/x86_64/efi/startup.S: Likewise.
29172
41473ac2 29173 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29174 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29175 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29176
2274cc8f 291772009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29178
29179 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29180
29181 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29182 limit detection.
29183 Use vaddr of correct segment for entry_point.
29184
b1b797cb 291852009-03-21 Bean <bean123ch@gmail.com>
29186
29187 * commands/blocklist.c: Add include file <grub/command.h>, remove
29188 <grub/normal.h> and <grub/arg.h>.
29189 (grub_cmd_blocklist): Use the new command interface.
29190 (GRUB_MOD_INIT): Likewise.
29191 (GRUB_MOD_FINI): Likewise.
29192 * commands/boot.c: Likewise.
29193 * commands/cat.c: Likewise.
29194 * commands/cmp.c: Likewise.
29195 * commands/configfile.c: Likewise.
29196 * commands/crc.c: Likewise.
29197 * commands/echo.c: Likewise.
29198 * commands/halt.c: Likewise.
29199 * commands/handler.c: Likewise.
29200 * commands/hdparm.c: Likewise.
29201 * commands/help.c: Likewise.
29202 * commands/hexdump.c: Likewise.
29203 * commands/loadenv.c: Likewise.
29204 * commands/ls.c: Likewise.
29205 * commands/lsmmap.c: Likewise.
29206 * commands/lspci.c: Likewise.
29207 * commands/loadenv.c: Likewise.
29208 * commands/read.c: Likewise.
29209 * commands/reboot.c: Likewise.
29210 * commands/search.c: Likewise.
29211 * commands/sleep.c: Likewise.
29212 * commands/test.c: Likewise.
29213 * commands/usbtest.c: Likewise.
29214 * commands/videotest.c: Likewise.
29215 * commands/i386/cpuid.c: Likewise.
29216 * commands/i386/pc/halt.c: Likewise.
29217 * commands/i386/pc/play.c: Likewise.
29218 * commands/i386/pc/pxecmd.c: Likewise.
29219 * commands/i386/pc/vbeinfo.c: Likewise.
29220 * commands/i386/pc/vbetest.c: Likewise.
29221 * commands/ieee1275/suspend.c: Likewise.
29222 * disk/loopback.c: Likewise.
29223 * font/font_cmd.c: Likewise.
29224 * hello/hello.c: Likewise.
29225 * loader/efi/appleloader.c: Likewise.
29226 * loader/efi/chainloader.c: Likewise.
29227 * loader/i386/bsd.c: Likewise.
29228 * loader/i386/efi/linux.c: Likewise.
29229 * loader/i386/ieee1275/linux.c: Likewise.
29230 * loader/i386/linux.c: Likewise.
29231 * loader/i386/pc/chainloader.c: Likewise.
29232 * loader/i386/pc/linux.c: Likewise.
29233 * loader/powerpc/ieee1275/linux.c: Likewise.
29234 * loader/multiboot_loader.c: Likewise.
29235 * term/gfxterm.c: Likewise.
29236 * term/i386/pc/serial.c: Likewise.
29237 * term/terminfo.c: Likewise.
29238
29239 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29240 * term/i386/pc/vga.c: Likewise.
29241 * video/readers/jpeg.c: Likewise.
29242 * video/readers/png.c: Likewise.
29243 * video/readers/tga.c: Likewise.
29244
29245 * util/grub-fstest (cmd_loopback): Removed.
29246 (cmd_blocklist): Likewise.
29247 (cmd_ls): Likewise.
29248 (grub_register_command): Likewise.
29249 (grub_unregister_command): Likewise.
29250 (execute_command): Use grub_command_find to locate command and execute
29251 it.
29252
29253 * include/grub/efi/chainloader.h: Removed.
29254 * loader/efi/chainloader_normal.c: Likewise.
29255 * loader/i386/bsd_normal.c: Likewise.
29256 * loader/i386/pc/chainloader_normal.c: Likewise.
29257 * loader/i386/pc/multiboot_normal.c: Likewise.
29258 * loader/linux_normal.c: Likewise.
29259 * loader/multiboot_loader_normal.c: Likewise.
29260 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29261
29262 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29263 and grub_register_command_p1.
29264
29265 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29266 kern/command.c, lib/arg.c and commands/extcmd.c.
29267 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29268 (minicmd_mod_SOURCES): New variable.
29269 (minicmd_mod_CFLAGS): Likewise.
29270 (minicmd_mod_LDFLAGS): Likewise.
29271 (extcmd_mod_SOURCES): Likewise.
29272 (extcmd_mod_CFLAGS): Likewise.
29273 (extcmd_mod_LDFLAGS): Likewise.
29274 (boot_mod_SOURCES): Removed.
29275 (boot_mod_CFLAGS): Likewise.
29276 (boot_mod_LDFLAGS): Likewise.
29277
29278 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29279 kern/corecmd.c.
29280 (kernel_img_HEADERS): Add command.h.
29281 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29282 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29283 and lib/arg.c.
29284 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29285 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29286 remove the corresponding normal mode command.
29287 (normal_mod_SOURCES): Remove normal/arg.c.
29288 * conf/i386-coreboot.rmk: Likewise.
29289 * conf/i386-efi.rmk: Likewise.
29290 * conf/i386-ieee1275.rmk: Likewise.
29291 * conf/powerpc-ieee1275.rmk: Likewise.
29292 * conf/x86_64-efi.rmk: Likewise.
29293
29294 * include/grub/arg.h: Move from here ...
29295 * include/grub/lib/arg.h: ... to here.
29296
29297 * normal/arg.c: Move from here ...
29298 * lib/arg.c: ... to here.
29299
29300 * commands/extcmd.c: New file.
29301 * commands/minicmd.c: Likewise.
29302 * include/grub/command.h: Likewise.
29303 * include/grub/extcmd.h: Likewise.
29304 * kern/command.c: Likewise.
29305 * kern/corecmd.c: Likewise.
29306
29307 * kern/list.c (grub_list_iterate): Return int instead of void.
29308 (grub_list_insert): New function.
29309 (grub_prio_list_insert): Likewise.
29310
29311 * kern/rescue.c (grub_rescue_command): Removed.
29312 (grub_rescue_command_list): Likewise.
29313 (grub_rescue_register_command): Likewise.
29314 (grub_rescue_unregister_command): Likewise.
29315 (grub_rescue_cmd_boot): Move to minicmd.c
29316 (grub_rescue_cmd_help): Likewise.
29317 (grub_rescue_cmd_info): Likewise.
29318 (grub_rescue_cmd_boot): Likewise.
29319 (grub_rescue_cmd_testload): Likewise.
29320 (grub_rescue_cmd_dump): Likewise.
29321 (grub_rescue_cmd_rmmod): Likewise.
29322 (grub_rescue_cmd_lsmod): Likewise.
29323 (grub_rescue_cmd_exit): Likewise.
29324 (grub_rescue_print_devices): Moved to corecmd.c.
29325 (grub_rescue_print_files): Likewise.
29326 (grub_rescue_cmd_ls): Likewise.
29327 (grub_rescue_cmd_insmod): Likewise.
29328 (grub_rescue_cmd_set): Likewise.
29329 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29330 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29331 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29332 commands, remove grub_rescue_register_command calls.
b1b797cb 29333
7d074e3c 29334 * normal/command.c (grub_register_command): Removed.
b1b797cb 29335 (grub_unregister_command): Likewise.
29336 (grub_command_find): Likewise.
29337 (grub_iterate_commands): Likewise.
29338 (rescue_command): Likewise.
29339 (export_command): Moved to corecmd.c.
29340 (set_command): Removed.
29341 (unset_command): Likewise.
29342 (insmod_command): Likewise.
29343 (rmmod_command): Likewise.
29344 (lsmod_command): Likewise.
29345 (grub_command_init): Likewise.
29346
29347 * normal/completion.c (iterate_command): Use cmd->prio to check for
29348 active command.
29349 (complete_arguments): Use grub_extcmd_t structure to find options.
29350 (grub_normal_do_completion): Change function grub_iterate_commands to
29351 grub_command_iterate.
29352
29353 * normal/execute.c (grub_script_execute_cmd): No need to parse
29354 argument here.
29355
29356 * normal/main.c (grub_dyncmd_dispatcher): New function.
29357 (read_command_list): Register unload commands as dyncmd.
29358 (grub_cmd_normal): Use new command interface, register rescue,
29359 unregister normal at entry, register normal, unregister rescue at exit.
29360
29361 * include/grub/list.h (grub_list_test_t): New type.
29362 (grub_list_iterate): Return int instead of void.
29363 (grub_list_insert): New function.
29364 (GRUB_AS_NAMED_LIST_P): New macro.
29365 (GRUB_AS_PRIO_LIST): Likewise.
29366 (GRUB_AS_PRIO_LIST_P): Likewise.
29367 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29368 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29369 (grub_prio_list): New structure.
29370 (grub_prio_list_insert): New function.
29371 (grub_prio_list_remove): New inline function.
29372
29373 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29374 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29375 (GRUB_COMMAND_FLAG_MENU): Likewise.
29376 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29377 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29378 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29379 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29380 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29381 (grub_command): Likewise.
29382 (grub_register_command): Likewise.
29383 (grub_command_find): Likewise.
29384 (grub_iterate_commands): Likewise.
29385 (grub_command_init): Likewise.
29386 (grub_arg_parse): Likewise.
29387 (grub_arg_show_help): Likewise.
29388
29389 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29390 (grub_rescue_unregister_command): Likewise.
29391
29392 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29393 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29394 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29395
29396 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29397 grub_rescue_cmd_initrd.
29398 * include/grub/i386/loader.h: Likewise.
29399 * include/grub/x86_64/loader.h: Likewise.
29400
29401 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29402
1f4147aa 294032009-03-21 Bean <bean123ch@gmail.com>
29404
29405 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29406 instead of stat in mingw environment.
29407
29408 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29409
29410 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29411
29412 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29413 AC_CONFIG_LINKS.
29414
2156d5ba 294152009-03-21 Bean <bean123ch@gmail.com>
29416
29417 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29418 out of range error.
29419
177b82ca 294202009-03-18 Michel Dänzer <michel@daenzer.net>
29421
29422 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29423 checking inode flags for EXT4_EXTENTS_FLAG.
29424
14aad807 294252009-03-18 Robert Millan <rmh@aybabtu.com>
29426
29427 * loader/i386/linux.c: Include `<grub/video.h>' and
29428 `<grub/i386/pc/vbe.h>'..
29429 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29430 (grub_linux32_boot): Attempt to configure video settings with
29431 grub_linux_setup_video().
29432 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29433 to avoid grub_console_fini() which would step out of graphical mode
29434 unconditionally.
29435
8cf83a27 294362009-03-14 Robert Millan <rmh@aybabtu.com>
29437
29438 Fix build on powerpc.
29439 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29440
40164e75 294412009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29442
29443 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29444 background image command.
29445
c58bc32a 294462009-03-12 Colin D Bennett <colin@gibibit.com>
29447
29448 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29449 (grub_gfxterm_putchar): Extract pairs of identical calls to
29450 draw_cursor out of conditional blocks.
29451
5415144a 294522009-03-11 Pavel Roskin <proski@gnu.org>
29453
29454 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29455 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29456
6394042e 294572009-03-11 Robert Millan <rmh@aybabtu.com>
29458
29459 * loader/i386/multiboot_elfxx.c
29460 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29461
b7b50e5f 294622009-03-11 Felix Zielcke <fzielcke@z-51.de>
29463
29464 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29465 `kern/handler.c'.
29466
1ca7fc96 294672009-03-11 Robert Millan <rmh@aybabtu.com>
29468
29469 * loader/i386/multiboot.c (code_size): New variable.
29470 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29471 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29472 4-byte alignment to MBI and others by increasing
7d074e3c 29473 `boot_loader_name_length' appropriately.
1ca7fc96 29474
29475 * loader/i386/multiboot_elfxx.c
29476 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29477
a83ea1d2 294782009-03-09 Felix Zielcke <fzielcke@z-51.de>
29479
29480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29481 `fs/ext2.c'.
29482
aa9f3bff 294832009-03-08 Robert Millan <rmh@aybabtu.com>
29484
29485 Make loader/i386/linux.c usable on i386-pc again.
29486
29487 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29488 memory to heap.
29489 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29490 `#error' stanza.
29491
d8b3b60e 294922009-03-07 Bean <bean123ch@gmail.com>
29493
29494 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29495 allocation.
29496
b362c9e9 294972009-03-06 Robert Millan <rmh@aybabtu.com>
29498
29499 Fix display issue on terminals with screen size other than 80x25
29500 (e.g. gfxterm with resolution higher than 640x480).
29501
29502 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29503 position relative to the center of the terminal instead of relying
b362c9e9 29504 on a hardcoded offset.
29505
9304eef1 295062009-03-04 Robert Millan <rmh@aybabtu.com>
29507
29508 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29509 installed.
29510
29511 * Makefile.in (host_kernel): New variable.
29512 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29513 scripts instead of just the windows one.
29514 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29515
eabc95fb 295162009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29517
29518 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29519 `kern/handler.c'.
29520 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29521 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29522 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29525 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29526
ceb1223c 295272009-03-04 Felix Zielcke <fzielcke@z-51.de>
29528
29529 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29530 or if there's no space for the disk label and print the partition number on a
29531 invalid magic.
29532
4910684a 295332009-03-04 Felix Zielcke <fzielcke@z-51.de>
29534
29535 * util/misc.c: Include <time.h>.
29536 (grub_millisleep): New function.
29537
7e9ca17a 295382009-03-04 Bean <bean123ch@gmail.com>
29539
29540 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29541 another option -mno-red-zone.
29542
29543 * commands/handler.c: Change module description.
29544
29545 * kern/handler.c: Add missing space at the end of description line.
29546
29547 * kern/list.c: Likewise.
29548
f501677c 295492009-03-03 Robert Millan <rmh@aybabtu.com>
29550
29551 Move more components to the relocation area, and fix mbi pointer
29552 handling to use the destination rather than the origin (thanks to
29553 Vladimir Serbinenko for spotting).
29554
29555 * loader/i386/multiboot.c (mbi_dest): New variable.
29556 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29557 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29558 relocation area.
29559
9902d047 295602009-03-01 Bean <bean123ch@gmail.com>
29561
50fb7002 29562 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29563 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29564 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29565 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29566
29567 * loader/i386/efi/linux.c (acpi_guid): New variable.
29568 (acpi_guid): Likewise.
29569 (EBDA_SEG_ADDR): New constant.
29570 (LOW_MEM_ADDR): Likewise.
29571 (FAKE_EBDA_SEG): Likewise.
29572 (fake_bios_data): New function.
29573 (grub_linux_boot): Call fake_bios_data.
29574
71b9f361 295752009-03-01 Bean <bean123ch@gmail.com>
29576
29577 * commands/terminal.c: Removed.
29578
29579 * commands/handler.c: New file.
29580
29581 * include/grub/list.h: Likewise.
29582
29583 * include/grub/handler.h: Likewise.
29584
29585 * kern/list.c: Likewise.
29586
29587 * kern/handler.c: Likewise.
29588
29589 * kern/term.h: Include header file <grub/handler.h>.
29590 (grub_term_input): Move next field to the beginning.
29591 (grub_term_output): Likewise.
29592 (grub_term_input_class): New variable.
29593 (grub_term_output_class): Likewise.
29594 (grub_term_register_input): Changed to inline function.
29595 (grub_term_register_output): Likewise.
29596 (grub_term_unregister_input): Likewise.
29597 (grub_term_unregister_output): Likewise.
29598 (grub_term_set_current_input): Likewise.
29599 (grub_term_set_current_output): Likewise.
29600 (grub_term_get_current_input): Likewise.
29601 (grub_term_get_current_output): Likewise.
29602 (grub_term_iterate_input): Removed.
29603 (grub_term_iterate_output): Likewise.
29604
29605 * kern/term.c (grub_term_list_input): Removed.
29606 (grub_term_list_output): Likewise.
29607 (grub_term_input_class): New variable.
29608 (grub_term_output_class): Likewise.
50fb7002 29609 (grub_cur_term_input): Change variable as macro.
71b9f361 29610 (grub_cur_term_output): Likewise.
29611 (grub_term_register_input): Removed.
29612 (grub_term_register_output): Likewise.
29613 (grub_term_unregister_input): Likewise.
29614 (grub_term_unregister_output): Likewise.
29615 (grub_term_set_current_input): Likewise.
29616 (grub_term_set_current_output): Likewise.
29617 (grub_term_iterate_input): Likewise.
29618 (grub_term_iterate_output): Likewise.
29619 (grub_term_get_current_input): Likewise.
29620 (grub_term_get_current_output): Likewise.
29621
29622 * util/grub-editenv.c: Include header file <grub/handler.h>.
29623 (grub_term_get_current_input): Removed.
29624 (grub_term_get_current_output): Likewise.
29625 (grub_term_input_class): New variable.
50fb7002 29626 (grub_term_output_class): Likewise.
71b9f361 29627
29628 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29629 (grub_term_get_current_output): Likewise.
29630 (grub_term_input_class): New variable.
50fb7002 29631 (grub_term_output_class): Likewise.
71b9f361 29632
29633 * util/grub-probe.c (grub_term_get_current_input): Removed.
29634 (grub_term_get_current_output): Likewise.
29635 (grub_term_input_class): New variable.
50fb7002 29636 (grub_term_output_class): Likewise.
71b9f361 29637
29638 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29639 (grub_term_get_current_output): Likewise.
29640 (grub_term_input_class): New variable.
50fb7002 29641 (grub_term_output_class): Likewise.
71b9f361 29642
29643 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29644 (terminal_mod_SOURCES): Likewise.
29645 (terminal_mod_CFLAGS): Likewise.
29646 (terminal_mod_LDFLAGS): Likewise.
29647
29648 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29649 handler.c.
29650 (kernel_img_SOURCES): Add list.c and handler.c.
29651 (kernel_img_HEADERS): Add list.h and handler.h.
29652
29653 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29654 handler.c.
29655 (kernel_mod_SOURCES): Add list.c and handler.c.
29656 (kernel_mod_HEADERS): Add list.h and handler.h.
29657
29658 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29659 handler.c.
29660 (kernel_elf_SOURCES): Add list.c and handler.c.
29661 (kernel_elf_HEADERS): Add list.h and handler.h.
29662
29663 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29664 handler.c.
29665 (kernel_elf_SOURCES): Add list.c and handler.c.
29666 (kernel_elf_HEADERS): Add list.h and handler.h.
29667
29668 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29669 handler.c.
29670 (kernel_mod_SOURCES): Add list.c and handler.c.
29671 (kernel_mod_HEADERS): Add list.h and handler.h.
29672
29673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29674 handler.c.
29675 (kernel_elf_SOURCES): Add list.c and handler.c.
29676 (kernel_elf_HEADERS): Add list.h and handler.h.
29677
8a31787f 296782009-02-27 Robert Millan <rmh@aybabtu.com>
29679
29680 Factorize elf32 / elf64 code in Multiboot loader. This will
29681 prevent it from getting out of sync again.
29682
29683 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29684 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29685 grub_multiboot_load_elf64): Move from here ...
29686 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29687 grub_multiboot_load_elf): ... to here (new file).
29688
51cd3dfc 296892009-02-27 Robert Millan <rmh@aybabtu.com>
29690
29691 * util/grub.d/10_linux.in: Rename "single-user mode" to
29692 "recovery mode".
29693
6e8c9c3a 296942009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29695
29696 Don't leak in SCSI code.
29697 * disk/scsi.c (grub_scsi_close): free `scsi'.
29698
4b6bf4f9 296992009-02-27 Robert Millan <rmh@aybabtu.com>
29700
29701 * loader/i386/pc/multiboot.c: Move from here ...
29702 * loader/i386/multiboot.c: ... to here. Update all users.
29703
b9413424 297042009-02-27 Robert Millan <rmh@aybabtu.com>
29705
29706 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29707 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29708
50fb7002 297092009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29710
29711 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29712 b-tree.
29713
8cc50345 297142009-02-27 Robert Millan <rmh@aybabtu.com>
29715
29716 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29717 `0x' qualifier as 0 when base is specified as parameter).
29718
6e09b8b7 297192009-02-24 Bean <bean123ch@gmail.com>
29720
29721 * configure.ac: Check for -mcmodel=large in x86_64 target.
29722
29723 * include/grub/efi/api.h (efi_call_10): New macro.
29724 (efi_wrap_10): New function.
29725
29726 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29727 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29728 (GRUB_PE32_REL_BASED_LOW): Likewise.
29729 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29730 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29731 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29732 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29733 (GRUB_PE32_REL_BASED_REL): Likewise.
29734 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29735 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29736 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29737
29738 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29739 issue.
29740
29741 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29742 (efi_wrap_10): New function.
29743
29744 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29745
29746 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29747 MB/MBP model (NV chipset).
29748 (devdata_devs): Add devpath_5 to the list.
29749
29750 * load/i386/efi/linux.c (video_base): Remove variable.
29751 (RGB_MASK): New macro.
29752 (RGB_MAGIC): Likewise.
29753 (LINE_MIN): Likewise.
29754 (LINE_MAX): Likewise.
29755 (FBTEST_STEP): Likewise.
29756 (FBTEST_COUNT): Likewise.
29757 (fb_list): New variable.
29758 (grub_find_video_card): Remove function.
29759 (find_framebuf): New function.
29760 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29761 line length.
29762
29763 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29764 problem for x86_64.
29765
74b21bee 297662009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29767
29768 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29769
29770 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29771 coding tool name.
29772
a455f472 297732009-02-22 Robert Millan <rmh@aybabtu.com>
29774
29775 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29776 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29777 in our relocation, instead of using it directly from heap. Also
29778 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29779
6374daf3 297802009-02-21 Robert Millan <rmh@aybabtu.com>
29781
29782 Implement USB keyboard support (based on patch by Marco Gerards)
29783
29784 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29785 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29786 (usb_keyboard_mod_LDFLAGS): New variables.
29787
29788 * term/usb_keyboard.c: New file.
29789
8fa4ea70 297902009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29791
29792 Corrected wrong declaration
29793
29794 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29795
353976ac 297962009-02-14 Christian Franke <franke@computer.org>
29797
29798 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29799 (grub_lspci_iter): Print class code and programming interface byte.
29800
6aa1169b 298012009-02-14 Christian Franke <franke@computer.org>
29802
29803 * gendistlist.sh: Ignore `.svn' directories.
29804
265372ca 298052009-02-14 Felix Zielcke <fzielcke@z-51.de>
29806
29807 * fs/fat.c: Add 2009 to Copyright line.
29808
9ff516f3 298092009-02-14 Christian Franke <franke@computer.org>
29810
29811 * commands/hdparm.c: New file. Provides `hdparm' command
29812 which sends ATA commands via grub_disk_ata_pass_through ().
29813
29814 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29815
29816 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29817 and <grub/cpu/io.h> to include/grub/ata.h.
29818 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29819 (GRUB_CDROM_SECTOR_SIZE): Remove.
29820 (GRUB_ATA_*): Move to include/grub/ata.h.
29821 (GRUB_ATAPI_*): Likewise.
29822 (enum grub_ata_commands): Likewise.
29823 (enum grub_ata_timeout_milliseconds): Likewise.
29824 (struct grub_ata_device): Likewise.
29825 (grub_ata_regset): Likewise.
29826 (grub_ata_regget): Likewise.
29827 (grub_ata_regset2): Likewise.
29828 (grub_ata_regget2): Likewise.
29829 (grub_ata_check_ready): Likewise.
29830 (grub_ata_wait_not_busy): Remove static, exported in
29831 include/grub/ata.h.
29832 (grub_ata_wait_drq): Likewise.
29833 (grub_ata_pio_read): Likewise.
29834
29835 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29836 function for hdparm.mod.
29837
29838 * include/grub/ata.h: New file, contains declarations from
29839 disk/ata.c.
29840 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29841
29842 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29843 (grub_disk_ata_pass_through): New exported variable.
29844
29845 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29846
772e23da 298472009-02-13 Colin D Bennett <colin@gibibit.com>
29848
29849 Support multiple fallback entries, and provide an API to support
29850 executing default+fallback menu entries. Renamed the `terminal' menu
29851 viewer to `text'.
29852
29853 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29854 variable declaration.
29855 (grub_menu_execute_callback): New structure declaration.
29856 (grub_menu_execute_callback_t): New typedef.
29857 (grub_menu_execute_with_fallback): New function declaration.
29858 (grub_menu_get_entry): Likewise.
29859 (grub_menu_get_timeout): Likewise.
29860 (grub_menu_set_timeout): Likewise.
29861
29862 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29863
29864 * normal/menu.c (grub_wait_after_message): Moved to
29865 `normal/menu_text.c'.
29866 (draw_border): Likewise.
29867 (print_message): Likewise.
29868 (print_entry): Likewise.
29869 (print_entries): Likewise.
29870 (grub_menu_init_page): Likewise.
29871 (get_entry_number): Likewise.
29872 (print_timeout): Likewise.
29873 (run_menu): Likewise.
29874 (grub_menu_execute_entry): Likewise.
29875 (show_text_menu): Likewise.
29876 (get_and_remove_first_entry_number): New function.
29877 (grub_menu_execute_with_fallback): Likewise.
29878 (get_entry): Renamed to ...
29879 (grub_menu_get_entry): .. this and made it global.
29880 (get_timeout): Renamed to ...
29881 (grub_menu_get_timeout): ... this and made it global.
29882 (set_timeout): Renamed to ...
29883 (grub_menu_set_timeout): ... this and made it global.
29884 (grub_normal_terminal_menu_viewer): Renamed to ...
29885 (grub_normal_text_menu_viewer): ... this.
29886
29887 * normal/menu_text.c: New file. Extracted text-menu-specific code
29888 from normal/menu.c.
29889
29890 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29891 (normal_mod_SOURCES): Likewise.
29892
29893 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29894 (normal_mod_SOURCES): Likewise.
29895
29896 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29897 (normal_mod_SOURCES): Likewise.
29898
29899 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29900 (normal_mod_SOURCES): Likewise.
29901
29902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29903 (normal_mod_SOURCES): Likewise.
29904
29905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29906 (normal_mod_SOURCES): Likewise.
29907
29908 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29909 (normal_mod_SOURCES): Likewise.
29910
16ac430e 299112009-02-11 Robert Millan <rmh@aybabtu.com>
29912
29913 * util/grub.d/00_header.in: Update old reference to `font' command.
29914
06ff20fc 299152009-02-10 Felix Zielcke <fzielcke@z-51.de>
29916
29917 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29918
29919 Based on patch from Javier Martín.
29920
96da9407 299212009-02-09 Felix Zielcke <fzielcke@z-51.de>
29922
29923 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29924 to avoid false positives with FAT.
96da9407 29925 (grub_fstest_SOURCES): Likewise.
29926 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29927 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29930 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29931 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29932
6dca6fe4 299332009-02-09 Felix Zielcke <fzielcke@z-51.de>
29934
06ff20fc 29935 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29936 bpb.version_specific.fat12_or_fat16.fstype and
29937 bpb.version_specific.fat32.fstype.
29938
2550c62f 299392009-02-08 Robert Millan <rmh@aybabtu.com>
29940
be110b30 29941 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29942
56978920 299432009-02-08 Robert Millan <rmh@aybabtu.com>
29944
29945 * Makefile.in (host_os, host_cpu): New variables.
29946 (target_os): Remove. Update all users.
29947
d64399b5 299482009-02-08 Marco Gerards <marco@gnu.org>
29949
29950 * Makefile.in (enable_grub_emu_usb): New variable.
29951 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29952 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29953 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29954 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29955 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29956 `usbtest.mod' and `usbms.mod'.
29957 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29958 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29959 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29960 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29961 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29962 variables.
29963
29964 * disk/usbms.c: New file.
29965
29966 * include/grub/usb.h: Likewise.
29967
29968 * include/grub/usbtrans.h: Likewise.
29969
29970 * include/grub/usbdesc.h: Likewise.
29971
29972 * bus/usb/usbtrans.c: Likewise.
29973
29974 * bus/usb/ohci.c: Likewise.
29975
29976 * bus/usb/uhci.c: Likewise.
29977
29978 * bus/usb/usbhub.c: Likewise.
29979
29980 * bus/usb/usb.c: Likewise.
29981
29982 * commands/usbtest.c: Likewise.
29983
29984 * util/usb.c: Likewise.
50fb7002 29985
d64399b5 29986 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29987
29988 * configure.ac: Test for libusb presence.
50fb7002 29989
d64399b5 29990 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29991
2b40d6bb 299922009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29993
29994 * kern/mm.c: Add more comments.
29995
73a4ce81 299962009-02-08 Robert Millan <rmh@aybabtu.com>
29997
29998 Patch from Javier Martín.
29999 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30000 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30001
f821ce59 300022009-02-08 Robert Millan <rmh@aybabtu.com>
30003
30004 * fs/cpio.c: Split tar functionality to ...
30005 * fs/tar.c: ... here (new file). Update all users.
30006
aebfc4b0 300072009-02-07 Robert Millan <rmh@aybabtu.com>
30008
30009 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30010 backward-incompatible features.
30011
30012 Based on patch from Javier Martín, with some adjustments.
30013
50fb7002 300142009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30015
30016 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30017
0bb5115e 300182009-02-07 Robert Millan <rmh@aybabtu.com>
30019
30020 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30021 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30022 after the RAID stuff.
30023
38a0f8e7 300242009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30025
50fb7002 30026 Fixes problem when running vbetest command as reported by
38a0f8e7 30027 Vladimir Serbinenko <phcoder@gmail.com>.
30028
30029 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30030
3143cc1c 300312009-02-04 Felix Zielcke <fzielcke@z-51.de>
30032
30033 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30034 /dev/md/NpN style mdraid devices.
30035
9cba6fce 300362009-02-03 Felix Zielcke <fzielcke@z-51.de>
30037
30038 * util/unifont2pff.rb: Remove.
30039
e507a2c1 300402009-02-03 Felix Zielcke <fzielcke@z-51.de>
30041
30042 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30043 `#'.
30044
d2c2b4cd 300452009-02-03 Felix Zielcke <fzielcke@z-51.de>
30046
30047 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30048 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30049 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30050 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30052 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30053 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30054
b4315fb0 300552009-02-02 Christian Franke <franke@computer.org>
30056
30057 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30058
de3aa260 300592009-02-01 Felix Zielcke <fzielcke@z-51.de>
30060
7c3ff286 30061 * INSTALL: Note that we now require at least autoconf 2.59 and
30062 that LZO is optional.
de3aa260 30063
825a182b 300642009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30065
30066 Base on patch on bug #24154 created by Tomas Tintera
30067 <trosos@seznam.cz>.
30068
30069 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30070
a69ef770 300712009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30072
7c3ff286 30073 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30074 <bero@arklinux.org>.
30075
30076 * normal/parser.y (script_init): Add missing semicolon.
30077
6fa42fa6 300782009-01-31 Colin D Bennett <colin@gibibit.com>
30079
7c3ff286 30080 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30081 (free_menu_entry_classes): Added.
30082 (grub_normal_menu_addentry): Added class property handling.
30083 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30084 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30085
30086 * normal/menu_viewer.c: New file.
30087
30088 * normal/menu.c (run_menu_entry): Renamed to ...
30089 (grub_menu_execute_entry): ... this and made it as global.
30090 (grub_menu_run): Renamed to ...
30091 (show_text_menu): ... this and made it local.
30092 (show_text_menu): Adapt to new function names.
30093 (grub_normal_terminal_menu_viewer): New global variable.
30094
30095 * include/grub/menu.h: New file.
30096
30097 * include/grub/menu_viewer.h: New file.
30098
30099 * include/grub/normal.h: Added include to grub/menu.h.
30100 (grub_menu_entry): Moved to include/grub/menu.h.
30101 (grub_menu_entry_t): Likewise.
30102 (grub_menu): Likewise.
30103 (grub_menu_t): Likewise.
30104 (grub_normal_terminal_menu_viewer): Added.
30105 (grub_menu_execute_entry): Likewise.
30106 (grub_menu_run): Removed.
30107
30108 * DISTLIST: Added include/grub/menu.h.
30109 Added include/grub/menu_viewer.h.
30110 Added normal/menu_viewer.c.
30111
301122009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30113
30114 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30115 arglist for menutitle arguments.
30116
30117 * normal/main.c (grub_normal_menu_addentry): Likewise.
30118
30119 * normal/parser.y (menuentry): Likewise.
30120
30121 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30122
30123 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30124 (grub_script_create_cmdmenu): Likewise.
30125
30126 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30127
30128 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30129 changes.
30130
30131 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30132
30133 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30134
30135 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30136
30137 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30138
30139 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30140
30141 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30142
56192c23 301432009-01-30 Christian Franke <franke@computer.org>
30144
30145 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30146 in option help text.
30147
d72521b3 301482009-01-27 Pavel Roskin <proski@gnu.org>
30149
30150 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30151
994b5e84 301522009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30153
30154 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30155
30156 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30157
30158 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30159 unregister function.
30160
6a7eab2c 301612009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30162
30163 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30164
30165 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30166
30167 * util/grub-mkfont.c (usage): Fix typo.
30168
30169 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30170
1806b56e 301712009-01-26 Daniel Mierswa <impulze@impulze.org>
30172
3fb18f09 30173 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30174
336e1fb9 30175 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30176
1806b56e 30177 * kern/misc.c (grub_strcasecmp): New function.
30178 (grub_strcasecmp): Use grub_size_t instead of int for length.
30179 Fix return value.
30180 * include/grub/misc.h: Update function prototypes.
30181
580b2a0f 301822009-01-26 Robert Millan <rmh@aybabtu.com>
30183
30184 * configure.ac: Fix cross-compilation check.
ef257b36 30185
d31c24f1 301862009-01-22 Christian Franke <franke@computer.org>
30187
30188 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30189 (precision) digit string. Allow `.format2' without `format1' (width).
30190 Limit input chars for `%s' output to `format2' if specified. This is
30191 compatible with standard printf ().
30192
3138b44c 301932009-01-22 Christian Franke <franke@computer.org>
30194
30195 * disk/ata.c (grub_ata_wait_status): Replace by ...
30196 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30197 other status bits may be invalid while BSY is asserted.
30198 (grub_ata_check_ready): New function.
30199 (grub_ata_cmd): Removed.
30200 (grub_ata_wait_drq): New function.
30201 (grub_ata_strncpy): Remove inline.
30202 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30203 and error check now done by grub_ata_wait_drq ().
30204 (grub_ata_pio_write): Likewise.
30205 (grub_atapi_identify): Set DEV before check for !BSY. Use
30206 grub_ata_wait_drq () to wait for data.
30207 (grub_ata_device_initialize): Add status register check to
30208 detect missing SATA slave devices. Add debug messages.
30209 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30210 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30211 transfer loop by grub_ata_pio_write ().
30212 (grub_ata_identify): Set DEV before check for !BSY. Use
30213 grub_ata_wait_drq () to wait for data.
ef257b36 30214 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30215 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30216 read/write in one loop. Fix invalid command on write. Fix incomplete
30217 command on (size % batch) == 0. Add missing error check after write of
30218 last block. Add debug messages.
30219 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30220
59a64ef6 302212009-01-19 Christian Franke <franke@computer.org>
30222
30223 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30224 (GRUB_ATAPI_IREASON_*): Likewise.
30225 (grub_ata_pio_write): Fix timeout error return.
30226 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30227 (grub_atapi_wait_drq): New function.
30228 (grub_atapi_packet): New parameter `size'.
30229 Use grub_atapi_wait_drq () and direct write instead of
30230 grub_ata_pio_write ().
30231 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30232 reads the number of bytes requested by the device for each DRQ
30233 assertion.
30234 (grub_atapi_write): Remove old implementation, return not
30235 implemented instead.
30236
1cfe20b3 302372009-01-19 Christian Franke <franke@computer.org>
30238
30239 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30240 of 512 to calculate data size.
30241 (grub_scsi_read12): Likewise.
30242 (grub_scsi_write10): Likewise.
30243 (grub_scsi_write12): Likewise.
30244 (grub_scsi_read): Adjust size according to blocksize.
30245 Add checks for invalid blocksize and unaligned transfer.
30246
bee5fe5d 302472009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30248
30249 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30250
ef257b36 30251 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30252 width glyphs.
30253
3e643f8c 302542009-01-19 Robert Millan <rmh@aybabtu.com>
30255
30256 * config.guess: Update to latest version from config git.
30257 * config.sub: Likewise.
30258
4fa80998 302592009-01-17 Felix Zielcke <fzielcke@z-51.de>
30260
30261 * Makefile.in: Change font compilation to use new grub-mkfont instead
30262 of java version.
30263
30264 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30265 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30266 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30267 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30268 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30269 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30270 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30271 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30272 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30273
7086085b 302742009-01-16 Christian Franke <franke@computer.org>
30275
30276 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30277 (enum grub_ata_timeout_milliseconds): New enum.
30278 (grub_ata_wait_status): Add parameter milliseconds.
30279 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30280 recovery from timed-out commands.
30281 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30282 return grub_errno instead of REG_ERROR.
30283 (grub_ata_pio_write): Add parameter milliseconds.
30284 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30285 Pass milliseconds to grub_ata_wait_status () and
30286 grub_ata_pio_read ().
30287 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30288 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30289 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30290 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30291 It is not suitable for device detection, because DEV bit is ignored,
30292 the command may run too long, and not all devices set the signature
30293 properly.
30294 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30295 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30296 Fix device selection, DEV bit must be set first to address the registers
30297 of the correct device.
30298 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30299 grub_ata_pio_read/write ().
30300 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30301 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30302
4a412913 303032009-01-13 Carles Pina i Estany <carles@pina.cat>
30304
30305 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30306
7795c55e 303072009-01-13 Bean <bean123ch@gmail.com>
d913988c 30308
30309 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30310
7795c55e 303112009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30312
30313 * Makefile.in: (enable_grub_mkfont): New variable.
30314 (freetype_cflags): Likewise.
30315 (freetype_libs): Likewise.
30316
30317 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30318 (grub_mkfont_SOURCES): New variable.
30319 (grub_mkfont_CFLAGS): Likewise.
30320 (grub_mkfont_LDFLAGS): Likewise.
30321
30322 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30323 library if `--enable-grub-mkfont' is requested.
30324 (enable_grub_mkfont): New variable.
30325 (freetype_cflags): Likewise.
30326 (freetype_libs): Likewise.
30327
30328 * util/grub-mkfont.c: New file.
30329
093af1fe 303302009-01-12 Christian Franke <franke@computer.org>
30331
30332 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30333 mode check. Fix setting of compat_use[].
30334
f36cc108 303352009-01-10 Robert Millan <rmh@aybabtu.com>
30336
30337 Update a few copyright years which we forgot to do in 2008 (only for
30338 files whose changes made in 2008 were copyright-significant)
30339
30340 * Makefile.in: Add 2008 to Copyright line.
30341 * disk/ieee1275/ofdisk.c: Likewise.
30342 * disk/efi/efidisk.c: Likewise.
30343 * kern/dl.c: Likewise.
30344 * kern/sparc64/ieee1275/init.c: Likewise.
30345 * kern/mm.c: Likewise.
30346 * kern/efi/mm.c: Likewise.
30347 * boot/i386/pc/boot.S: Likewise.
30348 * genfslist.sh: Likewise.
30349 * fs/iso9660.c: Likewise.
30350 * fs/hfs.c: Likewise.
30351 * fs/jfs.c: Likewise.
30352 * fs/minix.c: Likewise.
30353 * fs/ufs.c: Likewise.
30354 * gensymlist.sh.in: Likewise.
30355 * genkernsyms.sh.in: Likewise.
30356 * include/grub/misc.h: Likewise.
30357 * include/grub/types.h: Likewise.
30358 * include/grub/symbol.h: Likewise.
30359 * include/grub/elf.h: Likewise.
30360 * include/grub/kernel.h: Likewise.
30361 * include/grub/disk.h: Likewise.
30362 * include/grub/dl.h: Likewise.
30363 * include/grub/i386/linux.h: Likewise.
30364 * include/grub/i386/pc/biosdisk.h: Likewise.
30365 * include/grub/efi/api.h: Likewise.
30366 * include/grub/efi/pe32.h: Likewise.
30367 * include/grub/util/misc.h: Likewise.
30368 * normal/execute.c: Likewise.
30369 * normal/arg.c: Likewise.
30370 * normal/completion.c: Likewise.
30371 * normal/lexer.c: Likewise.
30372 * normal/parser.y: Likewise.
30373 * normal/misc.c: Likewise.
30374 * commands/i386/pc/vbeinfo.c: Likewise.
30375 * commands/hexdump.c: Likewise.
30376 * commands/terminal.c: Likewise.
30377 * commands/ls.c: Likewise.
30378 * commands/help.c: Likewise.
30379 * partmap/pc.c: Likewise.
30380 * loader/efi/chainloader.c: Likewise.
30381 * loader/multiboot_loader.c: Likewise.
30382 * loader/i386/pc/multiboot2.c: Likewise.
30383 * term/efi/console.c: Likewise.
30384 * term/i386/pc/serial.c: Likewise.
30385 * util/lvm.c: Likewise.
30386 * util/console.c: Likewise.
30387 * util/i386/efi/grub-mkimage.c: Likewise.
30388 * util/raid.c: Likewise.
30389
7f02114b 303902009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30391
30392 * commands/videotest.c: Removed include to grub/machine/memory.h.
30393
30394 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30395 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30396 (video_mod_SOURCES): Removed.
30397 (video_mod_CFLAGS): Likewise.
30398 (video_mod_LDFLAGS): Likewise.
30399 (gfxterm_mod_SOURCES): Likewise.
30400 (gfxterm_mod_CFLAGS): Likewise.
30401 (gfxterm_mod_LDFLAGS): Likewise.
30402 (videotest_mod_SOURCES): Likewise.
30403 (videotest_mod_CFLAGS): Likewise.
30404 (videotest_mod_LDFLAGS): Likewise.
30405 (bitmap_mod_SOURCES): Likewise.
30406 (bitmap_mod_CFLAGS): Likewise.
30407 (bitmap_mod_LDFLAGS): Likewise.
30408 (tga_mod_SOURCES): Likewise.
30409 (tga_mod_CFLAGS): Likewise.
30410 (tga_mod_LDFLAGS): Likewise.
30411 (jpeg_mod_SOURCES): Likewise.
30412 (jpeg_mod_CFLAGS): Likewise.
30413 (jpeg_mod_LDFLAGS): Likewise.
30414 (png_mod_SOURCES): Likewise.
30415 (png_mod_CFLAGS): Likewise.
30416 (png_mod_LDFLAGS): Likewise.
30417
30418 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30419 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30420 (video_mod_SOURCES): Added.
30421 (video_mod_CFLAGS): Likewise.
30422 (video_mod_LDFLAGS): Likewise.
30423 (videotest_mod_SOURCES): Likewise.
30424 (videotest_mod_CFLAGS): Likewise.
30425 (videotest_mod_LDFLAGS): Likewise.
30426 (bitmap_mod_SOURCES): Likewise.
30427 (bitmap_mod_CFLAGS): Likewise.
30428 (bitmap_mod_LDFLAGS): Likewise.
30429 (tga_mod_SOURCES): Likewise.
30430 (tga_mod_CFLAGS): Likewise.
30431 (tga_mod_LDFLAGS): Likewise.
30432 (jpeg_mod_SOURCES): Likewise.
30433 (jpeg_mod_CFLAGS): Likewise.
30434 (jpeg_mod_LDFLAGS): Likewise.
30435 (png_mod_SOURCES): Likewise.
30436 (png_mod_CFLAGS): Likewise.
30437 (png_mod_LDFLAGS): Likewise.
30438 (gfxterm_mod_SOURCES): Likewise.
30439 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30440 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30441
30442 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30443 grub/machine/console.h.
30444
644fff97 304452009-01-04 Jerone Young <jerone@gmail.com>
30446
30447 Make on screen instructions clearer
30448
30449 Based on patch created by Jidanni <jidanni@jidanni.org>
30450
30451 * normal/menu.c: print clearer instructions on the screen
30452
1e901a75 304532009-01-02 Colin D Bennett <colin@gibibit.com>
30454
30455 New font engine.
34c44600 30456
1e901a75 30457 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30458 build system and fixed gfxterm.c to work with different sized fonts.
30459
30460 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30461
1e901a75 30462 * configure: Re-generated.
34c44600 30463
1e901a75 30464 * DISTLIST: Removed font/manager.c.
30465 Added font/font.c.
30466 Added font/font_cmd.c.
34c44600 30467
1e901a75 30468 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30469 compilation.
34c44600 30470
1e901a75 30471 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30472
30473 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30474
30475 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30476
1e901a75 30477 * normal/menu.c: Likewise.
34c44600 30478
1e901a75 30479 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30480 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30481
1e901a75 30482 * include/grub/font.h: Replaced with new file.
34c44600 30483
1e901a75 30484 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30485 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30486 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30487 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30488 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30489 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30490 fg_red, fg_green, fg_blue, fg_alpha.
30491 (grub_video_adapter): Removed blit_glyph.
34c44600 30492 (grub_video_blit_glyph): Removed.
30493
1e901a75 30494 * font/manager.c: Removed file.
34c44600 30495
30496 * font/font.c: New file.
30497
1e901a75 30498 * font/font_cmd.c: Likewise.
34c44600 30499
1e901a75 30500 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30501
1e901a75 30502 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30503 (grub_video_vbe_map_rgba): Likewise.
30504 (grub_video_vbe_unmap_color_int): Likewise.
30505 (grub_video_vbe_blit_glyph): Removed.
30506 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30507
1e901a75 30508 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30509 (get_pixel): Likewise.
34c44600 30510 (set_pixel): Likewise.
30511
1e901a75 30512 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30513
1e901a75 30514 * term/gfxterm.c: Adapted to new font engine.
34c44600 30515
1e901a75 30516 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30517
1e901a75 30518 * term/i386/pc/vga.c: Likewise.
34c44600 30519
1e901a75 30520 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30521
1e901a75 30522 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30523
1e901a75 30524 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30525
1e901a75 30526 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30527
1e901a75 30528 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30529
1e901a75 30530 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30531
1e901a75 30532 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30533
1e901a75 30534 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30535
1e901a75 30536 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30537
30538 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30539
1e901a75 30540 * util/grub-mkconfig_lib.in: Changed font extension.
30541
278922e8 305422008-12-28 Felix Zielcke <fzielcke@z-51.de>
30543
30544 * util/getroot.c (grub_util_get_grub_dev): Add support for
30545 /dev/md/dNNpNN style partitionable mdraid devices.
30546
3ced05cf 305472008-12-12 Alex Smith <alex@alex-smith.me.uk>
30548
30549 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30550 at a time limit of the PXE TFTP API correctly.
30551 (grub_pxefs_close): Likewise.
30552
7fd0ee30 305532008-11-29 Robert Millan <rmh@aybabtu.com>
30554
34c44600 30555 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30556 grub_ata_device_initialize() calls.
30557
34c44600 305582008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30559
30560 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30561 iteration failed.
30562 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30563
89313780 305642008-11-28 Robert Millan <rmh@aybabtu.com>
30565
30566 Fix build on powerpc-ieee1275. Based on patch created by
30567 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30568 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30569 `kern/ieee1275/mmap.c'.
30570 * include/grub/powerpc/ieee1275/memory.h: New file.
30571
15257703 30572 Provide grub-install on coreboot.
30573 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30574 (grub_install_SOURCES): New variable.
30575 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30576 usable on coreboot.
30577
9fc5388a 305782008-11-25 Felix Zielcke <fzielcke@z-51.de>
30579
30580 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30581 to `grub_term_input_t'.
30582 (grub_term_get_current_output): Change return type to
30583 `grub_term_output_t'.
30584
bc3a2f31 305852008-11-22 Robert Millan <rmh@aybabtu.com>
30586
34c44600 30587 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30588 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30589 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30590 grub_vga_text_cls().
30591
80fc88f2 30592 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30593 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30594
cbf36fd3 30595 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30596 to 0x200000 (avoids trouble with some OFW implementations, and matches
30597 with the one in Yaboot).
30598 Reported by Manoel Abranches
30599
73e8e268 306002008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30601
30602 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30603 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30604
73e8e268 30605 * util/grub-mkconfig_lib.in (grub_warn): New function.
30606 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30607 warnings, to obtain consistent formatting.
30608 * util/grub.d/00_header.in: Likewise.
30609 * util/update-grub_lib.in: Likewise.
30610
e94045a1 30611 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30612 Move comment text to `#error' stanza.
e94045a1 30613
79d29fd7 30614 Harmonize ieee1275's grub_available_iterate() with the generic
30615 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30616 build problem on i386-ieee1275):
30617 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30618 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30619 parameter `type'. Update all users of this function.
30620 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30621 `kern/ieee1275/mmap.c'.
30622 * kern/ieee1275/init.c
30623 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30624 with ...
30625 (grub_machine_mmap_iterate): ... this.
30626 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30627 return type to `grub_err_t'. Update all implementations of this
30628 function prototype.
30629 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30630 Likewise.
30631
60d6b16e 30632 Add `lsmmap' command (lists firmware-provided memory map):
30633 * commands/lsmmap.c: New file.
30634 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30635 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30636 variables.
30637 * conf/powerpc-ieee1275.rmk: Likewise.
30638 * conf/i386-coreboot.rmk: Likewise.
30639 * conf/i386-ieee1275.rmk: Likewise.
30640
ebaaf49b 306412008-11-19 Robert Millan <rmh@aybabtu.com>
30642
30643 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30644 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30645 constraints to initrd allocation (based on code from
30646 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30647 for Linux to find it.
ebaaf49b 30648
dfab719f 306492008-11-14 Robert Millan <rmh@aybabtu.com>
30650
30651 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30652 order to cope with duplicate slashes.
30653
10fc3eb9 306542008-11-14 Robert Millan <rmh@aybabtu.com>
30655
30656 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30657 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30658 don't want to mess with lower memory, because it is used in the Linux
30659 loader.
30660
30661 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30662 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30663 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30664 is in our heap (probably as a result of it being corrupted during
2f2a3442 30665 decompression). Add #error instance with comment to explain why this
30666 loader isn't currently usable on PC/BIOS.
10fc3eb9 30667
e2e07847 306682008-11-14 Robert Millan <rmh@aybabtu.com>
30669
30670 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30671 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30672
fe8e8d69 306732008-11-12 Robert Millan <rmh@aybabtu.com>
30674
30675 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30676
30677 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30678 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30679 from here ...
30680 * include/grub/i386/pc/memory.h: ... to here.
30681
976b07d0 306822008-11-12 Robert Millan <rmh@aybabtu.com>
30683
30684 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30685 split).
30686
30687 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30688 (grub_console_cur_color, grub_console_real_putchar)
30689 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30690 (grub_console_setcolorstate, grub_console_setcolor)
30691 (grub_console_getcolor): Move from here ...
30692 * include/grub/i386/vga_common.h: ... to here (new file).
30693
30694 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30695 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30696 `<grub/i386/io.h>'.
30697 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30698 `<grub/i386/vga_common.h>'.
30699
76679cd3 307002008-11-12 Robert Millan <rmh@aybabtu.com>
30701
30702 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30703 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30704 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30705 variables.
30706 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30707 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30708
30709 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30710 grub_console_init() with call to grub_vga_text_init().
30711 (grub_machine_fini): Replace call to
30712 grub_console_fini() with call to grub_vga_text_fini() and
30713 grub_at_keyboard_fini().
30714
30715 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30716 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30717 (grub_console_setcolorstate, grub_console_setcolor)
30718 (grub_console_getcolor): New function prototypes.
30719
30720 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30721 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30722 (grub_vga_text_setcursor): Static-ize.
30723 (grub_vga_text_term): New structure.
30724 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30725
30726 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30727 (grub_console_cur_color, grub_console_standard_color)
30728 (grub_console_normal_color, grub_console_highlight_color)
30729 (map_char, grub_console_putchar, grub_console_getcharwidth)
30730 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30731 (grub_console_getcolor): Move from here ...
30732 * term/i386/vga_common.c: ... to here (same function names).
30733
95b841d3 307342008-11-12 Robert Millan <rmh@aybabtu.com>
30735
30736 Use newly-added Multiboot support in coreboot.
30737
30738 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30739 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30740
30741 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30742 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30743 (codestart): Store the MBI in `startup_multiboot_info' when we're
30744 being loaded using Multiboot.
30745
30746 * kern/i386/coreboot/init.c (grub_machine_init): Move
30747 grub_at_keyboard_init() call to beginning of function (useful for
30748 debugging). Call grub_machine_mmap_init() before attempting to use
30749 grub_machine_mmap_iterate().
30750 (grub_lower_mem, grub_upper_mem): Move from here ...
30751 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30752 here (new file).
30753
30754 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30755 function prototype.
30756
761ca975 307572008-11-12 Robert Millan <rmh@aybabtu.com>
30758
30759 Fix a regression introduced by the at_keyboard.mod split. Because
30760 some terminals are default on some platforms and non-default on
30761 others, the first terminal being registered determines which is
30762 going to be default.
30763
30764 * kern/term.c (grub_term_register_input): If this is the first
30765 terminal being registered, set it as the current one.
30766 (grub_term_register_output): Likewise.
30767
30768 * term/efi/console.c (grub_console_init): Do not call
30769 grub_term_set_current_output() or grub_term_set_current_input().
30770 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30771 * term/i386/pc/console.c (grub_console_init): Likewise.
30772 (grub_console_fini): Do not call grub_term_set_current_input()
30773 (but leave grub_term_set_current_output() to restore text mode).
30774
6c529df7 307752008-11-10 Robert Millan <rmh@aybabtu.com>
30776
30777 * util/grub.d/00_header.in: Add backward compatibility check for
30778 versions of terminal.mod that don't understand `terminal_input' or
30779 `terminal_output'.
30780
132e4113 307812008-11-09 Robert Millan <rmh@aybabtu.com>
30782
30783 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30784 `terminal_input' / `terminal_output', not `terminal'.
30785
ac293d50 307862008-11-08 Robert Millan <rmh@aybabtu.com>
30787
30788 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30789 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30790
0025933a 307912008-11-08 Robert Millan <rmh@aybabtu.com>
30792
30793 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30794 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30795 members. Update all users.
30796 * util/console.c (grub_ncurses_term): Split in ...
30797 (grub_ncurses_term_input): ... this, and ...
30798 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30799 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30800
37c86336 308012008-11-08 Robert Millan <rmh@aybabtu.com>
30802
30803 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30804 (PKGDATA): Add $(pkgdata_SRCDIR).
30805 (pkglib_BUILDDIR): New variable.
30806 (pkgdata_SRCDIR): New variable.
30807 (build_env.mk): New target.
30808 (include_DATA): New variable.
30809 (install-local): Install $(include_DATA) files in $(includedir).
30810
b6c15a2d 308112008-11-07 Pavel Roskin <proski@gnu.org>
30812
d99d46f1 30813 * gendistlist.sh: Use C locale for sorting to ensure consistent
30814 output on all systems.
30815
b6c15a2d 30816 * util/grub.d/00_header.in: Remove incorrect space before
30817 "serial".
30818
c32ee8c9 308192008-11-07 Robert Millan <rmh@aybabtu.com>
30820
30821 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30822 per specification.
30823 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30824 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30825 (based on find_multi_boot1_header).
30826 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30827 using find_multi_boot2_header(), and abort if neither Multiboot or
30828 Multiboot headers were found.
30829
651c29b7 308302008-11-07 Robert Millan <rmh@aybabtu.com>
30831
30832 Modularize at_keyboard.mod:
30833
30834 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30835 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30836 (at_keyboard_mod_LDFLAGS): New variables.
30837
30838 Actual terminal split:
30839
30840 * include/grub/term.h (struct grub_term): Split in ...
30841 (struct grub_term_input): ... this, and ...
30842 (struct grub_term_output): ... this. Update all users.
30843 (grub_term_set_current): Split in ...
30844 (grub_term_set_current_input): ... this, and ...
30845 (grub_term_set_current_output): ... this.
30846 (grub_term_get_current): Split in ...
30847 (grub_term_get_current_input): ... this, and ...
30848 (grub_term_get_current_output): ... this.
30849 (grub_term_register): Split in ...
30850 (grub_term_register_input): ... this, and ...
30851 (grub_term_register_output): ... this.
30852 (grub_term_unregister): Split in ...
30853 (grub_term_unregister_input): ... this, and ...
30854 (grub_term_unregister_output): ... this.
30855 (grub_term_iterate): Split in ...
30856 (grub_term_iterate_input): ... this, and ...
30857 (grub_term_iterate_output): ... this.
30858
30859 * kern/term.c (grub_term_list): Split in ...
30860 (grub_term_list_input): ... this, and ...
30861 (grub_term_list_output): ... this. Update all users.
30862 (grub_cur_term): Split in ...
30863 (grub_cur_term_input): ... this, and ...
30864 (grub_cur_term_output): ... this. Update all users.
30865 (grub_term_set_current): Split in ...
30866 (grub_term_set_current_input): ... this, and ...
30867 (grub_term_set_current_output): ... this.
30868 (grub_term_get_current): Split in ...
30869 (grub_term_get_current_input): ... this, and ...
30870 (grub_term_get_current_output): ... this.
30871 (grub_term_register): Split in ...
30872 (grub_term_register_input): ... this, and ...
30873 (grub_term_register_output): ... this.
30874 (grub_term_unregister): Split in ...
30875 (grub_term_unregister_input): ... this, and ...
30876 (grub_term_unregister_output): ... this.
30877 (grub_term_iterate): Split in ...
30878 (grub_term_iterate_input): ... this, and ...
30879 (grub_term_iterate_output): ... this.
30880
30881 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30882 a check for input and one for output (and only attempt to get keys
30883 from user when input works).
30884
30885 * util/grub-probe.c (grub_term_get_current): Split in ...
30886 (grub_term_get_current_input): ... this, and ...
30887 (grub_term_get_current_output): ... this.
30888 * util/grub-fstest.c: Likewise.
30889 * util/i386/pc/grub-setup.c: Likewise.
30890 * util/grub-editenv.c: Likewise.
30891
30892 Portability adjustments:
30893
30894 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30895 `term/i386/pc/at_keyboard.c'.
30896 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30897 grub_keyboard_controller_init() (now handled by terminal .init).
30898 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30899 grub_at_keyboard_init().
30900 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30901 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30902 at_keyboard.mod via input terminal interface).
30903 * include/grub/i386/coreboot/console.h: Convert into a stub for
30904 `<grub/i386/pc/console.h>'.
30905
30906 Migrate full terminals to new API:
30907
30908 * term/efi/console.c (grub_console_term): Split into ...
30909 (grub_console_term_input): ... this, and ...
30910 (grub_console_term_output): ... this. Update all users.
30911 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30912 (grub_ofconsole_init): Split into ...
30913 (grub_ofconsole_init_input): ... this, and ...
30914 (grub_ofconsole_init_output): ... this.
30915 (grub_ofconsole_term): Split into ...
30916 (grub_ofconsole_term_input): ... this, and ...
30917 (grub_ofconsole_term_output): ... this. Update all users.
30918 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30919 (grub_serial_term_input): ... this, and ...
30920 (grub_serial_term_output): ... this. Update all users.
30921 * term/i386/pc/console.c (grub_console_term): Split into ...
30922 (grub_console_term_input): ... this, and ...
30923 (grub_console_term_output): ... this. Update all users.
30924 (grub_console_term_input): Only enable it on PC/BIOS platform.
30925 (grub_console_init): Remove grub_keyboard_controller_init() call.
30926
30927 Migrate input terminals to new API:
30928
30929 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30930 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30931 i386-specific anyway).
30932 (grub_console_checkkey): Rename to ...
30933 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30934 users.
30935 (grub_keyboard_controller_orig): New variable.
30936 (grub_console_getkey): Rename to ...
30937 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30938 users.
30939 (grub_keyboard_controller_init): Static-ize. Save original
30940 controller value so that it can be restored ...
30941 (grub_keyboard_controller_fini): ... here (new function).
30942 (grub_at_keyboard_term): New structure.
30943 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30944 functions.
30945
30946 Migrate output terminals to new API:
30947
30948 * term/i386/pc/vga.c (grub_vga_term): Change type to
30949 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30950 members. Update all users.
30951 * term/gfxterm.c (grub_video_term): Change type to
30952 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30953 members. Update all users.
30954 * include/grub/i386/pc/console.h (grub_console_checkkey)
30955 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30956 etc).
30957
30958 Migrate `terminal' command and userland tools to new API:
30959
30960 * commands/terminal.c (grub_cmd_terminal): Split into ...
30961 (grub_cmd_terminal_input): ... this, and ...
30962 (grub_cmd_terminal_output): ... this.
30963 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30964 `terminal_input' and `terminal_output'.
30965 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30966 `terminal_input' / `terminal_output' API.
30967 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30968 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30969 provided ${GRUB_TERMINAL}, convert it).
30970
96e5d876 309712008-11-04 Robert Millan <rmh@aybabtu.com>
30972
30973 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30974 for FreeBSD.
30975 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30976
556f3775 309772008-11-03 Bean <bean123ch@gmail.com>
30978
30979 * kern/elf.c (grub_elf32_load): Revert to previous code.
30980 (grub_elf64_load): Likewise.
30981
30982 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30983
926b9823 309842008-11-01 Robert Millan <rmh@aybabtu.com>
30985
30986 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30987 (TARGET_CPPFLAGS): Likewise.
30988 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30989
1432e958 309902008-11-01 Carles Pina i Estany <carles@pina.cat>
30991
30992 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30993
dba3f844 309942008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30995
30996 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30997 addition of objects until the code is not going to be able to fail.
30998
dba3f844 309992008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31000
31001 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31002 (add a missing NULL check, and correct them by moving the pointer
31003 operations after the actual check).
31004
7ab28c21 310052008-10-29 Robert Millan <rmh@aybabtu.com>
31006
31007 * util/i386/pc/grub-install.in: Handle empty string as output from
31008 make_system_path_relative_to_its_root().
31009
1b7748eb 310102008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31011
31012 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31013 circular metadata worst case scenario. If the metadata is circular
31014 then copy the wrap in place.
31015 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31016 project lib/format_text/layout.h
31017 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31018
c9618ab2 310192008-10-03 Felix Zielcke <fzielcke@z-51.de>
31020
7a36edca 31021 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31022
bf981c62 310232008-10-03 Felix Zielcke <fzielcke@z-51.de>
31024
31025 * util/update-grub_lib.in: Mention filename in warning message.
31026
6d994591 310272008-09-29 Felix Zielcke <fzielcke@z-51.de>
31028
31029 * NEWS: Update for rename of update-grub to grub-mkconfig.
31030
18ade780 310312008-09-29 Felix Zielcke <fzielcke@z-51.de>
31032
31033 * util/update-grub_lib.in: Copy to ...
31034 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31035 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31036 * util/update-grub.in: Rename to ...
31037 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31038 option. Add `--output' option to allow users to specify the generated
31039 configuration file. Default to stdout.
31040 (update_grub_dir): Rename to ...
31041 (grub_mkconfig_dir): ... this.
31042 (grub_cfg): Default to an empty string.
31043 * conf/common.rmk (update-grub): Rename to ...
31044 (grub-mkconfig): ... this.
31045 (update-grub_lib): Copy to ...
31046 (grub-mkconfig_lib): ... this.
31047 (update-grub_SCRIPTS): Copy to ...
31048 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31049 (update-grub_DATA): Rename to ...
31050 (grub-mkconfig_DATA): ... this.
31051
556ce6ac 310522008-09-28 Robert Millan <rmh@aybabtu.com>
31053
31054 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31055 to `modified'. Add the real `created' field.
31056 (grub_iso9660_uuid): Use `modified' rather than `created' for
31057 constructing the UUID.
31058
310592008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31060
31061 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31062 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31063
92274e85 310642008-09-28 Bean <bean123ch@gmail.com>
31065
31066 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31067 Thanks to Christian Franke for finding this bug.
31068
add6f17a 310692008-09-25 Robert Millan <rmh@aybabtu.com>
31070
31071 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31072 instances of grub_util_get_disk_name() (see previous commit).
31073
d2a367b8 310742008-09-25 Robert Millan <rmh@aybabtu.com>
31075
31076 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31077 `util/i386/get_disk_name.c'.
31078 * conf/i386-efi.rmk: Likewise.
31079 * conf/x86_64-efi.rmk: Likewise.
31080 * conf/i386-coreboot.rmk: Likewise.
31081 * conf/i386-ieee1275.rmk: Likewise.
31082 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31083 `util/ieee1275/get_disk_name.c'.
31084 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31085 * util/ieee1275/get_disk_name.c: Remove file.
31086 * util/i386/get_disk_name.c: Remove file.
31087 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31088 "hd%d" for device.map entries, rather than using
31089 grub_util_get_disk_name().
31090
81a06771 310912008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31092
31093 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31094 warning.
31095 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31096
5a004279 310972008-09-24 Carles Pina i Estany <carles@pina.cat>
31098
31099 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31100 Changed to 0x5100.
31101 (GRUB_TERM_PPAGE): Changed to 0x4900.
31102
397093d3 311032008-09-24 Robert Millan <rmh@aybabtu.com>
31104
31105 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31106 macros (they were i386-pc specific).
31107 * include/grub/sparc64/ieee1275/console.h: Likewise.
31108 * include/grub/efi/console.h: Likewise.
31109
a91b6c7c 311102008-09-22 Bean <bean123ch@gmail.com>
31111
31112 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31113 resident and in attribute list.
31114
31115 * include/grub/ntfs.h (BMP_LEN): Removed.
31116
c40fd116 311172008-09-22 Bean <bean123ch@gmail.com>
31118
81a06771 31119 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31120 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31121
31122 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31123 error occurs, as grub_disk_open will call grub_disk_close, which will
31124 call p->close (scsi).
31125
81a06771 311262008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31127
31128 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31129 (AC_PREREQ): Bumped to 2.59.
31130 (AC_TRY_COMPILE): Replace obsolete macro with ...
31131 (AC_COMPILE_IFELSE): ... this.
31132 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31133 (AC_LINK_IFELSE): ... this.
31134
5dc43410 311352008-09-21 Felix Zielcke <fzielcke@z-51.de>
31136
31137 * autogen.sh: Add a call to `gendistlist.sh'.
31138
9035dce4 311392008-09-19 Christian Franke <franke@computer.org>
31140
31141 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31142 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31143 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31144 Export __enable_execute_stack() to modules.
31145 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31146 New function.
31147
7fd75377 311482008-09-09 Felix Zielcke <fzielcke@z-51.de>
31149
040030b3 31150 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31151 Sort the list.
31152
311532008-09-09 Felix Zielcke <fzielcke@z-51.de>
31154
31155 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31156 #include <grub/util/hostdisk.h>.
31157
89d5ffcf 311582008-09-08 Robert Millan <rmh@aybabtu.com>
31159
31160 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31161 segments when their filesz is zero (grub_file_read() interprets
81a06771 31162 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31163 Use `lowest_segment' rather than 0 for calculating the current
31164 segment load address.
31165
40da438f 311662008-09-08 Robert Millan <rmh@aybabtu.com>
31167
31168 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31169 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31170 clobbered useful information.
31171
ddbf5556 311722008-09-08 Robert Millan <rmh@aybabtu.com>
31173
31174 * include/grub/util/biosdisk.h: Move to ...
31175 * include/grub/util/hostdisk.h: ... here. Update all users.
31176 * util/biosdisk.c: Move to ...
31177 * util/hostdisk.c: ... here. Update all users.
31178
783d0f48 311792008-09-07 Robert Millan <rmh@aybabtu.com>
31180
31181 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31182 variables.
31183 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31184 and length can be stored directly in the `mbi->mmap_addr' and
31185 `mbi->mmap_length' struct fields.
31186
548e2ea5 311872008-09-07 Robert Millan <rmh@aybabtu.com>
31188
31189 * conf/i386.rmk: New file. Provides declaration for building
31190 `cpuid.mod'.
31191 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31192 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31193 variables.
31194 Include `conf/i386.mk'.
31195 * conf/i386-efi.rmk: Likewise.
31196 * conf/x86_64-efi.rmk: Likewise.
31197 * conf/i386-coreboot.rmk: Likewise.
31198 * conf/i386-ieee1275.rmk: Likewise.
31199
0ea85a37 312002008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31201
31202 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31203 Adds optimization support for BGR based modes.
31204
31205 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31206 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31207 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31208 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31209 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31210 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31211 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31212 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31213 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31214 (grub_video_i386_vbeblit_index_index): Likewise.
31215 (grub_video_i386_vbeblit_replace_directN): Added.
31216 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31217 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31218 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31219 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31220 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31221 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31222 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31223 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31224 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31225 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31226 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31227 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31228 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31229
31230 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31231 (grub_video_i386_vbefill_R8G8B8): Likewise.
31232 (grub_video_i386_vbefill_index): Likewise.
31233 (grub_video_i386_vbefill_direct32): Added.
31234 (grub_video_i386_vbefill_direct24): Likewise.
31235 (grub_video_i386_vbefill_direct16): Likewise.
31236 (grub_video_i386_vbefill_direct8): Likewise.
31237
81a06771 31238 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31239 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31240 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31241 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31242 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31243 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31244
0ea85a37 31245 * video/video.c (grub_video_get_blit_format): Updated to use new
31246 blit formats. Added handling for 16 bit color modes.
81a06771 31247
31248 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31249 fillers.
31250 (common_blitter): Updated to use new blitters.
31251
31252 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31253 Removed.
31254 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31255 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31256 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31257 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31258 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31259 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31260 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31261 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31262 (grub_video_i386_vbeblit_index_index): Likewise.
31263 (grub_video_i386_vbeblit_replace_directN): Added.
31264 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31265 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31266 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31267 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31268 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31269 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31270 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31271 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31272 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31273 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31274 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31275 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31276 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31277
0ea85a37 31278 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31279 (grub_video_i386_vbefill_R8G8B8): Likewise.
31280 (grub_video_i386_vbefill_index): Likewise.
31281 (grub_video_i386_vbefill_direct32): Added.
31282 (grub_video_i386_vbefill_direct24): Likewise.
31283 (grub_video_i386_vbefill_direct16): Likewise.
31284 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31285
0ea85a37 31286 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31287 types.
81a06771 31288
0ea85a37 31289 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31290 types.
81a06771 31291
0ea85a37 31292 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31293 blitter types.
81a06771 31294
0ea85a37 31295 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31296 types.
31297
e8a83df6 312982008-09-06 Felix Zielcke <fzielcke@z-51.de>
31299
31300 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31301 RAID level 1.
31302
6bcd8ee5 313032008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31304
6bcd8ee5 31305 * fs/iso9660.c (grub_iso9660_date): New structure.
31306 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31307 (grub_iso9660_uuid): New function.
c375ae58 31308
59261157 313092008-09-05 Bean <bean123ch@gmail.com>
31310
31311 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31312
31313 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31314 insensitive bit for names in Win32 and Win32 & DOS namespace.
31315
31316 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31317
31318 * include/grub/types.h (LONG_MAX): Likewise.
31319
58b6645a 313202008-09-04 Felix Zielcke <fzielcke@z-51.de>
31321
4ee55921 31322 * util/getroot.c: Include <config.h>.
31323 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31324 add support for /dev/md/N devices and handle LVM double dash escaping.
31325
313262008-09-04 Felix Zielcke <fzielcke@z-51.de>
31327
31328 * config.guess: Update to latest version from config git.
31329 * config.sub: Likewise.
58b6645a 31330
9124f65d 313312008-09-03 Robert Millan <rmh@aybabtu.com>
31332
31333 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31334 `disk->total_sectors'.
31335
81a06771 313362008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31337
31338 * include/grub/normal.h: Fixed incorrect comment for
31339 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31340
81a06771 313412008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31342
31343 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31344 values with defines.
31345
31346 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31347 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31348 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31349 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31350 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31351 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31352 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31353 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31354 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31355 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31356 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31357 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31358 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31359 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31360 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31361 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31362 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31363 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31364 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31365
93d5cbf8 313662008-08-31 Robert Millan <rmh@aybabtu.com>
31367
31368 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31369 declaration.
31370 (grub_multiboot): Fix a few warnings.
31371
21751d50 313722008-08-31 Robert Millan <rmh@aybabtu.com>
31373
31374 * loader/i386/pc/multiboot.c: Update comment not to say that
31375 boot_device support is unimplemented.
31376
e27a75c5 313772008-08-31 Robert Millan <rmh@aybabtu.com>
31378
31379 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31380 or memory map support are unimplemented.
31381
81a06771 313822008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31383
31384 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31385
81a06771 313862008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31387
31388 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31389 total video memory in 'vbeinfo' output; show color format details for
31390 each video mode.
31391
7c5d8d95 313922008-08-30 Pavel Roskin <proski@gnu.org>
31393
31394 * util/genmoddep.c: Remove for real this time.
31395 * DISTLIST: Remove util/genmoddep.c.
31396
4cebd25a 313972008-08-30 Robert Millan <rmh@aybabtu.com>
31398
31399 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31400 as required by Multiboot spec (it was already 4-byte aligned, but
31401 only by chance).
31402
b497a269 314032008-08-29 Pavel Roskin <proski@gnu.org>
31404
e3925185 31405 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31406 * kern/powerpc/ieee1275/startup.S: ... this.
31407 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31408 * DISTLIST: Likewise.
31409
b497a269 31410 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31411 grub/cpu/kernel.h. Add start label for consistency with other
31412 platforms. Add grub_prefix immediately after start. Add jump
31413 to the code after grub_prefix.
31414 * include/grub/powerpc/kernel.h: Provide valid values for
31415 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31416
6e5a42fe 314172008-08-29 Bean <bean123ch@gmail.com>
31418
31419 * configure.ac: Change host_os to cygwin for mingw.
31420 (asprintf): New check for function.
31421
31422 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31423 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31424
31425 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31426 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31427 sync, sleep and grub_util_get_disk_size for mingw.
31428
31429 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31430 to get size in mingw.
31431 (open_device): Use flag O_BINARY if it's defined.
31432 (find_root_device): Add dummy code for mingw.
31433
31434 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31435 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31436 (get_scsi_disk_name): Return 0 for mingw.
31437
31438 * util/hostfs.c: #include <grub/util/misc.h>.
31439 (grub_hostfs_open): Use "rb" flag to open file, use
31440 grub_util_get_disk_size to get disk size for mingw.
31441
31442 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31443 (asprintf): New function if HAVE_ASPRINTF is not set.
31444 (sync): New function for mingw.
31445 (sleep): Likewise.
31446 (grub_util_get_disk_size): Likewise.
31447
ab3f2673 314482008-08-28 Pavel Roskin <proski@gnu.org>
31449
31450 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31451 kern/time.c.
31452
1c282483 314532008-08-28 Robert Millan <rmh@aybabtu.com>
31454
31455 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31456
678e849c 314572008-08-28 Robert Millan <rmh@aybabtu.com>
31458
31459 Change find_grub_drive() syntax so it doesn't prevent it from
31460 detecting NULL names as errors.
31461
31462 * util/biosdisk.c (find_grub_drive): Move free slot search code
31463 from here ...
31464 (find_free_slot): ... to here.
31465 (read_device_map): Use find_free_slot() to search for free slots.
31466
965c75ca 314672008-08-27 Marco Gerards <marco@gnu.org>
31468
31469 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31470 (scsi_mod_SOURCES): New variable.
31471 (scsi_mod_CFLAGS): Likewise
31472 (scsi_mod_LDFLAGS): Likewise.
31473
31474 * disk/scsi.c: New file.
31475
31476 * include/grub/scsi.h: Likewise.
31477
31478 * include/grub/scsicmd.h: Likewise.
31479
31480 * disk/ata.c: Include <grub/scsi.h>.
31481 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31482 instead.
31483 (grub_ata_iterate): Skip ATAPI devices.
31484 (grub_ata_open): Only handle ATAPI devices.
31485 (struct grub_atapi_read): Removed.
31486 (grub_atapi_readsector): Likewise.
31487 (grub_ata_read): No longer handle ATAPI devices.
31488 (grub_ata_write): Likewise.
31489 (grub_atapi_iterate): New function.
31490 (grub_atapi_read): Likewise.
31491 (grub_atapi_write): Likewise.
31492 (grub_atapi_open): Likewise.
31493 (grub_atapi_close): Likewise.
31494 (grub_atapi_dev): New variable.
31495 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31496 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31497
31498 * include/grub/disk.h (enum grub_disk_dev_id): Add
31499 `GRUB_DISK_DEVICE_SCSI_ID'.
31500
c07ae501 315012008-08-26 Robert Millan <rmh@aybabtu.com>
31502
31503 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31504 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31505 descriptive.
31506
5ed20adc 315072008-08-23 Bean <bean123ch@gmail.com>
31508
31509 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31510 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31511 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31512 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31513 dm_nv.mod.
31514 (raid5rec_mod_SOURCES): New macro.
31515 (raid5rec_mod_CFLAGS): Likewise.
31516 (raid5rec_mod_LDFLAGS): Likewise.
31517 (raid6rec_mod_SOURCES): Likewise.
31518 (raid6rec_mod_CFLAGS): Likewise.
31519 (raid6rec_mod_LDFLAGS): Likewise.
31520 (mdraid_mod_SOURCES): Likewise.
31521 (mdraid_mod_CFLAGS): Likewise.
31522 (mdraid_mod_LDFLAGS): Likewise.
31523 (dm_nv_mod_SOURCES): Likewise.
31524 (dm_nv_mod_CFLAGS): Likewise.
31525 (dm_nv_mod_LDFLAGS): Likewise.
31526
31527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31528 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31529 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31530
31531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31532 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31533
31534 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31535
31536 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31537
31538 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31539
31540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31541
31542 * disk/raid5_recover.c: New file.
31543
31544 * disk/raid6_recover.c: Likewise.
31545
31546 * disk/mdraid_linux.c: Likewise.
31547
31548 * disk/dmraid_nvidia.c: Likewise.
31549
31550 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31551 ULONG_MAX.
31552
31553 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31554 calculate the size of raid device.
31555 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31556 different layout of raid5.
31557 (grub_raid_scan_device): Remove code specific to mdraid.
31558 (grub_raid_list): New variable.
31559 (free_array): New function.
31560 (grub_raid_register): Likewise.
31561 (grub_raid_unregister): Likewise.
31562 (grub_raid_rescan): Likewise.
31563 (GRUB_MOD_INIT): Don't iterate device here.
31564 (GRUB_MOD_FINI): Use free_array to release resource.
31565
31566 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31567 (grub_raid5_recover_func_t): New function variable type.
31568 (grub_raid6_recover_func_t): Likewise.
31569 (grub_raid5_recover_func): New variable.
31570 (grub_raid6_recover_func): Likewise.
31571 (grub_raid_register): New function.
31572 (grub_raid_unregister): Likewise.
31573 (grub_raid_rescan): Likewise.
31574 (grub_raid_block_xor): Likewise.
31575
31576 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31577 (CMD_CRC): New macro.
31578 (part): Removed.
31579 (read_file): Handle device as well as file.
31580 (cmd_crc): New function.
31581 (fstest): Handle multiple disks.
31582 (options): Remove part, raw and long, add root and diskcount.
31583 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31584 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31585 add handling for the new options, support multiple disks.
31586
31587 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31588
29c18915 315892008-08-23 Bean <bean123ch@gmail.com>
31590
31591 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31592
31593 * genfslist.sh: Ignore kernel.mod.
31594
31595 * genpartmaplist.sh: Likewise.
31596
8415f261 315972008-08-23 Robert Millan <rmh@aybabtu.com>
31598
31599 * util/getroot.c (find_root_device): Skip anything that starts with
31600 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31601
d5a7dc5b 316022008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31603
d5a7dc5b 31604 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31605 * util/grub.d/00_header.in: Allow the administrator to change default
31606 gfxmode via ${GRUB_GFXMODE}.
31607
380cfbb4 316082008-08-21 Felix Zielcke <fzielcke@z-51.de>
31609
31610 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31611
c9baafe7 316122008-08-21 Robert Millan <rmh@aybabtu.com>
31613
31614 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31615 loader.
31616 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31617 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31618
e290bef2 316192008-08-20 Carles Pina i Estany <carles@pina.cat>
31620
31621 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31622 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31623
f9dbfc96 316242008-08-19 Robert Millan <rmh@aybabtu.com>
31625
31626 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31627 (struct grub_virtual_screen): Remove `cursor_color'.
31628 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31629 initialization.
31630 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31631
dd6bd6ab 316322008-08-18 Robert Millan <rmh@aybabtu.com>
31633
31634 Unify (identical) linux_normal.c files.
31635 * loader/i386/efi/linux_normal.c: Move from here ...
31636 * loader/linux_normal.c: ... to here. Update all users.
31637 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31638 * loader/i386/ieee1275/linux_normal.c: Likewise.
31639
7f42f83e 316402008-08-18 Robert Millan <rmh@aybabtu.com>
31641
31642 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31643 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31644 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31645 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31646 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31647 New macros.
31648 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31649 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31650 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31651 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31652 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31653 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31654 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31655 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31656 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31657 portably using grub_getxy().
31658 Replace `-EFI' with `-bzImage' in boot message.
31659
38487ddb 316602008-08-17 Robert Millan <rmh@aybabtu.com>
31661
31662 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31663
deceb3ec 316642008-08-17 Robert Millan <rmh@aybabtu.com>
31665
31666 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31667
31668 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31669 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31670 (grub_machine_mmap_iterate): New function declaration.
31671 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31672 structure.
31673 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31674 macros.
31675
31676 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31677 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31678 Move e820 parsing from here ...
31679 * kern/i386/pc/mmap.c: New file.
31680 (grub_machine_mmap_iterate): ... to here.
31681
31682 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31683 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31684 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31685 (grub_available_iterate): Redeclare to return `void', and redeclare
31686 its hook to use grub_uint64_t as addr and size parameters, and rename
31687 to ...
31688 (grub_machine_mmap_iterate): ... this. Update all users.
31689
31690 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31691 to make it more readable. Rename to ...
31692 (grub_machine_mmap_iterate): ... this.
31693
31694 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31695 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31696 (grub_multiboot): Allocate an extra region after the payload, and fill
31697 it with a Multiboot memory map. Adjust a.out loader to calculate size
31698 with the extra space.
31699 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31700 with the extra space.
31701
f8aa0f43 317022008-08-17 Carles Pina i Estany <carles@pina.cat>
31703
9807deb9 31704 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31705
605f5bb6 317062008-08-17 Felix Zielcke <fzielcke@z-51.de>
31707
31708 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31709 mdate-sh to the list `find' searches for.
31710 * DISTLIST: Regenerated.
31711
210db6c6 317122008-08-16 Felix Zielcke <fzielcke@z-51.de>
31713
31714 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31715 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31716 genmoddep.awk, gensymlist.sh.in.
31717 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31718 * DISTLIST: Regenerated.
48cdbfd4 31719 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31720
1082b929 317212008-08-16 Robert Millan <rmh@aybabtu.com>
31722
31723 * disk/raid.c (grub_raid_init): Handle/report errors set by
31724 grub_device_iterate().
31725 * disk/lvm.c (grub_lvm_init): Likewise.
31726
42ce5170 317272008-08-15 Bean <bean123ch@gmail.com>
31728
31729 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31730 and datehook.mod.
31731 (datetime_mod_SOURCES): New macro.
31732 (datetime_mod_CFLAGS): Likewise.
31733 (datetime_mod_LDFLAGS): Likewise.
31734 (date_mod_SOURCES): Likewise.
31735 (date_mod_CFLAGS): Likewise.
31736 (date_mod_LDFLAGS): Likewise.
31737 (datehook_mod_SOURCES): Likewise.
31738 (datehook_mod_CFLAGS): Likewise.
31739 (datehook_mod_LDFLAGS): Likewise.
31740
31741 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31742 and datehook.mod.
31743 (datetime_mod_SOURCES): New macro.
31744 (datetime_mod_CFLAGS): Likewise.
31745 (datetime_mod_LDFLAGS): Likewise.
31746 (date_mod_SOURCES): Likewise.
31747 (date_mod_CFLAGS): Likewise.
31748 (date_mod_LDFLAGS): Likewise.
31749 (datehook_mod_SOURCES): Likewise.
31750 (datehook_mod_CFLAGS): Likewise.
31751 (datehook_mod_LDFLAGS): Likewise.
31752
31753 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31754 and datehook.mod.
31755 (datetime_mod_SOURCES): New macro.
31756 (datetime_mod_CFLAGS): Likewise.
31757 (datetime_mod_LDFLAGS): Likewise.
31758 (date_mod_SOURCES): Likewise.
31759 (date_mod_CFLAGS): Likewise.
31760 (date_mod_LDFLAGS): Likewise.
31761 (datehook_mod_SOURCES): Likewise.
31762 (datehook_mod_CFLAGS): Likewise.
31763 (datehook_mod_LDFLAGS): Likewise.
31764
31765 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31766 and datehook.mod.
31767 (datetime_mod_SOURCES): New macro.
31768 (datetime_mod_CFLAGS): Likewise.
31769 (datetime_mod_LDFLAGS): Likewise.
31770 (date_mod_SOURCES): Likewise.
31771 (date_mod_CFLAGS): Likewise.
31772 (date_mod_LDFLAGS): Likewise.
31773 (datehook_mod_SOURCES): Likewise.
31774 (datehook_mod_CFLAGS): Likewise.
31775 (datehook_mod_LDFLAGS): Likewise.
31776
31777 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31778 and datehook.mod.
31779 (datetime_mod_SOURCES): New macro.
31780 (datetime_mod_CFLAGS): Likewise.
31781 (datetime_mod_LDFLAGS): Likewise.
31782 (date_mod_SOURCES): Likewise.
31783 (date_mod_CFLAGS): Likewise.
31784 (date_mod_LDFLAGS): Likewise.
31785 (datehook_mod_SOURCES): Likewise.
31786 (datehook_mod_CFLAGS): Likewise.
31787 (datehook_mod_LDFLAGS): Likewise.
31788
31789 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31790
31791 * commands/date.c: New file.
31792
31793 * hook/datehook.c: Likewise.
31794
31795 * include/grub/lib/datetime.h: Likewise.
31796
31797 * include/grub/i386/cmos.h: Likewise.
31798
31799 * lib/datetime.c: Likewise.
31800
31801 * lib/i386/datetime.c: Likewise.
31802
31803 * lib/efi/datetime.c: Likewise.
31804
0e9242da 318052008-08-14 Robert Millan <rmh@aybabtu.com>
31806
31807 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31808 (grub_mkelfimage_SOURCES): New variable.
31809 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31810
31811 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31812 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31813 * conf/powerpc-ieee1275.rmk: Likewise.
31814 * conf/i386-ieee1275.rmk: Likewise.
31815
31816 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31817 * kern/i386/coreboot/init.c: Likewise.
31818
31819 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31820 with `<grub/cpu/kernel.h>'.
31821 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31822 to ...
31823 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31824 * kern/i386/coreboot/startup.S: Likewise.
31825
31826 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31827 (GRUB_MOD_GAP): Remove.
31828 * include/grub/powerpc/kernel.h: New file.
31829 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31830 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31831 * include/grub/i386/kernel.h: New file.
31832 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31833 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31834 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31835
31836 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31837 `grub-mkelfimage'.
31838 Use --directory when invoking grub_mkimage.
31839
31840 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31841 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31842 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31843 and GRUB_KERNEL_CPU_PREFIX.
31844
b86408f8 318452008-08-14 Felix Zielcke <fzielcke@z-51.de>
31846
d5e619ca 31847 * include/grub/err.h (grub_err_printf): New function prototype.
31848 * util/misc.c (grub_err_printf): New function.
31849 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31850 grub_printf.
31851 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31852
7161f0e0 318532008-08-13 Robert Millan <rmh@aybabtu.com>
31854
31855 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31856
a1967522 318572008-08-13 Robert Millan <rmh@aybabtu.com>
31858
31859 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31860 boot entry.
31861
371458b5 318622008-08-12 Robert Millan <rmh@aybabtu.com>
31863
31864 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31865 of the relocation code from here ...
31866 (grub_multiboot): ... to here.
31867 (forward_relocator, backward_relocator): Move from here ...
31868 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31869 (grub_multiboot_backward_relocator): ... to here.
31870 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31871 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31872 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31873 (grub_multiboot_forward_relocator_end)
31874 (grub_multiboot_backward_relocator)
31875 (grub_multiboot_backward_relocator_end): New variables.
31876
05f9452b 318772008-08-12 Bean <bean123ch@gmail.com>
31878
31879 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31880
20024ab0 318812008-08-11 Robert Millan <rmh@aybabtu.com>
31882
31883 * kern/i386/linuxbios/startup.S: Move from here ...
31884 * kern/i386/coreboot/startup.S: ... to here.
31885
31886 * kern/i386/linuxbios/init.c: Move from here ...
31887 * kern/i386/coreboot/init.c: ... to here.
31888
31889 * kern/i386/linuxbios/table.c: Move from here ...
31890 * kern/i386/coreboot/mmap.c: ... to here.
31891
31892 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31893
e352e9cd 318942008-08-11 Robert Millan <rmh@aybabtu.com>
31895
31896 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31897 errors. Leave it to the upper layer to handle them.
31898
2d05bc6a 318992008-08-09 Christian Franke <franke@computer.org>
31900
31901 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31902 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31903 Install `grub.d/10_windows' only on Cygwin.
31904 * configure.ac: Add subst of `target_os'.
31905 Check `target_os' also before setting TARGET_OBJ2ELF.
31906 Add `--enable-grub-pe2elf'.
31907
042bd419 319082008-08-08 Robert Millan <rmh@aybabtu.com>
31909
31910 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31911 (grub_last_time): Change type to grub_uint64_t.
31912 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31913 (grub_disk_close): Likewise.
31914
31915 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31916 (run_menu): Migrate code from to using grub_get_time_ms().
31917
31918 * util/misc.c (grub_get_time_ms): New function.
31919
7f280db5 319202008-08-08 Marco Gerards <marco@gnu.org>
31921
31922 * disk/ata.c (grub_ata_regget): Change return type to
31923 `grub_uint8_t'.
31924 (grub_ata_regget2): Likewise.
31925 (grub_ata_wait_status): New function.
31926 (grub_ata_wait_busy): Removed function, updated all users to use
31927 `grub_ata_wait_status'.
31928 (grub_ata_wait_drq): Likewise.
31929 (grub_ata_cmd): New function.
31930 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31931 error handling.
31932 (grub_ata_pio_write): Add error handling.
31933 (grub_atapi_identify): Likewise.
31934 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31935 handling.
31936 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31937 handling. Actually use the detected registers. Reorder the
31938 detection logic such that it is easier to read.
31939 (grub_ata_pciinit): Do not assign the same ID to each controller.
31940 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31941 handling.
31942 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31943
31944 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31945
1fbc5e66 319462008-08-08 Marco Gerards <marco@gnu.org>
31947
31948 * NEWS: Update.
31949
819ce6c0 319502008-08-07 Bean <bean123ch@gmail.com>
31951
31952 * include/grub/x86_64/pci.h: New file.
31953
5c41d44d 319542008-08-07 Christian Franke <franke@computer.org>
31955
31956 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31957 (TIMER2_GATE): Likewise.
31958 (grub_pit_wait): Add enable/disable of the timer2 gate
31959 bit of port 0x61. This fixes a possible infinite loop.
31960
5ebc275d 319612008-08-07 Bean <bean123ch@gmail.com>
31962
31963 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31964 kern/i386/tsc.c and kern/i386/pit.c.
31965
31966 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31967 x86_64 platform.
31968
31969 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31970 <grub/i386/tsc.h>.
31971
31972 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31973
e383b3d0 319742008-08-07 Bean <bean123ch@gmail.com>
31975
31976 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31977
31978 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31979
31980 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31981 multiple inclusion. Add #include <grub/types.h>.
31982
1cbb58ac 319832008-08-06 Christian Franke <franke@computer.org>
31984
31985 * conf/common.rmk: Build and install `10_windows'.
31986 * util/grub.d/10_windows.in: New script.
31987
337f5a1e 319882008-08-06 Pavel Roskin <proski@gnu.org>
31989
31990 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31991
057bc4ac 319922008-08-06 Robert Millan <rmh@aybabtu.com>
31993
31994 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31995 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31996
2b99f123 319972008-08-06 Bean <bean123ch@gmail.com>
31998
31999 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32000 (grub_pxefs_fs_int): Remove dummy definition.
32001 (grub_pxefs_open): Use data->block_size to store the current block
32002 size setting.
32003 (grub_pxefs_read): Use block size stored in data->block_size. As the
32004 value of grub_pxe_blksize can be changed after the file is opened.
32005
9f0234cb 320062008-08-06 Bean <bean123ch@gmail.com>
32007
32008 * fs/i386/pc/pxe.c (curr_file): new variable.
32009 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32010 require the dummy internal file system anymore.
32011 (grub_pxefs_read): Removed.
32012 (grub_pxefs_close): Likewise.
32013 (grub_pxefs_fs_int): Likewise.
32014 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32015 connection when we switch file.
32016 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32017
a55d42e0 320182008-08-06 Robert Millan <rmh@aybabtu.com>
32019
32020 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32021 `halt.mod'.
32022 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32023 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32024
32025 * kern/i386/halt.c: New file.
32026 * kern/i386/reboot.c: Likewise.
32027 * include/grub/i386/reboot.h: Likewise.
32028 * include/grub/i386/halt.h: Likewise.
32029
32030 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32031 Include `<grub/cpu/halt.h>'.
32032 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32033 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32034
32035 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32036 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32037 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32038 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32039 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32040 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32041 from here ...
32042 * include/grub/i386/at_keyboard.h: ... to here.
32043
24371d26 320442008-08-05 Robert Millan <rmh@aybabtu.com>
32045
32046 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32047 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32048 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32049 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32050 `kern/generic/millisleep.c'.
32051
32052 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32053 instead of grub_get_rtc().
32054 (grub_tsc_init): Initialize `tsc_boot_time'.
32055
32056 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32057 (grub_machine_init): Use grub_tsc_init() rather than
32058 installing an RTC-based handler via grub_install_get_time_ms().
32059
32060 * kern/i386/pit.c: New file.
32061 * include/grub/i386/pit.h: Likewise.
32062
9e7007b3 320632008-08-05 Bean <bean123ch@gmail.com>
32064
32065 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32066
32067 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32068 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32069 (pxe_mod_SOURCES): New macro.
32070 (pxe_mod_CFLAGS): Likewise.
32071 (pxe_mod_LDFLAGS): Likewise.
32072 (pxecmd_mod_SOURCES): Likewise.
32073 (pxecmd_mod_CFLAGS): Likewise.
32074 (pxecmd_mod_LDFLAGS): Likewise.
32075
32076 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32077 (grub_pxe_call): Likewise.
32078
32079 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32080
32081 * commands/i386/pc/pxecmd.c: New file.
32082
9f0234cb 32083 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32084
32085 * include/grub/i386/pc/pxe.h: Likewise.
32086
6977d49f 320872008-08-05 Bean <bean123ch@gmail.com>
32088
32089 * util/console.c (grub_console_cur_color): New variable.
32090 (grub_console_standard_color): Likewise.
32091 (grub_console_normal_color): Likewise.
32092 (grub_console_highlight_color): Likewise.
32093 (color_map): Likewise.
32094 (use_color): Likewise.
32095 (NUM_COLORS): New macro.
32096 (grub_ncurses_setcolorstate): Handle color properly.
32097 (grub_ncurses_setcolor): Don't change color here, just remember the
32098 settings, color will be set in grub_ncurses_setcolorstate.
32099 (grub_ncurses_getcolor): New function.
32100 (grub_ncurses_init): Initialize color pairs.
32101 (grub_ncurses_term): New member grub_ncurses_getcolor.
32102
9c2ff3ee 321032008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32104
9c2ff3ee 32105 High resolution timer support. Implemented for x86 CPUs using TSC.
32106 Extracted generic grub_millisleep() so it's linked in only as needed.
32107 This requires a Pentium compatible CPU; if the RDTSC instruction is
32108 not supported, then it falls back on the generic grub_get_time_ms()
32109 implementation that uses the machine's RTC.
32110
32111 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32112 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32113 `kern/generic/millisleep.c'.
32114
32115 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32116 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32117
32118 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32119 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32120
32121 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32122
32123 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32124 `kern/generic/millisleep.c'.
32125
32126 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32127
32128 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32129
32130 * kern/generic/rtc_get_time_ms.c: New file.
32131
32132 * kern/generic/millisleep.c: New file.
337f5a1e 32133
9c2ff3ee 32134 * kern/misc.c: Don't include
32135 <kern/time.h> anymore.
32136 (grub_millisleep_generic): Removed.
32137
32138 * commands/sleep.c (grub_interruptible_millisleep): Uses
32139 grub_get_time_ms() instead of grub_get_rtc().
32140
32141 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32142 function.
32143 (grub_cpu_is_cpuid_supported): New inline function.
32144 (grub_cpu_is_tsc_supported): New inline function.
32145 (grub_tsc_init): New function prototype.
32146 (grub_tsc_get_time_ms): New function prototype.
32147
32148 * kern/i386/tsc.c (grub_get_time_ms): New file.
32149
32150 * include/grub/time.h: Include <grub/types.h.
32151 (grub_millisleep_generic): Removed.
32152 (grub_get_time_ms): New prototype.
32153 (grub_install_get_time_ms): New prototype.
32154 (grub_rtc_get_time_ms): New prototype.
32155
32156 * kern/time.c (grub_get_time_ms): New function.
32157 (grub_install_get_time_ms): New function.
32158
32159 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32160 <grub/time.h> anymore.
32161 (grub_millisleep): Removed.
32162 (grub_machine_init): Call grub_tsc_init.
32163
32164 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32165 get_time_ms() implementation.
32166
32167 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32168 (ieee1275_get_time_ms): New function.
32169 (grub_machine_init): Install get_time_ms() implementation.
32170
32171 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32172 (grub_machine_init): Call grub_tsc_init().
32173 (grub_millisleep): Removed.
bf06a93f 32174
9c2ff3ee 32175 * kern/ieee1275/init.c (grub_millisleep): Removed.
32176 (grub_machine_init): Install ieee1275_get_time_ms()
32177 implementation.
32178 (ieee1275_get_time_ms): New function.
32179 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32180 real work.
32181
9ec92aaf 321822008-08-05 Marco Gerards <marco@gnu.org>
32183
32184 * disk/ata.c: Include <grub/pci.h>.
32185 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32186 (grub_ata_initialize): Rewritten.
32187 (grub_ata_device_initialize): New function.
32188
8d23f507 321892008-08-04 Pavel Roskin <proski@gnu.org>
32190
32191 * kern/main.c: Include grub/mm.h.
32192
5e15ee3d 321932008-08-04 Robert Millan <rmh@aybabtu.com>
32194
32195 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32196 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32197 corruption problem).
32198
a9053f8f 321992008-08-04 Robert Millan <rmh@aybabtu.com>
32200
32201 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32202 warnings introduced in my last commit.
32203
dd19c7d7 322042008-08-03 Robert Millan <rmh@aybabtu.com>
32205
32206 Make PCI available on all i386 architectures.
32207
32208 * include/grub/i386/pc/pci.h: Move from here ...
32209 * include/grub/i386/pci.h: ... to here.
32210
32211 * include/grub/i386/pc/pci.h: Remove.
32212 * include/grub/i386/efi/pci.h: Remove.
32213 * include/grub/x86_64/efi/pci.h: Remove.
32214
32215 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32216 `<grub/cpu/pci.h>'.
32217
32218 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32219 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32220 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32221
32222 * conf/i386-ieee1275.rmk: Likewise.
32223
e14a6184 322242008-08-03 Robert Millan <rmh@aybabtu.com>
32225
32226 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32227 (grub_console_setcursor): Make it possible to set cursor off.
32228
52768e37 322292008-08-03 Robert Millan <rmh@aybabtu.com>
32230
32231 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32232 of modules instead of assuming which platform provides what.
32233 * util/update-grub.in: Likewise.
32234
2d52f57f 322352008-08-03 Robert Millan <rmh@aybabtu.com>
32236
32237 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32238 instead of `grub_install_dos_part' to determine whether a drive needs
32239 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32240 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32241
2a5cd121 322422008-08-02 Robert Millan <rmh@aybabtu.com>
32243
32244 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32245
93808428 322462008-08-02 Robert Millan <rmh@aybabtu.com>
32247
32248 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32249 of informational grub_dprintf() calls.
32250
3bd0a12a 322512008-08-02 Robert Millan <rmh@aybabtu.com>
32252
32253 * disk/memdisk.c (memdisk_size): Don't initialize.
32254 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32255
32256 * include/grub/i386/pc/kernel.h
32257 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32258 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32259 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32260 (grub_arch_memdisk_size): Remove.
32261
32262 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32263 field (was only used to transfer a constant). Add `type' field to
32264 support multiple module types.
32265 (grub_module_iterate): New function.
32266
32267 * kern/device.c (grub_device_open): Do not hide error messages
32268 when grub_disk_open() fails. Use grub_print_error() instead.
32269
32270 * kern/i386/pc/init.c (grub_arch_modules_addr)
32271 (grub_arch_memdisk_size): Remove functions.
32272 (grub_arch_modules_addr): Return the module address in high memory
32273 (now that it isn't copied anymore).
32274
32275 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32276 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32277 decompression routine (grub_total_module_size already includes that
32278 now). Don't copy modules back to low memory.
32279
32280 * kern/main.c: Include `<grub/mm.h>'.
32281 (grub_load_modules): Split out (and use) ...
32282 (grub_module_iterate): ... this function, which iterates through
32283 module objects and runs a hook.
32284 Comment out grub_mm_init_region() call, as it would cause non-ELF
32285 modules to be overwritten.
32286
32287 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32288 the memdisk image in its own region, make it part of the module list.
32289 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32290 (main): Parse --memdisk|-m option, and pass user-provided path as
32291 parameter to generate_image().
32292 (add_segments): Pass `memdisk_path' down to load_modules().
32293 (load_modules): Embed memdisk image in module section when requested.
32294 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32295 `header.type' instead of `header.offset'.
32296
32297 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32298 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32299 (memdisk_mod_LDFLAGS): New variables.
32300 * conf/i386-coreboot.rmk: Likewise.
32301 * conf/i386-ieee1275.rmk: Likewise.
32302
a927cc73 323032008-08-02 Robert Millan <rmh@aybabtu.com>
32304
32305 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32306 (backward_relocator): New variables. Used to allocate and relocate
32307 the payload, respectively.
32308 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32309 address, install the appropriate relocator code in each bound of
a927cc73 32310 the payload, and set the entry point such that
32311 grub_multiboot_real_boot() will jump to one of them.
32312
32313 * kern/i386/loader.S (grub_multiboot_payload_size)
32314 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32315 (grub_multiboot_payload_entry_offset): New variables.
32316 (grub_multiboot_real_boot): Set cpu context to what the relocator
32317 expects, and jump to the relocator instead of the payload.
32318
32319 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32320 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32321 (grub_multiboot_payload_entry_offset): Export.
32322
b15d8a0c 323232008-08-01 Bean <bean123ch@gmail.com>
32324
32325 * normal/menu_entry.c (editor_getline): Don't return the original
32326 string as result, as it will be released by lexer once it has done
32327 using it.
32328
cdfb3d22 323292008-08-01 Robert Millan <rmh@aybabtu.com>
32330
32331 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32332 within menuentries, not before them.
32333 util/grub.d/10_hurd.in: Likewise.
32334
9175e93d 323352008-08-01 Bean <bean123ch@gmail.com>
32336
32337 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32338 (bufio_mod_SOURCES): New macro.
32339 (bufio_mod_CFLAGS): Likewise.
32340 (bufio_mod_LDFLAGS): Likewise.
32341
32342 * include/grub/bufio.h: New file.
32343
32344 * io/bufio.c: Likewise.
32345
32346 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32347 (grub_video_reader_png): Use grub_buffile_open to open file.
32348
32349 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32350 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32351
32352 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32353 (grub_video_reader_tga): Use grub_buffile_open to open file.
32354
32355 * font/manager.c: Include <grub/bufio.h>.
32356 (add_font): Use grub_buffile_open to open file.
32357
3d8383e7 323582008-07-31 Robert Millan <rmh@aybabtu.com>
32359
32360 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32361 ELF segments, use a macro for arbitrarily accessing any of them instead
32362 of preparing a pointer that allows access to one at a time.
32363 (grub_multiboot_load_elf64): Likewise.
32364
16e641b6 323652008-07-31 Bean <bean123ch@gmail.com>
32366
32367 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32368 GRUB_KERNEL_MACHINE_DATA_END.
32369
59198b72 323702008-07-30 Robert Millan <rmh@aybabtu.com>
32371
32372 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32373 Increase from 0x50 to 0x60.
32374 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32375 use UUIDs to identify the root drive for them. If that's not
32376 possible, abort.
32377 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32378 check, for cross-disk installs.
32379
ae88bca3 323802008-07-30 Robert Millan <rmh@aybabtu.com>
32381
32382 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32383 is non-empty, use it to set the `prefix' environment variable instead
32384 of the usual approach.
32385 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32386 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32387 environment variable instead of dummy make_install_device().
32388
32389 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32390 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32391 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32392
32393 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32394 New variable reference.
32395 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32396 New macro. Defines offset of `grub_prefix' within startup.S (relative
32397 to `start').
32398 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32399 section within startup.S (relative to `start').
32400 * include/grub/i386/coreboot/kernel.h: Likewise.
32401
32402 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32403 Overwrite grub_prefix with its contents, at the beginning of the
32404 first segment.
32405 (main): Understand -p|--prefix.
32406
14f41dd1 324072008-07-30 Robert Millan <rmh@aybabtu.com>
32408
32409 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32410
4ca049a3 324112008-07-30 Robert Millan <rmh@aybabtu.com>
32412
32413 * term/i386/pc/vga_text.c (grub_console_cls): Use
32414 grub_console_gotoxy() to go back to beginning of the screen.
32415 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32416
2921d337 324172008-07-29 Christian Franke <franke@computer.org>
32418
32419 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32420 Add conversion of emulated mount points on Cygwin.
32421
b609876d 324222008-07-29 Christian Franke <franke@computer.org>
32423
32424 * util/update-grub.in: Add a check for admin
32425 group on Cygwin.
32426 Remove old `grub.cfg.new' before creation.
32427 Add `-f' to `mv' to handle the different filesystem
32428 semantics of Windows.
32429
e93e4679 324302008-07-29 Bean <bean123ch@gmail.com>
32431
32432 * normal/main.c (get_line): Fix buffer overflow bug.
32433
41694fd0 324342008-07-28 Robert Millan <rmh@aybabtu.com>
32435
32436 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32437 (struct grub_apple_header): New struct. Describes the layout of
32438 the partmap header.
32439 (apple_partition_map_iterate): Check the header magic as well as the
32440 partition magic (which was already being checked).
32441
cfd0b4e6 324422008-07-28 Pavel Roskin <proski@gnu.org>
32443
32444 * genmk.rb: Add a warning to the beginning of the output that
32445 it's a generated file and should not be edited.
32446
93cce016 324472008-07-28 Robert Millan <rmh@aybabtu.com>
32448
32449 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32450 with the same number are found, just use issue a warning with
32451 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32452
cd1df915 324532008-07-27 Robert Millan <rmh@aybabtu.com>
32454
32455 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32456 information.
32457
b70a8427 324582008-07-27 Bean <bean123ch@gmail.com>
32459
32460 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32461 (grub_fat_find_dir): Ignore case when comparing filename.
32462
8f5e379f 324632008-07-27 Bean <bean123ch@gmail.com>
32464
32465 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32466 smallino, as it's more descriptive, and i8count can be confused with
32467 the other field count.
32468 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32469 inode type.
32470
a85cd5a0 324712008-07-27 Bean <bean123ch@gmail.com>
32472
32473 * commands/crc.c: New file.
32474
32475 * lib/crc.c: Likewise.
32476
32477 * include/grub/lib/crc.h: Likewise.
32478
32479 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32480
32481 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32482 (hexdump): Move this function to ...
32483
32484 * lib/hexdump.c: ... here.
32485
32486 * include/grub/hexdump.h: Renamed to ...
32487
32488 * include/grub/lib/hexdump.h: ... this.
32489
32490 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32491
32492 * util/grub-editenv.c: Likewise.
32493
32494 * include/envblk.h: Renamed to ...
32495
32496 * include/lib/envblk.h: ... this.
32497
32498 * util/envblk.c: Renamed to ...
32499
32500 * lib/envblk.c: ... this.
32501
32502 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32503 lib/hexdump.c.
32504 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32505 (pkglib_MODULES): Add crc.mod.
32506 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32507 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32508 (crc_mod_SOURCES): New macro.
32509 (crc_mod_CFLAGS): Likewise.
32510 (crc_mod_LDFLAGS): Likewise.
32511
32512 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32513
32514 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32515
32516 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32517
32518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32519
32520 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32521
c298def0 325222008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32523
32524 * commands/help.c: Include <grub/term.h>.
32525 (TERM_WIDTH): Removed. Updated all users.
32526
cc349fb3 325272008-07-27 Pavel Roskin <proski@gnu.org>
32528
32529 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32530 spurious warnings about a comment within a comment.
32531
9051607e 325322008-07-25 Robert Millan <rmh@aybabtu.com>
32533
32534 * util/getroot.c (find_root_device): Skip devices that match
32535 /dev/dm-[0-9]. This lets the real device be found for any type of
32536 abstraction (LVM, EVMS, RAID..).
32537 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32538 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32539 device is found first, find_root_device() will now skip it.
32540
01453bfc 325412008-07-24 Pavel Roskin <proski@gnu.org>
32542
32543 * include/grub/types.h: Use __builtin_bswap32() and
32544 __builtin_bswap64() with gcc 4.3 and newer.
32545
6af9849f 325462008-07-24 Christian Franke <franke@computer.org>
32547
3a0fa256 32548 * util/i386/pc/grub-install.in: If `--debug' is specified,
32549 pass `--verbose' to grub-setup.
32550 Abort script if make_system_path_relative_to_its_root() fails.
32551
7810e747 325522008-07-24 Bean <bean123ch@gmail.com>
32553
32554 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32555 variable `target_platform' should be `platform'.
32556
42290e17 325572008-07-24 Bean <bean123ch@gmail.com>
32558
51cc5193 32559 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32560 (grub_png_init_fixed_block): New function.
32561 (grub_png_decode_image_data): Handle fixed huffman code compression.
32562
2a8a80e4 325632008-07-24 Bean <bean123ch@gmail.com>
32564
32565 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32566 (grub_pe2elf_SOURCES): New macro.
32567 (CLEANFILES): Add grub-pe2elf.
32568
32569 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32570 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32571 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32572 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32573 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32574 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32575 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32576 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32577 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32578 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32579 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32580 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32581 (GRUB_PE32_DT_FUNCTION): Likewise.
32582 (GRUB_PE32_REL_I386_DIR32): Likewise.
32583 (GRUB_PE32_REL_I386_REL32): Likewise.
32584 (grub_pe32_symbol): New structure.
32585 (grub_pe32_reloc): Likewise.
32586
32587 * util/grub-pe2elf.c: New file.
32588
32589 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32590 start symbol in non pc platform.
32591
32592 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32593
32594 The following patches are from Christian Franke.
32595
32596 * include/grub/dl.h: Remove .previous, gas supports this only
32597 for ELF format.
32598
32599 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32600 Remove .type, gas supports this only for ELF format.
32601
32602 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32603 nullbytes in symbol table. This fixes an infinite loop if table is
32604 zero filled.
32605
32606 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32607 TARGET_IMG_LDFLAGS and EXEEXT.
32608
32609 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32610 TARGET_IMG_LDFLAGS_AC.
32611 (grub_CHECK_STACK_ARG_PROBE): New function.
32612
32613 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32614
32615 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32616
32617 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32618 to set TARGET_IMG_LD* accordingly.
32619 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32620 Add call to grub_CHECK_STACK_ARG_PROBE.
32621 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32622
32623 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32624
32625 * genmk.rb: Add EXEEXT to CLEANFILES.
32626
12ccdb75 326272008-07-23 Robert Millan <rmh@aybabtu.com>
32628
32629 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32630 define the codes for arrows and lines used for the menu).
32631 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32632 as well.
32633
32634 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32635 fonts, because the latter are too slow.
32636
18eeaf04 326372008-07-21 Bean <bean123ch@gmail.com>
32638
32639 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32640 a20. Run keyboard test last, as it will cause macbook to halt.
32641
b095e2ad 326422008-07-18 Pavel Roskin <proski@gnu.org>
32643
32644 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32645 load foreign architecture modules correctly anyway. Keep
32646 support for loading host architecture modules, whether we
32647 compile them or not.
32648
737feb35 326492008-07-17 Pavel Roskin <proski@gnu.org>
32650
3f4ce737 32651 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32652 change target_cpu. The compiler default can mismatch target_cpu
32653 in any case.
32654
4ad2d049 32655 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32656 * kern/efi/efi.c: Likewise.
32657
f6130a12 32658 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32659 target compiler is functional.
32660 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32661 are set up.
32662
58393a2d 32663 * configure.ac: Default to efi platform for x86_64-apple. Allow
32664 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32665 adjustments from the rest, only do them if target is not
32666 explicitly given. Merge other adjustments with the final sanity
32667 check. Remove an extraneous check for supported CPU. Be
32668 specific which CPU and which platform is not supported.
32669
737feb35 32670 * configure.ac: Default to pc platform for x86_64.
32671
546f966a 326722008-07-17 Robert Millan <rmh@aybabtu.com>
32673
32674 Partial LinuxBIOS -> Coreboot rename.
32675
32676 * conf/i386-linuxbios.rmk: Renamed to ...
32677 * conf/i386-coreboot.rmk: ... this.
32678 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32679 * configure.ac: Accept "coreboot" as input platform (but maintain
32680 compatibility with "linuxbios").
32681 * include/grub/i386/linuxbios: Renamed to ...
32682 * include/grub/i386/coreboot: ... this.
32683
20011694 326842008-07-17 Bean <bean123ch@gmail.com>
32685
32686 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32687 (appleldr_mod_SOURCE): New variable.
20011694 32688 (appleldr_mod_CFLAGS): Likewise.
32689 (appleldr_mod_LDFLAGS): Likewise.
32690 (pci_mod_SOURCES): Likewise.
32691 (pci_mod_CFLAGS): Likewise.
32692 (pci_mod_LDFLAGS): Likewise.
32693 (lspci_mod_SOURCES): Likewise.
32694 (lspci_mod_CFLAGS): Likewise.
32695 (lspci_mod_LDFLAGS): Likewise.
32696
32697 * conf/x86_64-efi.rmk: New file.
32698
32699 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32700 macro.
32701 (grub_efidisk_write): Likewise.
32702
32703 * include/efi/api.h (efi_call_0): New macro.
32704 (efi_call_1): Likewise.
32705 (efi_call_2): Likewise.
32706 (efi_call_3): Likewise.
32707 (efi_call_4): Likewise.
32708 (efi_call_5): Likewise.
32709 (efi_call_6): Likewise.
32710
32711 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32712 grub_rescue_cmd_chainloader.
32713
32714 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32715 (grub_pe32_optional_header): Change some fields based on i386 or
32716 x86_64 platform.
32717 (GRUB_PE32_PE32_MAGIC): Likewise.
32718
32719 * include/grub/efi/uga_draw.h: New file.
32720
32721 * include/grub/elf.h (STN_ABS): New constant.
32722 (R_X86_64_NONE): Relocation constant for x86_64.
32723 (R_X86_64_64): Likewise.
32724 (R_X86_64_PC32): Likewise.
32725 (R_X86_64_GOT32): Likewise.
32726 (R_X86_64_PLT32): Likewise.
32727 (R_X86_64_COPY): Likewise.
32728 (R_X86_64_GLOB_DAT): Likewise.
32729 (R_X86_64_JUMP_SLOT): Likewise.
32730 (R_X86_64_RELATIVE): Likewise.
32731 (R_X86_64_GOTPCREL): Likewise.
32732 (R_X86_64_32): Likewise.
32733 (R_X86_64_32S): Likewise.
32734 (R_X86_64_16): Likewise.
32735 (R_X86_64_PC16): Likewise.
32736 (R_X86_64_8): Likewise.
32737 (R_X86_64_PC8): Likewise.
32738
32739 * include/grub/i386/efi/pci.h: New file.
32740
32741 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32742 Change it value based on platform.
32743 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32744 (GRUB_E820_RAM): Likewise.
32745 (GRUB_E820_RESERVED): Likewise.
32746 (GRUB_E820_ACPI): Likewise.
32747 (GRUB_E820_NVS): Likewise.
32748 (GRUB_E820_EXEC_CODE): Likewise.
32749 (GRUB_E820_MAX_ENTRY): Likewise.
32750 (grub_e820_mmap): New structure.
32751 (linux_kernel_header): Change the efi field according to different
32752 kernel version, also field from linux_kernel_header.
32753
32754 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32755
32756 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32757 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32758 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32759 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32760 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32761 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32762 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32763 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32764 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32765 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32766
32767 * include/grub/x86_64/efi/kernel.h: New file.
32768
32769 * include/grub/x86_64/efi/loader.h: Likewise.
32770
32771 * include/grub/x86_64/efi/machine.h: Likewise.
32772
32773 * include/grub/x86_64/efi/pci.h: Likewise.
32774
32775 * include/grub/x86_64/efi/time.h: Likewise.
32776
32777 * include/grub/x86_64/linux.h: Likewise.
32778
32779 * include/grub/x86_64/setjmp.h: Likewise.
32780
32781 * include/grub/x86_64/time.h: Likewise.
32782
32783 * include/grub/x86_64/types.h: Likewise.
32784
32785 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32786 GRUB_TARGET_SIZEOF_VOID_P.
32787
32788 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32789 (grub_efi_locate_handle): Likewise.
32790 (grub_efi_open_protocol): Likewise.
32791 (grub_efi_set_text_mode): Likewise.
32792 (grub_efi_stall): Likewise.
32793 (grub_exit): Likewise.
32794 (grub_reboot): Likewise.
32795 (grub_halt): Likewise.
32796 (grub_efi_exit_boot_services): Likewise.
32797 (grub_get_rtc): Likewise.
32798
32799 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32800 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32801 (grub_efi_allocate_pages): Wrap efi calls.
32802 (grub_efi_free_pages): Wrap efi calls.
32803 (grub_efi_get_memory_map): Wrap efi calls.
32804
32805 * kern/x86_64/dl.c: New file.
32806
32807 * kern/x86_64/efi/callwrap.S: Likewise.
32808
32809 * kern/x86_64/efi/startup.S: Likewise.
32810
32811 * loader/efi/appleloader.c: Likewise.
32812
32813 * loader/efi/chainloader.c (cmdline): New variable.
32814 (grub_chainloader_unload): Wrap efi calls.
32815 (grub_chainloader_boot): Likewise.
32816 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32817 command line.
32818
32819 * loader/efi/chainloader_normal.c (chainloader_command):
32820 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32821 command line.
32822
32823 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32824 method.
32825 (grub_e820_add_region): New function.
32826 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32827 booting.
32828 (grub_find_video_card): New function.
32829 (grub_linux_setup_video): New function.
32830 (grub_rescue_cmd_linux): Probe for video information.
32831
32832 * normal/x86_64/setjmp.S: New file.
32833
32834 * term/efi/console.c (map_char): New function.
32835 (grub_console_putchar): Map unicode char.
32836 (grub_console_checkkey): Wrap efi calls.
32837 (grub_console_getkey): Likewise.
32838 (grub_console_getwh): Likewise.
32839 (grub_console_gotoxy): Likewise.
32840 (grub_console_cls): Likewise.
32841 (grub_console_setcolorstate): Likewise.
32842 (grub_console_setcursor): Likewise.
32843
32844 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32845
59652a20 328462008-07-16 Pavel Roskin <proski@gnu.org>
32847
ef294055 32848 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32849 format strings.
32850
59652a20 32851 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32852 pointer, not an integer. This fixes a warning and prevents
32853 precision loss on 64-bit systems.
32854 (relocate_addresses): Remove unneeded cast.
32855
afc3b5d7 328562008-07-15 Pavel Roskin <proski@gnu.org>
32857
506b2b3e 32858 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32859
62ead89c 32860 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32861
c4cd51d7 32862 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32863 Fix comparison between signed and unsigned.
32864
0d3d8f28 32865 * include/grub/i386/ieee1275/console.h: Declare
32866 grub_console_init() and grub_console_fini().
32867
8804b286 32868 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32869 It's empty and unused.
32870
ee01cf35 32871 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32872 beginning to avoid warnings with some compilers.
32873
afc3b5d7 32874 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32875 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32876
e4e8eaa5 328772008-07-14 Pavel Roskin <proski@gnu.org>
32878
407aceb4 32879 * kern/env.c (grub_register_variable_hook): Don't copy empty
32880 string, it leaks memory. Pass "" to grub_env_set(), it should
32881 handle constant strings.
32882
e4e8eaa5 32883 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32884 * commands/cmp.c (grub_cmd_cmp): Likewise.
32885 * kern/dl.c (grub_dl_flush_cache): Likewise.
32886 (grub_dl_load_core): Likewise.
32887 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32888 (grub_elf64_load_phdrs): Likewise.
32889
d4e2dad3 328902008-07-13 Pavel Roskin <proski@gnu.org>
32891
32892 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32893 between signed and unsigned.
32894 (LzmaEnc_Finish): Fix warning about an unused parameter.
32895
aa24b516 328962008-07-13 Bean <bean123ch@gmail.com>
32897
32898 * Makefile.in (enable_lzo): New rule.
32899
32900 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32901
32902 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32903
32904 * boot/i386/pc/lnxboot.S: #include <config.h>.
32905
32906 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32907 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32908
32909 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32910 compression algorithm according to configure macro.
32911
32912 * kern/i386/pc/startup.S (codestart): Likewise.
32913
32914 * kern/i386/pc/lzma_decode.S: New file.
32915
32916 * include/grub/lib/LzFind.h: Likewise.
32917
32918 * include/grub/lib/LzHash.h: Likewise.
32919
32920 * include/grub/lib/LzmaDec.h: Likewise.
32921
32922 * include/grub/lib/LzmaEnc.h: Likewise.
32923
32924 * include/grub/lib/LzmaTypes.h: Likewise.
32925
32926 * lib/LzFind.c: Likewise.
32927
32928 * lib/LzmaDec.c: Likewise.
32929
32930 * lib/LzmaEnc.c: Likewise.
32931
4ae821ac 329322008-07-13 Bean <bean123ch@gmail.com>
32933
32934 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32935 (grub_ext4_extent_header): New structure.
32936 (grub_ext4_extent): Likewise.
32937 (grub_ext4_extent_idx): Likewise.
32938 (grub_ext4_find_leaf): New function.
32939 (grub_ext2_read_block): Handle extents.
32940
9a745147 329412008-07-12 Robert Millan <rmh@aybabtu.com>
32942
32943 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32944
d49a4cf6 329452008-07-11 Robert Millan <rmh@aybabtu.com>
32946
32947 * util/grub.d/40_custom.in: New file. Example on how to add custom
32948 entries to /etc/grub.d.
32949 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32950 40_custom (implicitly, by merging all the grub.d rules).
32951
947414b4 329522008-07-11 Pavel Roskin <proski@gnu.org>
32953
0059cf6f 32954 * commands/read.c (grub_getline): Fix invalid memory access.
32955 Don't add newline to the variable value.
32956
947414b4 32957 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32958 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32959 (serial_hw_get_port): Check validity of the port number.
32960 (grub_cmd_serial): Check return value of serial_hw_get_port().
32961
62a02d00 329622008-07-07 Pavel Roskin <proski@gnu.org>
32963
32964 * boot/i386/pc/diskboot.S (notification_string): Replace
32965 "Loading kernel" with just "loading". This is shorter, less
32966 confusing and saves a few bytes for possible future changes.
32967
3e5581b0 329682008-07-05 Pavel Roskin <proski@gnu.org>
32969
ea387a48 32970 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32971 size for ATAPI devices, they are undefined. Output sector
32972 number in decimal form.
32973
3e5581b0 32974 * disk/ata.c: Use named constants for status bits.
32975
fdecb8fd 329762008-07-04 Pavel Roskin <proski@gnu.org>
32977
bcd35b90 32978 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32979 grub_addr_t before casting it to the void pointer to fix a
32980 warning. Non-addressable regions are discarded earlier.
32981 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32982 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32983 (check_signature): Don't shadow table_header.
32984 (grub_linuxbios_table_iterate): Cast numeric constants to
32985 grub_linuxbios_table_header_t.
32986 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32987 grub_stop().
32988
af58ab3d 32989 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32990 prevent warnings.
32991
1759aa57 32992 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32993 pointer, which can cause warnings. Support 64-bit addresses.
32994
fdecb8fd 32995 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32996 of sizeof(long). This fixes PowerPC image generation on x86_64.
32997
8516d2a8 329982008-07-04 Robert Millan <rmh@aybabtu.com>
32999
33000 This fixes a performance issue when pc & gpt partmap iterators
33001 didn't abort iteration even after our hook found what it was
fe987087 33002 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33003
33004 Some callers relied on previous buggy behaviour, since they would
34c44600 33005 raise an error when their own hooks caused early abortion of its
8516d2a8 33006 iteration.
33007
33008 * kern/device.c (grub_device_open): Improve error message.
33009 * disk/lvm.c (grub_lvm_open): Likewise.
33010 * disk/raid.c (grub_raid_open): Likewise.
33011
33012 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33013 when hook requests it, independently of grub_errno.
33014 (pc_partition_map_probe): Do not fail when find_func() caused
33015 early abortion of pc_partition_map_iterate().
33016
33017 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33018 when hook requests it, independently of grub_errno.
33019 (gpt_partition_map_probe): Do not fail when find_func() caused
33020 early abortion of gpt_partition_map_iterate().
33021
33022 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33023 when hook requests it, independently of grub_errno. Do not fail when
33024 part_map_iterate_hook() caused early abortion of p->iterate().
33025
33026 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33027 when grub_partition_iterate() returned with non-zero.
33028
277d0de9 330292008-07-03 Pavel Roskin <proski@gnu.org>
33030
33031 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33032 like we do in grub_ata_pio_read().
33033 (grub_ata_readwrite): Always write individual sectors. Fix the
33034 sector count for the remainder.
33035 (grub_ata_write): Enable writing to ATA devices. Correctly
33036 report error for ATAPI devices.
33037
d4c9b428 330382008-07-02 Pavel Roskin <proski@gnu.org>
33039
e43fc690 33040 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33041 warning.
33042
f707af42 33043 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33044 for every read sector, we already increment it for the whole
33045 batch. This fixes reading more than 256 sectors at once.
33046
11e16b15 33047 * util/grub-editenv.c (cmd_info): Cast argument to long
33048 explicitly. ptrdiff_t reduces to int on i386.
33049
cbabfdd4 33050 * util/grub-editenv.c (main): Be specific which parameter is
33051 missing.
33052
b8fbce0a 33053 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33054 (memdisk): Make memdisk_orig_addr a pointer.
33055
c9c8e606 33056 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33057 for file offsets, use grub_off_t instead. Fix printf format
33058 warnings.
33059
ca62e598 33060 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33061 there. Real unexpected warnings should not drown in the noise
33062 about known problems.
33063
ce8d1766 33064 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33065 grub_disk_addr_t for memory addresses.
33066
00c7a56a 33067 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33068 explicitly to fix a warning.
33069
08d3ef09 33070 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33071
cb71ba20 33072 * Makefile.in (MODULE_LDFLAGS): New variable.
33073 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33074 the linker accepts --build-id=none.
33075 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33076 MODULE_LDFLAGS.
33077 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33078
d4c9b428 33079 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33080 those in Linux XFS code. Provide a way to access 64-bit parent
33081 inode.
33082 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33083 the end of struct grub_xfs_dir_header.
33084
d4156eee 330852008-07-02 Bean <bean123ch@gmail.com>
33086
33087 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33088 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33089 and GRUB_IEEE1275_FLAG_NO_ANSI.
33090
33091 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33092 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33093 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33094
33095 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33096 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33097
33098 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33099 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33100
33101 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33102 esc sequence on non ANSI terminal.
33103 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33104
33105 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33106 beginning of file.
33107
2270f77b 331082008-07-02 Bean <bean123ch@gmail.com>
33109
33110 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33111 (grub_editenv_SOURCES): New variable.
33112 (pkglib_MODULES): Add loadenv.mod.
33113 (loadenv_mod_SOURCES): New variable.
33114 (loadenv_mod_CFLAGS): Likewise.
33115 (loadenv_mod_LDFLAGS): Likewise.
33116
33117 * include/grub/envblk.h: New file.
33118
33119 * util/envblk.c: New file.
33120
33121 * util/grub-editenv.c: New file.
33122
33123 * commands/loadenv.c: New file.
33124
0e9e51ec 331252008-07-01 Pavel Roskin <proski@gnu.org>
33126
d89b7634 33127 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33128 not unsigned char. This fixes warnings and is consistent with
33129 other tags.
33130
bf1835b1 33131 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33132
8222a04b 33133 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33134
6a42d99d 33135 * term/tparm.c (analyze): Always set *popcount.
33136
10b159d1 33137 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33138 cast to fix a warning.
33139
b8789f6c 33140 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33141 cast to suppress a warning.
33142
29d7e38a 33143 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33144 grub_fshelp_read_file() expects.
33145
f341f669 33146 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33147 write uuid as a 32-bit value in CPU byte order, so declare and
33148 use it as such.
33149
0e9e51ec 33150 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33151 long if the format specifier expects it.
33152 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33153 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33154 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33155 long to fix a warning.
33156 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33157 grub_dprintf() arguments to fix warnings.
33158
3aefa857 331592008-06-30 Pavel Roskin <proski@gnu.org>
33160
56c7668b 33161 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33162 install_bsd_part immediately before core.img is embedded or
33163 modified on disk. This fixes core.img verification if core.img
33164 cannot be embedded.
33165
3aefa857 33166 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33167 core_path to calculate the blocklist.
33168 Patch from Javier Martín <lordhabbit@gmail.com>
33169
5444088d 331702008-06-29 Robert Millan <rmh@aybabtu.com>
33171
33172 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33173 block to disk block.
33174 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33175 Patch from Niels Böhm <bitbucket@arcor.de>
33176
674835c8 331772008-06-29 Robert Millan <rmh@aybabtu.com>
33178
33179 * util/update-grub_lib.in (font_path): Search for fonts in
33180 /boot/grub first, which is more likely to be readable (we aren't
33181 deciding where fonts live, just looking for them).
33182
f527dbc8 331832008-06-26 Pavel Roskin <proski@gnu.org>
33184
6c2d8df6 33185 * util/biosdisk.c (read_device_map): Don't leave dead map
33186 entries for devices failing stat() check.
33187
f527dbc8 33188 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33189 core_path_dev for the core.img path on the target device.
33190
aebe3d13 331912008-06-26 Robert Millan <rmh@aybabtu.com>
33192
33193 * disk/fs_uuid.c: New file.
33194 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33195 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33196 (fs_uuid_mod_LDFLAGS): New variables.
33197 * include/grub/disk.h (grub_disk_dev_id): Add
33198 `GRUB_DISK_DEVICE_UUID_ID'.
33199 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33200 implement iterate().
33201
37aaf354 332022008-06-26 Robert Millan <rmh@aybabtu.com>
33203
33204 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33205 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33206 Linux image includes no initrd.
33207
25ff262a 332082008-06-21 Javier Martín <lordhabbit@gmail.com>
33209
33210 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33211 call to resolve the core image location that effectively appended the
33212 name twice.
33213
76a2bd44 332142008-06-21 Robert Millan <rmh@aybabtu.com>
33215
33216 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33217 call from here ...
33218
33219 * util/grub.d/10_hurd.in: ... to here ...
33220 * util/grub.d/10_linux.in: ... and here.
33221
650e1c79 332222008-06-19 Robert Millan <rmh@aybabtu.com>
33223
fe987087 33224 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33225 after it has been set by grub_machine_set_prefix().
33226
6ce63911 332272008-06-19 Robert Millan <rmh@aybabtu.com>
33228
33229 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33230 search result when not saving to variable, not the other way around.
33231 When saving to variable, abort iteration as soon as a match is found.
33232
73940cec 332332008-06-19 Robert Millan <rmh@aybabtu.com>
33234
33235 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33236 check for partition that provides /boot/grub. Its logic is flawed,
33237 as it prevents prepare_grub_to_access_device() from being called
33238 multiple times.
33239
3c62a39d 332402008-06-19 Robert Millan <rmh@aybabtu.com>
33241
33242 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33243 "insmod" command directly when abstraction modules are needed,
fe987087 33244 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33245 since it had already been processed).
33246
47395a42 332472008-06-19 Pavel Roskin <proski@gnu.org>
33248
33249 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33250 changed. This is needed in case GRUB_LIBDIR changes.
33251 * conf/i386-ieee1275.rmk: Likewise.
33252 * conf/i386-linuxbios.rmk: Likewise.
33253 * conf/i386-pc.rmk: Likewise.
33254 * conf/powerpc-ieee1275.rmk: Likewise.
33255
a145ac2d 332562008-06-18 Pavel Roskin <proski@gnu.org>
33257
33258 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33259 kernel_elf_symlist.c to symlist.c for consistency with other
33260 architectures. Update all users.
33261 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33262
7847c51e 332632008-06-18 Robert Millan <rmh@aybabtu.com>
33264
33265 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33266 it in prefix.
33267
33268 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33269 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33270 a RAID device, run setup() for all members independently on whether
33271 LVM abstraction is being used.
33272 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33273 If grub-mkimage has set `*install_dos_part == -2', don't override this
33274 value.
33275 Perform *install_dos_part adjustments independently on whether
33276 we're embedding or not.
33277 Clarify error message when image is too big for embedding.
33278 Remove duplicate *install_dos_part stanza.
33279
b23e5644 332802008-06-17 Robert Millan <rmh@aybabtu.com>
33281
33282 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33283 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33284 variables.
33285 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33286 values in grub_ofconsole_normal_color and
33287 grub_ofconsole_highlight_color (they're not directly related to
33288 background and foreground).
33289 (grub_ofconsole_setcolorstate): Extract background and foreground
33290 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33291
0aac2f79 332922008-06-17 Robert Millan <rmh@aybabtu.com>
33293
33294 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33295 /boot/grub for the check in last commit, not /boot (they could be
33296 different partitions).
33297
3cca7ef3 332982008-06-16 Robert Millan <rmh@aybabtu.com>
33299
33300 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33301 asked to setup access for the same partition that provides /boot,
33302 don't bother using UUIDs since our root already has the value we
33303 want.
33304
347396d8 333052008-06-16 Robert Millan <rmh@aybabtu.com>
33306
33307 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33308 I2O devices.
33309 Patch from Sven Mueller <sven@debian.org>.
33310
991477f8 333112008-06-16 Robert Millan <rmh@aybabtu.com>
33312
33313 * util/update-grub.in: Check for $EUID instead of $UID.
33314 Reported by Vincent Zweije.
33315
d31a32a1 333162008-06-16 Bean <bean123ch@gmail.com>
33317
fe987087 33318 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33319 (grub_ext2_read_block): Likewise.
33320 (grub_ext2_read_inode): Likewise.
33321 (grub_ext2_mount): Likewise.
33322 (grub_ext2_close): Likewise.
33323 (grub_ext3_get_journal): Removed.
33324
fe987087 33325 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33326 (grub_reiserfs_read_symlink): Likewise.
33327 (grub_reiserfs_mount): Likewise.
33328 (grub_reiserfs_open): Likewise.
33329 (grub_reiserfs_read): Likewise.
33330 (grub_reiserfs_close): Likewise.
33331 (grub_reiserfs_get_journal): Removed.
33332
33333 * fs/fshelp.c (grub_fshelp_read): Removed.
33334 (grub_fshelp_map_block): Likewise.
33335
33336 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33337 (grub_fshelp_journal): Likewise.
33338 (grub_fshelp_read): Likewise.
33339 (grub_fshelp_map_block): Likewise.
33340
3540a760 333412008-06-16 Pavel Roskin <proski@gnu.org>
33342
33343 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33344 floating point anymore.
33345 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33346
95614c84 333472008-06-15 Pavel Roskin <proski@gnu.org>
33348
33349 * commands/ls.c (grub_ls_list_files): Use integer calculations
33350 for human readable format, avoid floating point use.
33351 * kern/misc.c (grub_ftoa): Remove.
33352 (grub_vsprintf): Remove floating point support.
33353
50465dd6 333542008-06-15 Robert Millan <rmh@aybabtu.com>
33355
fe6b695a 33356 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33357 devices.
33358 Reported by Max Vozeler.
33359
a9207284 333602008-06-15 Robert Millan <rmh@aybabtu.com>
33361
33362 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33363 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33364 skipped later.
33365 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33366 the beginning of the prefix.
33367
33368 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33369 It is assumed that if we have a memdisk, grub-mkimage has set
33370 grub_prefix to include the "(memdisk)" drive in it.
33371
a7cbd45a 333722008-06-15 Robert Millan <rmh@aybabtu.com>
33373
33374 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33375 Initialize keyboard controller after registering the terminal, so that
33376 grub_printf() can be called from grub_keyboard_controller_init().
33377
21cf716a 333782008-06-15 Robert Millan <rmh@aybabtu.com>
33379
33380 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33381 extent-btree which is written as big endian on disk.
33382 Reported by Alain Greppin <al@chilibi.org>.
33383
23a64d8e 333842008-06-14 Robert Millan <rmh@aybabtu.com>
33385
33386 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33387 * util/i386/pc/grub-install.in (modules): Likewise.
33388
d687651c 333892008-06-13 Pavel Roskin <proski@gnu.org>
33390
33391 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33392
dfe9ddd4 333932008-06-13 Bean <bean123ch@gmail.com>
33394
33395 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33396
33397 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33398
33399 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33400 to indicate sparse block.
33401
16ae7781 334022008-06-12 Pavel Roskin <proski@gnu.org>
33403
e6d1a308 33404 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33405 number, grub_fshelp_read() does it for us.
33406
16ae7781 33407 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33408 linear disk read with journal translation.
33409 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33410 * include/grub/fshelp.h: Declare grub_fshelp_read().
33411
40fd3a2b 334122008-06-09 Pavel Roskin <proski@gnu.org>
33413
33414 * fs/minix.c (grub_minix_mount): Handle error reading
33415 superblock.
33416
f5679726 334172008-06-08 Robert Millan <rmh@aybabtu.com>
33418
33419 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33420 don't append the RAID prefix afterwards.
33421 Reported by Clint Adams.
33422
ce525529 334232008-06-08 Robert Millan <rmh@aybabtu.com>
33424
33425 Based on description from Pavel:
33426 * kern/disk.c (grub_disk_check_range): Rename to ...
33427 (grub_disk_adjust_range): ... this. Add a comment explaining the
33428 tasks performed by this function.
33429
ad4936a0 334302008-06-08 Robert Millan <rmh@aybabtu.com>
33431
33432 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33433 `num_serial' (for consistency with other variables).
33434 (struct grub_ntfs_data): Add `uuid' member.
33435 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33436 (grub_ntfs_uuid): New function.
33437 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33438
dc20b0f9 334392008-06-07 Pavel Roskin <proski@gnu.org>
33440
33441 * util/biosdisk.c (open_device): Revert last change to the
33442 function, it broke installation. The sector needs to be
33443 different dependent on which device is opened.
33444
c5e3cfba 334452008-06-06 Robert Millan <rmh@aybabtu.com>
33446
33447 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33448 rest of GRUB, and breakage doesn't happen if its value were modified.
33449
33450 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33451 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33452 a constant (same value).
33453 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33454 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33455
26a1f8c4 334562008-06-06 Robert Millan <rmh@aybabtu.com>
33457
33458 * util/biosdisk.c (open_device): Do not modify sector offset when
33459 accessing a partition. kern/disk.c already handles this for us.
33460
25d6b327 334612008-06-06 Robert Millan <rmh@aybabtu.com>
33462
33463 * util/grub-emu.c (grub_machine_init): Move code in this function from
33464 here ...
33465 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33466 segfault in case grub_printf() is called).
33467
33468 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33469 grub_probe. Update all users not to explicitly add it again.
33470 (grub_device): New variable; contains corresponding device for grubdir.
33471 (fs_module, partmap_module, devabstraction_module): Pass
33472 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33473 every time.
33474
9ece62fb 334752008-06-05 Robert Millan <rmh@aybabtu.com>
33476
33477 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33478 is found, print it (same layout as with labels).
33479
1ad36d37 334802008-06-04 Robert Millan <rmh@aybabtu.com>
33481
33482 * util/biosdisk.c (get_drive): Rename to ...
33483 (find_grub_drive): ... this. Update all users.
33484
33485 (get_os_disk): Rename to ...
33486 (convert_system_partition_to_system_disk): ... this. Update all users.
33487
33488 (find_drive): Rename to ...
33489 (find_system_device): ... this. Update all users.
33490
e6a30859 334912008-06-04 Robert Millan <rmh@aybabtu.com>
33492
33493 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33494 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33495 (make_device_map): Likewise.
33496
00c108a4 334972008-06-01 Robert Millan <rmh@aybabtu.com>
33498
33499 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33500 before dereferencing it.
33501
33502 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33503 union with fat12/fat16-specific ones. Add some new fields, including
33504 `num_serial' for both versions.
33505 (struct grub_fat_data): Add `uuid' member.
33506 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33507 names. Initialize `data->uuid' using `num_serial'.
33508 (grub_fat_uuid): New function.
33509 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33510
33511 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33512 (grub_reiserfs_uuid): New function.
33513 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33514 member.
33515
33516 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33517 (grub_xfs_uuid): New function.
33518 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33519
1385c5bb 335202008-06-01 Robert Millan <rmh@aybabtu.com>
33521
33522 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33523 code that is backward compatible with pre-uuid search command.
33524
c682dfd7 335252008-05-31 Robert Millan <rmh@aybabtu.com>
33526
33527 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33528 floppies after everything else, to ensure floppy drive isn't accessed
33529 unnecessarily (patch from Bean).
33530
b7db5d47 335312008-05-31 Robert Millan <rmh@aybabtu.com>
33532
33533 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33534 not print device names when we were asked to set a variable.
33535
6e037aa9 335362008-05-31 Robert Millan <rmh@aybabtu.com>
33537
33538 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33539 using "cursor-on" and "cursor-off" commands (understood at least by
33540 the Open Firmware flavour on OLPC).
33541
41305bc8 335422008-05-31 Michael Gorven <michael@gorven.za.net>
33543
33544 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33545 on and off sequences.
33546
69ba137e 335472008-05-31 Robert Millan <rmh@aybabtu.com>
33548
33549 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33550 * util/update-grub.in: Likewise.
33551
520ae21b 335522008-05-30 Pavel Roskin <proski@gnu.org>
33553
33554 * util/biosdisk.c (linux_find_partition): Simplify logic and
33555 make the code more universal. Keep special processing for
33556 devfs, but use a simple rule for all other devices. If the
33557 device ends with a number, append 'p' and the partition number.
33558 Otherwise, append only the partition number.
33559
5786569b 335602008-05-30 Robert Millan <rmh@aybabtu.com>
33561
33562 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33563 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33564 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33565 the `root' parameter to Linux.
33566
51500452 335672008-05-30 Robert Millan <rmh@aybabtu.com>
33568
33569 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33570 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33571 --fs_uuid with --fs-uuid.
33572 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33573 all filesystems support them).
33574
811d3878 335752008-05-30 Robert Millan <rmh@aybabtu.com>
33576
33577 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33578 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33579
cab63c95 335802008-05-30 Robert Millan <rmh@aybabtu.com>
33581
33582 * util/grub.d/00_header.in: Remove obsolete comment referencing
33583 convert_system_path_to_grub_path().
33584 * util/update-grub.in: Likewise.
33585 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33586 (convert_system_path_to_grub_path): Add a warning message explaining
33587 that this function is deprecated. Rely on is_path_readable_by_grub()
33588 for the readability checks.
33589 (font_path): Use is_path_readable_by_grub() for the readability
33590 check rather than convert_system_path_to_grub_path().
33591
972e2f7a 335922008-05-30 Robert Millan <rmh@aybabtu.com>
33593
33594 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33595 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33596 converting it first.
33597 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33598 grub.cfg for access to font file, and afterwards call it again to set
33599 the root device.
33600
62191274 336012008-05-30 Robert Millan <rmh@aybabtu.com>
33602
33603 * commands/search.c (options): Add --fs_uuid option.
33604 (search_fs_uuid): New function.
33605 (grub_cmd_search): Fix --set argument passing.
33606 Use search_fs_uuid() when requested via --fs_uuid.
33607 (grub_search_init): Update help message.
33608 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33609 and redeclare it as an array of 16-bit words.
33610 (grub_ext2_uuid): New function.
33611 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33612 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33613 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33614 (GRUB_DEVICE_BOOT_UUID): New variables.
33615 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33616 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33617 whenever possible.
33618 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33619 just assume `root' variable has the right value.
33620 * util/grub.d/10_linux.in: Likewise.
33621 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33622 via PRINT_FS_UUID.
33623 (main): Recognise `-t fs_uuid' argument.
33624
01b73ec8 336252008-05-30 Robert Millan <rmh@aybabtu.com>
33626
33627 * util/biosdisk.c (map): Redefine structure to hold information
33628 about GRUB drive name.
fe6b695a 33629 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33630 drive names.
33631 (call_hook): Remove.
33632 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33633 member. Assume drive has partitions.
33634 (grub_util_biosdisk_open): Access device names via `.device' struct
33635 member.
33636 (open_device): Likewise.
33637 (find_drive): Likewise.
33638 (read_device_map): Adjust map[] usage to match the new struct
33639 definition. Don't check for duplicates (still possible, but not cheap
33640 anymore).
33641 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33642 (make_device_name): Remove assumption of BIOS-like drive names.
33643
22f16596 336442008-05-30 Pavel Roskin <proski@gnu.org>
33645
33646 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33647 compiling execute.c doesn't need grub_script.tab.h anymore.
33648 (normal/command.c_DEPENDENCIES): Likewise.
33649 (normal/function.c_DEPENDENCIES): Likewise.
33650 * conf/i386-ieee1275.rmk: Likewise.
33651 * conf/i386-linuxbios.rmk: Likewise.
33652 * conf/i386-pc.rmk: Likewise.
33653 * conf/powerpc-ieee1275.rmk: Likewise.
33654 * conf/sparc64-ieee1275.rmk: Likewise.
33655
528ad8f2 336562008-05-29 Pavel Roskin <proski@gnu.org>
33657
d1dff95d 33658 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33659 when scanning metadata for volume group name.
33660
528ad8f2 33661 * include/grub/script.h: Don't include grub_script.tab.h. It's
33662 a generated file, which may only be included from the files with
33663 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33664 use union YYSTYPE, as the later allows forward declaration.
33665 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33666
47248e08 336672008-05-29 Robert Millan <rmh@aybabtu.com>
33668
33669 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33670 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33671 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33672 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33673 scan codes.
33674
ee632529 336752008-05-29 Robert Millan <rmh@aybabtu.com>
33676
33677 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33678 control key combinations.
33679
eee96e08 336802008-05-29 Robert Millan <rmh@aybabtu.com>
33681
33682 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33683 * util/ieee1275/grub-install.in: ... to here.
33684 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33685 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33686 (grub_install_SOURCES): Likewise.
33687
da9a6a94 336882008-05-29 Robert Millan <rmh@aybabtu.com>
33689
33690 * fs/affs.c: Update copyright year.
33691 * fs/ext2.c: Likewise.
33692 * fs/fshelp.c: Likewise.
33693 * fs/hfsplus.c: Likewise.
33694 * fs/ntfs.c: Likewise.
33695 * fs/xfs.c: Likewise.
33696 * include/grub/fshelp.h: Likewise.
33697 * util/grub-mkdevicemap.c: Likewise.
33698
12e65f3a 336992008-05-28 Robert Millan <rmh@aybabtu.com>
33700
33701 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33702 might need to be fatfs to support some firmware implementations
33703 (e.g. OFW or EFI).
33704
23023641 337052008-05-28 Robert Millan <rmh@aybabtu.com>
33706
33707 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33708 devices.
33709 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33710 (make_device_map): Likewise.
33711
887d2619 337122008-05-20 Bean <bean123ch@gmail.com>
33713
33714 * fs/fshelp.c (grub_fshelp_map_block): New function.
33715 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33716 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33717
33718 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33719 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33720 (grub_fshelp_journal): New structure.
33721 (grub_fshelp_map_block): New function prototype.
33722 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33723 (grub_fshelp_map_block): Likewise.
33724
33725 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33726 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33727 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33728 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33729 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33730 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33731 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33732 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33733 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33734 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33735 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33736 (grub_ext2_sblock): New members for journal support.
33737 (grub_ext3_journal_header): New structure.
33738 (grub_ext3_journal_revoke_header): Likewise.
33739 (grub_ext3_journal_block_tag): Likewise.
33740 (grub_ext3_journal_sblock): Likewise.
33741 (grub_fshelp_node): New members logfile and journal.
33742 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33743 grub_fshelp_map_block to get real block number.
33744 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33745 number.
33746 (grub_ext2_read_inode): Likewise.
33747 (grub_ext3_get_journal): New function.
33748 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33749 (grub_ext2_close): Release memory used by journal.
33750
33751 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33752 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33753 (grub_reiserfs_transaction_header): Renamed to
33754 grub_reiserfs_description_block, replace field data with real_blocks.
33755 (grub_reiserfs_commit_block): New structure.
33756 (grub_reiserfs_data): New member journal.
33757 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33758 number.
33759 (grub_reiserfs_read_symlink): Likewise.
33760 (grub_reiserfs_iterate_dir): Likewise.
33761 (grub_reiserfs_open): Likewise.
33762 (grub_reiserfs_read): Likewise.
33763 (grub_reiserfs_get_journal): New function.
33764 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33765 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33766 using grub_reiserfs_get_journal.
33767 (grub_reiserfs_close): Release memory used by journal.
33768
33769 * fs/affs.c (grub_affs_read_block): Change block type to
33770 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33771
33772 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33773
33774 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33775
33776 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33777
33778 * fs/udf.c (grub_udf_read_block): Change block type to
33779 grub_disk_addr_t. Use type cast to avoid warning.
33780
33781 * fs/xfs.c (grub_xfs_read_block): Likewise.
33782
b7c6bed5 337832008-05-16 Christian Franke <franke@computer.org>
33784
33785 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33786 to ensure that break with ESC will always work.
33787 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33788 Remove ESC from keyboard queue.
33789
eedf167f 337902008-05-16 Christian Franke <franke@computer.org>
33791
33792 * util/biosdisk.c: [__CYGWIN__] Add includes.
33793 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33794 (get_os_disk): Move variable declarations to OS specific
33795 parts to avoid warning.
33796 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33797 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33798 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33799 Cygwin.
33800 * util/getroot.c: [__CYGWIN__] Add includes.
33801 (strip_extra_slashes): Fix "/" case.
33802 [__CYGWIN__] (get_win32_path): New function.
33803 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33804 [__CYGWIN__] (find_root_device): Disable.
33805 [__CYGWIN__] (get_bootsec_serial): New function.
33806 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33807 [__linux__] (grub_guess_root_device): Add early returns to simplify
33808 structure.
33809 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33810 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33811 check for Linux only.
33812
a079699e 338132008-05-15 Bean <bean123ch@gmail.com>
33814
33815 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33816 keyboard hang problem in apple's intel mac.
33817
1cf4059a 338182008-05-09 Robert Millan <rmh@aybabtu.com>
33819
33820 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33821 devices.
33822 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33823 (make_device_map): Likewise.
33824 Reported by Aurelien Jarno <aurel32@debian.org>
33825
ed759390 338262008-05-07 Ian Campbell <ijc@hellion.org.uk>
33827
33828 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33829 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33830 (make_device_map): Output entries for xvd type disks.
33831
b56c4eaa 338322008-05-07 Robert Millan <rmh@aybabtu.com>
33833
33834 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33835 devices.
33836 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33837 (make_device_map): Likewise.
33838 Reported by Roland Dreier <rdreier@cisco.com>
33839
7f8866ed 338402008-05-07 Robert Millan <rmh@aybabtu.com>
33841
33842 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33843 grub_strstr() call. Correct a few mistakes in failure path handling.
33844
b0346e0f 338452008-05-06 Robert Millan <rmh@aybabtu.com>
33846
33847 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33848 Do not print a trailing slash (therefore, the root directory is an
33849 empty string).
33850 (convert_system_path_to_grub_path): Do not remove trailing slash
33851 from make_system_path_relative_to_its_root() output.
33852
33853 * util/i386/pc/grub-install.in: Add trailing slash to output from
33854 make_system_path_relative_to_its_root().
33855
6cf12cbd 338562008-05-06 Robert Millan <rmh@aybabtu.com>
33857
33858 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33859 ensures that output lines aren't intermangled with those sent to
33860 stderr (via grub_util_info()).
33861 * util/grub-probe.c (grub_refresh): Likewise.
33862 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33863
0fbb3117 338642008-05-05 Christian Franke <franke@computer.org>
33865
33866 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33867 Add Cygwin device names.
33868 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33869 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33870 (check_device): Return error instead of success on empty name.
33871 (make_device_map): Move label inside linux specific code to
33872 prevent compiler warning.
33873
8124cdb7 338742008-04-30 Robert Millan <rmh@aybabtu.com>
33875
33876 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33877 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33878 first boot option.
33879 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33880
094c01d0 338812008-04-29 Robert Millan <rmh@aybabtu.com>
33882
33883 * docs/grub.cfg: New file (example GRUB configuration).
33884
f4b1fc02 338852008-04-26 Robert Millan <rmh@aybabtu.com>
33886
329ce2a5 33887 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33888 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33889 and `disk/ieee1275/nand.c'.
f4b1fc02 33890
25f16ec1 338912008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33892
25f16ec1 33893 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33894 i386-linuxbios.
33895
33896 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33897 change the buffer size to 4096 for cdrom device.
33898
33899 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33900 and nand.mod.
33901 (_linux_mod_SOURCES): New variable.
33902 (_linux_mod_CFLAGS): Likewise.
33903 (_linux_mod_LDFLAGS): Likewise.
33904 (linux_mod_SOURCES): Likewise.
33905 (linux_mod_CFLAGS): Likewise.
33906 (linux_mod_LDFLAGS): Likewise.
33907 (nand_mod_SOURCES): Likewise.
33908 (nand_mod_CFLAGS): Likewise.
33909 (nand_mod_LDFLAGS): Likewise.
33910
33911 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33912 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33913 type property. (nand device in olpc don't have this property)
33914
33915 * include/grub/disk.h (grub_disk_dev_id): New macro
33916 GRUB_DISK_DEVICE_NAND_ID.
33917
33918 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33919 function prototype.
33920 (grub_rescue_cmd_initrd): Likewise.
33921
33922 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33923 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33924 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33925
25f16ec1 33926 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33927 GRUB_MACHINE_IEEE1275 is defined.
33928
33929 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33930 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33931
33932 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33933 on nested function heap_init.
33934 (grub_upper_mem): New variable for i386-ieee1275.
33935 (grub_get_extended_memory): New function for i386-ieee1275.
33936 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33937
33938 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33939 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33940 property.
f19dbdb7 33941
25f16ec1 33942 * loader/i386/ieee1275/linux.c: New file.
33943
33944 * loader/i386/ieee1275/linux_normal.c: New file.
33945
33946 * disk/ieee1275/nand.c: New file.
33947
e89d61e9 339482008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33949
33950 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33951 value.
33952 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33953
602566f6 339542008-04-18 Robert Millan <rmh@aybabtu.com>
33955
33956 Restructures early code path on ieee1275 to unify grub_main() as
33957 the first C function that is executed in every platform.
33958
33959 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33960 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33961 cmain().
33962 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33963 * kern/ieee1275/cmain.c (cmain): Rename to ...
33964 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33965 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33966 at the beginning.
33967
57490c2b 339682008-04-18 Robert Millan <rmh@aybabtu.com>
33969
33970 * util/update-grub.in: Fix syntax error when setting
33971 `GRUB_PRELOAD_MODULES'.
33972 Reported by Stephane Chazelas <stephane@artesyncp.com>
33973
1977517d 339742008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33975
33976 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33977 section into account, newer toolchains generate unique build ids
33978 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33979 we want build ids to be preserved
1977517d 33980 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33981 far from other sections don't cause the raw binary images grow
33982 size
33983
bfb1f1a2 339842008-04-15 Robert Millan <rmh@aybabtu.com>
33985
33986 * disk/lvm.c: Update copyright year.
33987 * kern/misc.c: Likewise.
33988
01979850 339892008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33990
33991 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33992 there is no memory left for physical volume name.
01979850 33993
0a1150e2 339942008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33995
33996 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33997 volume name mapping to support bigger than 9 character names properly.
33998
82ead3fe 339992008-04-13 Robert Millan <rmh@aybabtu.com>
34000
34001 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34002 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34003
e54a72f5 340042008-04-13 Christian Franke <franke@computer.org>
34005
34006 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34007 to create a floppy emulation boot CD when non emulation mode
34008 does not work.
34009 Enable Joliet CD filesystem extension.
34010
9fe86034 340112008-04-13 Robert Millan <rmh@aybabtu.com>
34012
34013 * kern/misc.c (grub_strncat): Fix off-by-one error.
34014 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34015
34016 * kern/env.c (grub_env_context_close): Clear current context, not
34017 previous one.
34018 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34019
34020 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34021
7ceeee39 340222008-04-13 Robert Millan <rmh@aybabtu.com>
34023
34024 Improve robustness when handling LVM.
34025
34026 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34027 (and leave `*p' unmodified).
7ceeee39 34028 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34029 through it.
34030 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34031 iterating through it.
34032 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34033 through it.
fe6b695a 34034 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34035 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34036 Don't assume `vg->pvs != NULL' when iterating through it.
34037
58cd3d85 340382008-04-13 Robert Millan <rmh@aybabtu.com>
34039
34040 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34041 * genmk.rb (partmap): New variable.
34042 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34043 (#{partmap}): New target rule.
34044 * genpartmaplist.sh: New file.
34045 * Makefile.in (pkglib_DATA): Add partmap.lst.
34046 (partmap.lst): New target rule.
34047 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34048 modules (including all partition maps), instead of preloading them.
34049
78b51059 340502007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34051
34052 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34053 `linux-boot-prober' (if installed) to detect other operating
34054 systems which are installed on the computer and add them to
34055 the boot menu.
34056 * conf/common.rmk: Build and install 30_os-prober.
34057
a91627b4 340582008-04-12 Robert Millan <rmh@aybabtu.com>
34059
34060 * kern/powerpc/ieee1275/init.c: Move from here ...
34061 * kern/ieee1275/init.c: ... to here. Update all users.
34062
34063 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34064 * kern/ieee1275/cmain.c: ... to here. Update all users.
34065
34066 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34067 * kern/ieee1275/openfw.c: ... to here. Update all users.
34068
34069 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34070 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34071
322562ea 340722008-04-10 Pavel Roskin <proski@gnu.org>
34073
34074 * configure.ac: Always use "_cv_" in cache variables for
34075 compatibility with Autoconf 2.62.
34076
a02a73c5 340772008-04-07 Robert Millan <rmh@aybabtu.com>
34078
34079 Revert grub/machine/init.h addition by Pavel (since it breaks on
34080 i386-ieee1275 and others):
34081 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34082 * util/powerpc/ieee1275/misc.c: Likewise.
34083
25c024b1 340842008-04-07 Robert Millan <rmh@aybabtu.com>
34085
34086 * util/grub-probe.c (probe): Improve error message.
34087
3cbd2f98 340882008-04-07 Robert Millan <rmh@aybabtu.com>
34089
34090 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34091 (this prevents the presence of a bogus entry from ruining the whole
34092 thing).
34093
87a297bf 340942008-04-06 Pavel Roskin <proski@gnu.org>
34095
36747a62 34096 * util/biosdisk.c: Include grub/util/biosdisk.h.
34097 * util/grub-fstest.c (execute_command): Make static.
34098 * util/grub-mkdevicemap.c (check_device): Likewise.
34099 * util/i386/pc/misc.c: Include grub/machine/init.h.
34100 * util/powerpc/ieee1275/misc.c: Likewise.
34101 * util/lvm.c: Include grub/util/lvm.h.
34102 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34103 grub/cache.h.
34104 * util/raid.c: Include grub/util/raid.h.
34105 (grub_util_getdiskname): Make static.
34106
87a297bf 34107 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34108 grub_hostfs_fini(), as they are called from grub_init_all() and
34109 grub_fini_all() respectively. This fixes an infinite loop in
34110 grub-fstest due to double registration of hostfs.
34111 Reported by Christian Franke <Christian.Franke@t-online.de>
34112
f6ce7629 341132008-04-05 Pavel Roskin <proski@gnu.org>
34114
34115 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34116 all 8 functions. Otherwise, probe function 0 only.
34117
070e49e4 341182008-04-04 Pavel Roskin <proski@gnu.org>
34119
8b088a4c 34120 * commands/lspci.c (grub_lspci_iter): Print the bus number
34121 correctly.
34122
4f657021 34123 * commands/lspci.c (grub_pci_classes): Fix typos.
34124 (grub_lspci_iter): Don't print func twice. Print vendor ID
34125 before device ID, as it's normally done.
34126
070e49e4 34127 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34128 Fix signedness warnings.
34129 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34130 Likewise.
34131 * util/ieee1275/get_disk_name.c: Include config.h so that
34132 _GNU_SOURCE is defined and getline() is declared. Mark an
34133 unused argument as such. Fix a signedness warning.
34134
ba7328dc 341352008-04-02 Pavel Roskin <proski@gnu.org>
34136
26887f22 34137 * genkernsyms.sh.in: Use more robust assignments for CC and
34138 srcdir. Quote srcdir.
34139 * gensymlist.sh.in: Likewise. Assert at the compile time that
34140 the symbol table is not empty.
34141
ba7328dc 34142 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34143 * fs/cpio.c (grub_cpio_read): Likewise.
34144
0f582c6b 341452008-04-01 Pavel Roskin <proski@gnu.org>
34146
4b6e1995 34147 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34148 * disk/host.c (grub_host_open): Likewise.
34149 * disk/loopback.c (grub_loopback_open): Likewise.
34150 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34151 disk->id as in disk/host.c, not a multi-character constant.
34152
828a2768 34153 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34154 later is obsolete, potentially dangerous and sets a bad example.
34155 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34156 * util/misc.c (grub_util_get_image_size): Likewise.
34157
2bb4fb47 34158 * disk/loopback.c (options): Improve help for "--partitions".
34159
0f582c6b 34160 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34161 options to align them with the short options, e.g. "echo -e".
34162
a33224e0 341632008-03-31 Bean <bean123ch@gmail.com>
34164
34165 * video/reader/png.c (grub_png_data): New member is_16bit and
34166 image_data.
34167 (grub_png_decode_image_header): Detect 16 bit png image.
34168 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34169 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34170 (grub_video_reader_png): Release memory occupied by image_data.
34171
34172 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34173 4096 bytes.
34174 (grub_nfs_mount): Skip the test for sector per cluster.
34175
34176 * include/grub/ntfs.h (MAX_SPC): Removed.
34177
86cb4f54 341782008-03-31 Bean <bean123ch@gmail.com>
34179
34180 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34181 (grub_probe_SOURCES): Add fs/afs.c.
34182 (grub_fstest_SOURCES): Likewise.
34183 (afs_mod_SOURCES): New variable.
34184 (afs_mod_CFLAGS): Likewise.
34185 (afs_mod_LDFLAGS): Likewise.
34186
34187 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34188 (grub_emu_SOURCES): Likewise.
34189
34190 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34191
34192 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34193
34194 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34195
34196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34197
34198 * fs/afs.c: New file.
34199
17c74c21 342002008-03-30 Pavel Roskin <proski@gnu.org>
34201
4cb68e89 34202 * disk/host.c: Include grub/misc.h to fix a warning.
34203 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34204 warnings about implicit declarations.
34205
8790bb04 34206 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34207 variable.
34208 * include/grub/i386/loader.h: Change declaration of
34209 grub_linux_boot() to match what grub_loader_set() expects.
34210 * util/getroot.c (grub_guess_root_device): Return const char* to
34211 fix a warning.
34212 * util/grub-probe.c (probe): Fix a warning about uninitialized
34213 abstraction_name variable.
34214 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34215 second argument as unused to fix a warning.
34216
9a3f3296 34217 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34218 missing grub_error() call.
34219
0ecef90d 34220 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34221 2.60 and newer uses it to define datadir.
34222
0bf6d401 34223 * commands/sleep.c: Fix warning about implicit declaration.
34224 * disk/memdisk.c: Likewise.
34225 * loader/aout.c: Likewise.
34226 * loader/i386/bsd_normal.c: Likewise.
34227 * util/grub-probe.c: Likewise.
34228
7cdacf97 34229 * commands/i386/cpuid.c (has_longmode): Make static.
34230 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34231 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34232
17c74c21 34233 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34234 GDT. This is more robust, as %ds can change.
34235 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34236 calling real_to_prot().
34237 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34238
80a3e68b 342392008-03-28 Pavel Roskin <proski@gnu.org>
34240
34241 * kern/i386/pc/startup.S: Assert that uncompressed functions
34242 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34243 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34244 code, as they push parts of the code (error handlers) beyond
34245 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34246 code as correctness and size.
34247
77bcd272 342482008-03-28 Pavel Roskin <proski@gnu.org>
34249
34250 * kern/i386/pc/startup.S
34251 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34252 data block address to the real mode, keep offset minimal. This
34253 works around a bug in AWARD BIOS on old Athlon systems, which
34254 makes CD detection hang.
34255
c5dfd43b 342562008-03-26 Pavel Roskin <proski@gnu.org>
34257
34258 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34259 const.
34260 * include/grub/normal.h: Add grub_parse_color_name_pair()
34261 declaration.
34262
bf962df2 342632008-03-24 Bean <bean123ch@gmail.com>
34264
34265 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34266 (cd_count): Removed.
34267 (cd_drive): New variable.
34268 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34269 (grub_biosdisk_call_hook): Likewise.
34270 (grub_biosdisk_iterate): Change cdrom detection method.
34271 (grub_biosdisk_open): Replace cd_start with cd_drive.
34272 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34273 detect cdrom device.
34274
34275 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34276 Removed.
34277 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34278 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34279 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34280 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34281 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34282 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34283 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34284 (grub_biosdisk_cdrp): New structure.
34285 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34286
34287 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34288
34289 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34290 device.
34291
34292 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34293 New function.
34294
68e7fc7a 342952008-03-20 Robert Millan <rmh@aybabtu.com>
34296
34297 Remove 2 TiB limit in ata.mod.
34298 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34299 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34300 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34301 grub_uint64_t instead of grub_uint32_t.
34302
38ad2cf5 343032008-03-05 Bean <bean123ch@gmail.com>
34304
34305 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34306 (grub_multiboot): Set boot device.
34307
34308 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34309
2b89344e 343102008-03-02 Bean <bean123ch@gmail.com>
34311
34312 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34313 symlink_buffer.
34314
87a95d1f 343152008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34316
34317 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34318 texinfo.tex.
34319
34320 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34321 modified.
34322
34323 * docs/fdl.texi: New file.
f19dbdb7 34324
87a95d1f 34325 * docs/mdate-sh: New file. Copied from gnulib.
34326 * docs/texinfo.tex: Likewise.
34327
34328 * config.guess: Updated from gnulib.
34329 * install-sh: Likewise.
34330
7dc15d8e 343312008-02-28 Robert Millan <rmh@aybabtu.com>
34332
34333 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34334 (aout_mod_SOURCES): New variable.
34335 (aout_mod_CFLAGS): Likewise.
34336 (aout_mod_LDFLAGS): Likewise.
34337
34338 * conf/i386-ieee1275.rmk: Likewise.
34339
b00ab696 343402008-02-28 Robert Millan <rmh@aybabtu.com>
34341
34342 * util/update-grub.in: Reorganise terminal validity check. Accept
34343 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34344 Based on suggestion by Franklin PIAT.
34345
79ca2d78 343462008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34347
34348 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34349 function.
34350 * util/getroot.c (grub_util_check_block_device): New function that
34351 returns the given argument if it is a block device and returns NULL else.
34352 * util/grub-probe.c (argument_is_device): New variable.
34353 (probe): Promote device_name from a variable to an argument. Receive
34354 device_name from grub_util_check_block_device() if path is NULL and from
34355 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34356 (options): Introduce new parameter '-d, --device'.
79ca2d78 34357 (main): Add description of the new parameter to the help screen.
34358 Rename path variable to argument. Set argument_is_device if the '-d'
34359 option is given. Pass argument to probe() depending on
34360 argument_is_device.
34361
0d16e571 343622008-02-24 Bean <bean123ch@gmail.com>
34363
34364 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34365 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34366 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34367 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34368 (GRUB_ISO9660_VOLDESC_END): Likewise.
34369 (grub_iso9660_primary_voldesc): New member escape.
34370 (grub_iso9660_data): New member joliet.
34371 (grub_iso9660_convert_string): New function.
34372 (grub_iso9660_mount): Detect joliet extension.
34373 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34374 (grub_iso9660_iso9660_label): Likewise.
34375
34376 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34377 (grub_setup_SOURCES): Add fs/udf.c.
34378 (grub_fstest_SOURCES): Likewise.
34379 (udf_mod_SOURCES): New variable.
34380 (udf_mod_CFLAGS): Likewise.
34381 (udf_mod_LDFLAGS): Likewise.
34382
34383 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34384 (grub_emu_SOURCES): Likewise.
34385
34386 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34387
34388 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34389
34390 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34391
34392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34393
34394 * fs/udf.c: New file.
34395
8a594a17 343962008-02-24 Robert Millan <rmh@aybabtu.com>
34397
34398 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34399 (normal/lexer.c_DEPENDENCIES): New variables.
34400 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34401 (normal/lexer.c_DEPENDENCIES): Likewise.
34402 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34403 (normal/lexer.c_DEPENDENCIES): Likewise.
34404 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34405 (normal/lexer.c_DEPENDENCIES): Likewise.
34406 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34407 (normal/lexer.c_DEPENDENCIES): Likewise.
34408 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34409 (normal/lexer.c_DEPENDENCIES): Likewise.
34410
2dc33c03 344112008-02-23 Robert Millan <rmh@aybabtu.com>
34412
34413 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34414 since they were intended to be in hex. This didn't break previously
34415 because of a bug in gpt_partition_map_iterate() (see below).
34416
34417 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34418 when checking the validity of GPT header.
34419 Remove `partno', since it always provides the same information as `i'.
34420
f6f4cfb0 344212008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34422
34423 * include/grub/efi/time.h: Fix a wrong comment.
34424
79ff665f 344252008-02-19 Pavel Roskin <proski@gnu.org>
34426
34427 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34428 message.
34429
d38e24c2 344302008-02-19 Bean <bean123ch@gmail.com>
34431
34432 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34433 (aout_mod_SOURCES): New variable.
34434 (aout_mod_CFLAGS): Likewise.
34435 (aout_mod_LDFLAGS): Likewise.
34436 (_bsd_mod_SOURCES): New variable.
34437 (_bsd_mod_CFLAGS): Likewise.
34438 (_bsd_mod_LDFLAGS): Likewise.
34439 (bsd_mod_SOURCES): New variable.
34440 (bsd_mod_CFLAGS): Likewise.
34441 (bsd_mod_LDFLAGS): Likewise.
34442
34443 * include/grub/aout.h: New file.
34444
34445 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34446
34447 * include/grub/i386/bsd.h: New file.
34448
34449 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34450 to make it public.
34451
34452 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34453 function is called, so that it's possible to change it inside the hook.
34454 (grub_elf64_load): Likewise.
34455 (grub_elf_file): Don't close the file if elf header is not found.
34456 (grub_elf_close): Close the file if grub_elf_file fails (The new
34457 grub_elf_file won't close it).
34458 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34459 (grub_elf64_size): Likewise.
34460
34461 * kern/i386/loader.S (grub_unix_real_boot): New function.
34462
34463 * loader/aout.c: New file.
34464
34465 * loader/i386/bsd.c: New file.
34466
34467 * loader/i386/bsd_normal.c: New file.
34468
34469 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34470
34471 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34472 can test other formats.
d38e24c2 34473
b93bdb0f 344742008-02-19 Robert Millan <rmh@aybabtu.com>
34475
34476 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34477 (grub_gpt_partition_type_empty): Redefine with macro from
34478 `<grub/gpt_partition.h>'.
34479 (gpt_partition_map_iterate): Adjust partition type comparison.
34480
34481 Export `entry' as partmap-specific `part.data' struct.
34482 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34483
34484 * include/grub/gpt_partition.h (grub_gpt_header)
34485 (grub_gpt_partentry): ... to here (new file).
34486
34487 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34488
34489 (grub_gpt_partition_type_bios_boot): New const variable, defined
34490 with macro from `<grub/gpt_partition.h>'.
34491
34492 (setup): Replace `first_start' with `embed_region', which keeps
34493 track of the embed region (and is partmap-agnostic).
34494
34495 Replace find_first_partition_start() with find_usable_region(),
34496 which finds a usable region for embedding using partmap-specific
34497 knowledge (supports PC/MSDOS and GPT).
34498
34499 Fix all assumptions that the embed region start at sector 1, using
34500 `embed_region.start' from now on. Similarly, use `embed_region.end'
34501 rather than `first_start' to calculate available size.
34502
34503 In grub_util_info() message, replace "into after the MBR" with an
34504 indication of the specific sector our embed region starts at.
34505
66cb40f6 345062008-02-19 Robert Millan <rmh@aybabtu.com>
34507
34508 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34509 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34510 `commands/reboot.c'.
34511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34512 (halt_mod_SOURCES): Likewise.
34513 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34514 (halt_mod_SOURCES): Likewise.
34515
b7202015 345162008-02-17 Christian Franke <franke@computer.org>
34517
34518 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34519
32b0fc49 345202008-02-17 Robert Millan <rmh@aybabtu.com>
34521
34522 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34523 set `first_start' to 0 for non-PC/MSDOS partition maps.
34524
aca63502 345252008-02-16 Robert Millan <rmh@aybabtu.com>
34526
34527 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34528 do not assume partition map is PC/MSDOS before performing checks that
34529 are specific to that layout.
34530
0de8be86 345312008-02-13 Robert Millan <rmh@aybabtu.com>
34532
34533 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34534 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34535 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34536
c3db8364 345372008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34538
34539 * configure.ac: Only a cosmetic change on the handling of
34540 -fno-stack-protector.
34541
f714229e 345422008-02-12 Alexandre Boeglin <alex@boeglin.org>
34543
c3db8364 34544 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34545 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34546 reboot.c.
f714229e 34547 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34548 (halt_mod_SOURCES): New variable.
34549 (halt_mod_CFLAGS): Likewise.
34550 (halt_mod_LDFLAGS): Likewise.
34551 (reboot_mod_SOURCES): Likewise.
34552 (reboot_mod_CFLAGS): Likewise.
34553 (reboot_mod_LDFLAGS): Likewise.
34554
c3db8364 34555 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34556 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34557 reboot.c.
f714229e 34558 (halt_mod_SOURCES): Likewise.
34559 (reboot_mod_SOURCES): Likewise.
34560
c3db8364 34561 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34562 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34563 (reboot_mod_SOURCES): Likewise.
34564
34565 * commands/i386/pc/reboot.c: merge this file ...
34566
34567 * commands/ieee1275/reboot.c: ... and this file ...
34568
34569 * commands/reboot.c: ... to this file.
c3db8364 34570 Add some precompiler directive to include the correct header for
34571 each machine.
f714229e 34572
34573 * commands/ieee1275/halt.c: move this file ...
34574
34575 * commands/halt.c: ... to here.
c3db8364 34576 Add some precompiler directive to include the correct header for
34577 each machine.
f714229e 34578
34579 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34580 (grub_halt): Likewise.
34581
34582 * kern/efi/efi.c (grub_reboot): New function.
34583 (grub_halt): Likewise.
34584
c74493e0 345852008-02-12 Robert Millan <rmh@aybabtu.com>
34586
34587 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34588 /dev (like it is done for /dev/mapper). This doesn't provide support
34589 for EVMS, but at least it is now easy to identify the problem when it
34590 arises.
34591
d0db4b04 345922008-02-11 Robert Millan <rmh@aybabtu.com>
34593
34594 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34595 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34596 comparing it with -1, not 0.
34597
bf748642 345982008-02-10 Robert Millan <rmh@aybabtu.com>
34599
34600 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34601 `disk/lvm.c'.
34602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34603 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34604
34605 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34606 `disk/lvm.c' to the end of the list.
34607 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34608 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34609
b5db202a 346102008-02-10 Robert Millan <rmh@aybabtu.com>
34611
34612 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34613 grub_print_error() instead. This will let user know why we're entering
34614 rescue mode.
34615 Based on suggestions from Sam Morris.
34616
83abee31 346172008-02-10 Alexandre Boeglin <alex@boeglin.org>
34618
34619 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34620 on remaining N args, instead of "--" arg N times.
34621
78d5a08b 346222008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34623
34624 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34625 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34626 pattern for unknown glyphs.
34627
68807e5f 346282008-02-09 Robert Millan <rmh@aybabtu.com>
34629
34630 * configure.ac: Probe for `help2man'.
34631 * Makefile.in (builddir): New variable.
34632 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34633 or otherwise add a few flags/options to it.
34634 (install-local): For every executable utility or script that is
34635 installed, invoke $(HELP2MAN) to install a manpage based on --help
34636 output.
34637
34638 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34639 that it doesn't prevent --help from working in build tree.
34640
34641 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34642 with `bug-grub@gnu.org'.
34643 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34644 * util/update-grub.in (usage): New function.
34645 Implement proper argument check, with support for --help and --version
34646 (as well as existing -y).
34647
346482008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34649
34650 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34651 avoid overwriting previous output.
34652 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34653
c1962162 346542008-02-09 Robert Millan <rmh@aybabtu.com>
34655
34656 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34657 drawing the menu.
34658
3dac2e3f 346592008-02-09 Robert Millan <rmh@aybabtu.com>
34660
34661 * commands/sleep.c: New file.
34662 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34663 (sleep_mod_SOURCES): New variable.
34664 (sleep_mod_CFLAGS): Likewise.
34665 (sleep_mod_LDFLAGS): Likewise.
34666
7a634e08 346672008-02-09 Robert Millan <rmh@aybabtu.com>
34668
34669 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34670 situations in which we can deduce the RAID size and the superblock
34671 doesn't match it.
34672
b92f0c18 346732008-02-09 Robert Millan <rmh@aybabtu.com>
34674
34675 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34676 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34677 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34678
34679 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34680 and return a grub_diskmemberlist_t composed of physical array members.
34681 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34682
34683 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34684 prototype.
34685 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34686 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34687 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34688
34689 * util/grub-probe.c (probe): Move partmap probing code from here ...
34690 (probe_partmap): ... to here.
34691 (probe): Use probe_partmap() once for the disk we're probing, and
34692 additionally, when such disk contains a memberlist() struct member,
34693 once for each disk that is contained in the structure returned by
34694 memberlist().
34695
91a4bf68 346962008-02-09 Robert Millan <rmh@aybabtu.com>
34697
34698 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34699 environment variable to 'all' in order to obtain debug output from
34700 non-util/ code.
34701 * util/i386/pc/grub-setup.c (main): Likewise.
34702
a96f9caa 347032008-02-08 Robert Millan <rmh@aybabtu.com>
34704
34705 * disk/raid.c (grub_raid_scan_device): Check for
34706 `array->device[sb.this_disk.number]' rather than for
34707 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34708 guaranteed to be accessible.
a96f9caa 34709
b37a9222 347102008-02-08 Robert Millan <rmh@aybabtu.com>
34711
34712 * disk/raid.c: Update copyright.
34713 * fs/cpio.c: Likewise.
34714 * include/grub/raid.h: Likewise.
34715 * loader/i386/pc/multiboot.c: Likewise.
34716 * util/hostfs.c: Likewise.
34717
5626aee1 347182008-02-08 Robert Millan <rmh@aybabtu.com>
34719
34720 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34721 to a grub_disk_t array.
34722 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34723 `device[x]'.
34724 (grub_raid_scan_device): Replace `device[x].name' accesses with
34725 `device[x]->name'. Simplify initialization of `array->device[x]'.
34726
554f0187 347272008-02-08 Robert Millan <rmh@aybabtu.com>
34728
34729 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34730 grub_dprintf() calls.
34731 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34732 error message.
34733
1ec8425d 347342008-02-07 Christian Franke <franke@computer.org>
34735
34736 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34737 instead of fseek and ftell to support large files.
34738 (grub_hostfs_read): Likewise.
34739
f2156fda 347402008-02-07 Robert Millan <rmh@aybabtu.com>
34741
34742 Patch from Jeroen Dekkers.
34743 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34744 failure, since successfully reading all array members might not be
f2156fda 34745 required.
34746
9216e0e7 347472008-02-06 Robert Millan <rmh@aybabtu.com>
34748
34749 * util/grub-probe.c (probe): Simplify partmap probing (with the
34750 assumption that the first word up to the underscore equals to
34751 the module name).
34752
b0dfd29a 347532008-02-06 Christian Franke <franke@computer.org>
34754
34755 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34756 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34757 last block of a cpio or tar stream.
34758 Check for "TRAILER!!!" instead of any empty data
34759 block to detect last block of a cpio stream.
34760 (grub_cpio_dir): Fix constness of variable np.
34761 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34762 cpio or tar trailer is detected. This fixes a crash
34763 on open of a non existing file.
34764
c32865bf 347652008-02-05 Bean <bean123ch@gmail.com>
34766
34767 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34768 address of entry.
34769 (grub_multiboot_load_elf64): Likewise.
34770 (grub_multiboot): Initialize mbi structure.
34771
34772 * util/grub-fstest.c: Don't include unused header file script.h.
34773
fe6b695a 34774 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34775 of file.
34776 (grub_fstest_SOURCES): Likewise.
34777
409480b7 347782008-02-05 Robert Millan <rmh@aybabtu.com>
34779
34780 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34781 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34782 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34783 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34784
34785 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34786 (translation_table): Replace hardcoded values with macros
34787 provided by `<grub/term.h>'.
34788
34789 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34790 (keyboard_map): Correct/add a few values, with macros provided
34791 by `<grub/term.h>'.
34792 (keyboard_map_shift): Zero values that don't differ from their
34793 `keyboard_map' equivalents.
34794 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34795 Discard the second scan code that is always sent by Caps lock.
34796 Only use `keyboard_map_shift' when it provides a non-zero value,
34797 otherwise fallback to `keyboard_map'.
34798
99fadbaa 347992008-02-04 Bean <bean123ch@gmail.com>
34800
34801 * Makefile.in (enable_grub_fstest): New variable.
34802
34803 * conf/common.rmk (grub_fstest_init.lst): New rule.
34804 (grub_fstest_init.h): Likewise.
34805 (grub_fstest_init.c): Likewise.
34806 (util/grub-fstest.c_DEPENDENCIES): New variable.
34807 (grub_fstest_SOURCES): Likewise.
34808
34809 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34810
34811 * util/grub-fstest.c: New file.
34812
bf567c50 348132008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34814
34815 Make grub-setup handle a separate root device.
f19dbdb7 34816
bf567c50 34817 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34818 so that the root device can be compared with the destination
34819 device.
34820 When embedding the core image, if the root and destination devices
34821 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34822 0xFF.
34823 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34824
9be6b98b 348252008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34826
34827 Add support for having a grub directory in a different drive. This
34828 is still only the data handling part.
f19dbdb7 34829
9be6b98b 34830 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34831 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34832 (grub_root_drive): New variable.
34833
34834 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34835 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34836 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34837 as it was.
34838
34839 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34840
34841 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34842 macro.
34843 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34844
34845 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34846 is bogus, because PXE booting does not specify any drive
34847 correctly.
34848
34849 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34850 am not sure if this is really correct.
34851
34852 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34853 is always identical to the boot drive when booting from a CD.
34854
34855 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34856 longer.
34857 (root_drive): New variable.
34858 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34859 (setup_sectors): Push %dx right after popping it, because %dh will
34860 be modified later.
34861 (copy_buffer): Restore %dx.
34862
e0ca0677 348632008-02-03 Robert Millan <rmh@aybabtu.com>
34864
34865 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34866 use `cdboot.img' for cdrom images.
34867
3b3f6629 348682008-02-03 Robert Millan <rmh@aybabtu.com>
34869
34870 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34871 only setup gfxterm when `font' command has succeeded.
34872
d42b3672 348732008-02-03 Robert Millan <rmh@aybabtu.com>
34874
34875 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34876 (grub_rescue_cmd_multiboot_loader)
34877 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34878
fa370ea6 348792008-02-03 Pavel Roskin <proski@gnu.org>
34880
e0c5dacb 34881 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34882 %edx and %esi from stack only after grub_gate_a20() is called.
34883 grub_gate_a20() clobbers %edx.
34884
f2a76e1d 348852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34886
34887 * configure.ac (AC_INIT): Bumped to 1.96.
34888
34889 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34890 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34891 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34892 video/readers/png.c.
34893
90fd32d1 348942008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34895
34896 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34897 (cdboot_img_SOURCES): New variable.
34898 (cdboot_img_ASFLAGS): New variable.
34899 (cdboot_img_LDFLAGS): New variable.
34900
34901 * boot/i386/pc/cdboot.S: New file.
34902
34903 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34904 (cd_count): Likewise.
34905 (grub_biosdisk_get_drive): Add support for cd device.
34906 (grub_biosdisk_call_hook): Likewise.
34907 (grub_biosdisk_iterate): Likewise.
34908 (grub_biosdisk_open): Likewise.
34909 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34910 (grub_biosdisk_rw): Support reading from cd device.
34911 (GRUB_MOD_INIT): Iterate cd devices.
34912
34913 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34914 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34915 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34916
34917 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34918
4020aa53 349192008-02-02 Robert Millan <rmh@aybabtu.com>
34920
34921 * commands/read.c: New file.
34922 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34923 (read_mod_SOURCES): New variable.
34924 (read_mod_CFLAGS): Likewise.
34925 (read_mod_LDFLAGS): Likewise.
34926
e03a1132 349272008-02-02 Robert Millan <rmh@aybabtu.com>
34928
34929 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34930 determining whether menu has to be displayed.
34931
58c69220 349322008-02-02 Marco Gerards <marco@gnu.org>
34933
34934 * bus/pci.c: New file.
34935
34936 * include/grub/pci.h: Likewise.
34937
34938 * include/grub/i386/pc/pci.h: Likewise.
34939
34940 * commands/lspci.c: Likewise.
34941
34942 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34943 `lspci.mod'.
34944 (pci_mod_SOURCES): New variable.
34945 (pci_mod_CFLAGS): Likewise.
34946 (pci_mod_LDFLAGS): Likewise.
34947 (lspci_mod_SOURCES): Likewise.
34948 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34949 (lspci_mod_LDFLAGS): Likewise.
58c69220 34950
c004e1b4 349512008-02-02 Bean <bean123ch@gmail.com>
34952
34953 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34954 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34955
34956 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34957 (grub_xfs_btree_node): New structure.
34958 (grub_xfs_btree_root): New structure.
34959 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34960 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34961 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34962 (GRUB_XFS_EXTENT_SIZE): Likewise.
34963 (grub_xfs_read_block): Support btree format type.
34964 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34965 Use directory block as basic unit.
34966
34967 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34968
34969 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34970 __attribute__ ((__regparm__ (1))).
34971
f95562bf 349722008-02-01 Robert Millan <rmh@aybabtu.com>
34973
34974 Correct a mistake in previous commit.
34975
34976 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34977 top.
34978 (normal/command.c_DEPENDENCIES): New variable.
34979
7d31f41f 349802008-02-01 Robert Millan <rmh@aybabtu.com>
34981
34982 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34983 top.
34984 (normal/command.c_DEPENDENCIES): New variable.
34985 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34986 * conf/i386-ieee1275.rmk: Likewise.
34987 * conf/i386-linuxbios.rmk: Likewise.
34988 * conf/i386-pc.rmk: Likewise.
34989 * conf/sparc64-ieee1275.rmk: Likewise.
34990 * conf/powerpc-ieee1275.rmk: Likewise.
34991 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34992
34993 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34994
60b6be74 349952008-02-01 Robert Millan <rmh@aybabtu.com>
34996
34997 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34998 call at beginning of function.
34999
078522ab 350002008-01-31 Pavel Roskin <proski@gnu.org>
35001
35002 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35003 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35004 (grub_mkrescue_SOURCES): Likewise.
078522ab 35005 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35006
ccaa8a5f 350072008-01-30 Robert Millan <rmh@aybabtu.com>
35008
35009 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35010 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35011 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35012 (grub_probe_SOURCES): ... to here.
35013
35014 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35015 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35016 * conf/i386-ieee1275.rmk: Likewise.
35017 * conf/i386-linuxbios.rmk: Likewise.
35018 * conf/powerpc-ieee1275.rmk: Likewise.
35019
ae5a9cd7 350202008-01-30 Tristan Gingold <gingold@free.fr>
35021
35022 * kern/rescue.c: Silently accept empty lines.
35023
70bc2ef2 350242008-01-29 Bean <bean123ch@gmail.com>
35025
35026 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35027 (real_code_2): Code cleanup and change comment style.
35028 (move_memory): Avoid using 32-bit address mode.
35029
6a4d50ea 350302008-01-29 Bean <bean123ch@gmail.com>
35031
35032 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35033 (png_mod_SOURCES): New variable.
35034 (png_mod_CFLAGS): Likewise.
35035 (png_mod_LDFLAGS): Likewise.
35036
35037 * video/readers/png.c: New file.
35038
11cc30ac 350392008-01-28 Robert Millan <rmh@aybabtu.com>
35040
35041 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35042 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35043 `ifndef GRUB_MOD_GAP' hack.
35044 * util/elf/grub-mkimage.c (add_segments): Likewise.
35045
3abc589f 350462008-01-27 Robert Millan <rmh@aybabtu.com>
35047
35048 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35049 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35050 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35051
e1907778 350522008-01-27 Robert Millan <rmh@aybabtu.com>
35053
35054 Get grub-emu to build again (including parallel builds).
35055
35056 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35057 Split into ...
35058 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35059 (normal/execute.c_DEPENDENCIES): ... this, ...
35060 (grub-emu_DEPENDENCIES): ... and this.
35061
35062 * conf/i386-efi.rmk: Likewise.
35063 * conf/i386-linuxbios.rmk: Likewise.
35064 * conf/i386-ieee1275.rmk: Likewise.
35065 * conf/powerpc-ieee1275.rmk: Likewise.
35066 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35067
2216b101 350682008-01-27 Robert Millan <rmh@aybabtu.com>
35069
35070 * NEWS: Add a few items.
35071
f75172d9 350722008-01-27 Robert Millan <rmh@aybabtu.com>
35073
35074 Fix parallel builds with grub-emu. Based on earlier commit for
35075 grub-probe and grub-setup.
35076
35077 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35078 (util/grub-emu.c_DEPENDENCIES): ... this.
35079 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35080 (util/grub-emu.c_DEPENDENCIES): ... this.
35081 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35082 (util/grub-emu.c_DEPENDENCIES): ... this.
35083 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35084 (util/grub-emu.c_DEPENDENCIES): ... this.
35085 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35086 (util/grub-emu.c_DEPENDENCIES): ... this.
35087
3f51de77 350882008-01-27 Pavel Roskin <proski@gnu.org>
35089
35090 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35091 to create a gap between _end and the modules added to the image
35092 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35093 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35094 * util/elf/grub-mkimage.c (add_segments): Likewise.
35095
2033f53e 350962008-01-26 Pavel Roskin <proski@gnu.org>
35097
35098 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35099 just return an error.
35100
22da1f6f 351012008-01-26 Bean <bean123ch@gmail.com>
35102
35103 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35104 (grub_reiserfs_get_item): Save offset of the next item.
35105 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35106
2a9525e6 351072008-01-25 Robert Millan <rmh@aybabtu.com>
35108
35109 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35110 make all filesystem sources appear together (possibly fixing omissions
35111 while at it).
35112 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35114 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35116
35117 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35118 add `kern/file.c'.
35119 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35120 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35121 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35122 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35123
35124 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35125 (probe): Add a sanity check to make sure of our ability to read
35126 requested files when probing for filesystem type.
35127
35128 * genmk.rb: Update copyright year (2007).
35129
35130 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35131 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35132 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35133 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35134 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35135 : Remove function prototypes.
35136
b95f71b5 351372008-01-25 Robert Millan <rmh@aybabtu.com>
35138
35139 Revert my previous commits (based on wrong assumption of how grub_errno
35140 works).
35141
fe6b695a 35142 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35143 * kern/file.c (grub_file_open): Likewise.
35144
d08bbb49 351452008-01-24 Pavel Roskin <proski@gnu.org>
35146
35147 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35148 that hang if GRUB tries to setup colors.
35149 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35150 colors for firmwares that don't support it.
35151 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35152 Recognize Open Hack'Ware, set flags to work around its
35153 limitations.
35154
605e36ed 351552008-01-24 Robert Millan <rmh@aybabtu.com>
35156
35157 * kern/file.c (grub_file_open): Do not account previous failures of
35158 unrelated functions when grub_errno is checked for.
35159 Reported by Oleg Strikov.
35160
bac332a1 351612008-01-24 Bean <bean123ch@gmail.com>
35162
35163 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35164 (grub_ufs_sblock): New member volume name.
35165 (grub_ufs_find_file): Fix string copy bug.
35166 (grub_ufs_label): Implement this function properly.
35167
35168 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35169 (grub_hfs_iterate_records): Use the correct file number for extents
35170 and catalog file. Fix problem in next index calculation.
35171 (grub_hfs_find_node): Replace recursive function call with loop.
35172 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35173
15c80c09 351742008-01-23 Robert Millan <rmh@aybabtu.com>
35175
35176 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35177 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35178 (grub_multiboot2_real_boot): New function prototype.
35179
35180 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35181 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35182
35183 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35184 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35185
305338fd 351862008-01-23 Robert Millan <rmh@aybabtu.com>
35187
35188 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35189 #ifdef'ed out grub_printf().
35190
3ea52685 351912008-01-23 Robert Millan <rmh@aybabtu.com>
35192
35193 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35194 grub_dprintf calls, since they make "debug=all" mode unusable.
35195 (grub_console_checkkey): Likewise.
35196
5882ae4b 351972008-01-23 Robert Millan <rmh@aybabtu.com>
35198
35199 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35200 `term/i386/pc/at_keyboard.c'.
35201 (pkglib_MODULES): Add `serial.mod'.
35202 (serial_mod_SOURCES): New variable.
35203 (serial_mod_CFLAGS): Likewise.
35204 (serial_mod_LDFLAGS): Likewise.
35205
35206 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35207 `<grub/powerpc/ieee1275/console.h>'.
35208 (grub_keyboard_controller_init): New function prototype.
35209 (grub_console_checkkey): Likewise.
35210 (grub_console_getkey): Likewise.
35211
35212 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35213 keyboard on i386.
35214
35215 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35216 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35217
06ab5303 352182008-01-23 Robert Millan <rmh@aybabtu.com>
35219
35220 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35221 present, "(memdisk)/boot/grub" becomes the default prefix.
35222
35223 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35224 a memdisk tarball with all the modules. Add --overlay=DIR option that
35225 allows users to overlay additional files into the image.
35226
dbb475a4 352272008-01-23 Robert Millan <rmh@aybabtu.com>
35228
35229 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35230 and `machine/memory.h'.
35231 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35232 (_multiboot_mod_SOURCES): New variable.
35233 (_multiboot_mod_CFLAGS): Likewise.
35234 (_multiboot_mod_LDFLAGS): Likewise.
35235 (multiboot_mod_SOURCES): Likewise.
35236 (multiboot_mod_CFLAGS): Likewise.
35237 (multiboot_mod_LDFLAGS): Likewise.
35238
35239 * include/grub/i386/ieee1275/loader.h: New file.
35240
35241 * include/grub/i386/ieee1275/machine.h: Likewise.
35242
35243 * include/grub/i386/ieee1275/memory.h: Likewise.
35244
35245 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35246 variable declaration.
35247 (grub_os_area_size): Likewise.
35248
35249 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35250 (grub_lower_mem, grub_upper_mem): New variables.
35251 (grub_stop_floppy): New function (just to make
35252 grub_multiboot2_real_boot() happy).
35253
35254 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35255 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35256 (grub_stop): New function.
35257 Include `"../realmode.S"' and `"../loader.S"'.
35258
35259 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35260 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35261
35262 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35263 rely on grub_multiboot2_real_boot() for final boot.
35264
25638629 352652008-01-22 Robert Millan <rmh@aybabtu.com>
35266
35267 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35268 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35269 device that doesn't look like an SD card.
35270 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35271 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35272 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35273 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35274 found.
35275
9dad816d 352762008-01-22 Robert Millan <rmh@aybabtu.com>
35277
35278 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35279 avoid claiming over our own code.
35280
34842f2d 352812008-01-22 Bean <bean123ch@gmail.com>
35282
35283 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35284 (jpeg_mod_SOURCES): New variable.
35285 (jpeg_mod_CFLAGS): Likewise.
35286 (jpeg_mod_LDFLAGS): Likewise.
35287
35288 * video/readers/jpeg.c : New file.
35289
44023a28 352902008-01-22 Bean <bean123ch@gmail.com>
35291
35292 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35293 there are no more items.
35294
bc2d8ac6 352952008-01-21 Robert Millan <rmh@aybabtu.com>
35296
35297 * kern/mm.c (grub_mm_init_region): Improve debug message.
35298
261bd4bc 352992008-01-21 Robert Millan <rmh@aybabtu.com>
35300
35301 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35302 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35303 address.
35304 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35305 a C macro.
35306 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35307 Indicates start of upper memory.
35308 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35309 (generate_image): Abort when image size is big enough to corrupt
35310 upper memory.
35311
35312 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35313 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35314 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35315 instead of hardcoding 0xA0000.
35316 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35317 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35318 instead of hardcoding 0xA0000.
35319
f970b55e 353202008-01-21 Robert Millan <rmh@aybabtu.com>
35321
35322 * disk/memdisk.c (memdisk_size): New variable.
35323 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35324 `memdisk_size'.
35325 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35326 image to dynamic memory.
35327 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35328 `memdisk_size'. Free memdisk block.
35329
1a8b0526 353302008-01-21 Robert Millan <rmh@aybabtu.com>
35331
35332 Fix detection of very small filesystems (like tar).
35333
35334 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35335 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35336 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35337 a problem with this disk).
35338
6e9b4aab 353392008-01-21 Robert Millan <rmh@aybabtu.com>
35340
35341 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35342 on grub_biosdisk_rw_standard() error.
35343
0d8837b2 353442008-01-21 Robert Millan <rmh@aybabtu.com>
35345
35346 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35347 recent changes.
35348 * kern/elf.c: Likewise.
35349 * kern/ieee1275/ieee1275.c: Likewise.
35350 * kern/powerpc/ieee1275/openfw.c: Likewise.
35351 * term/ieee1275/ofconsole.c: Likewise.
35352
ffd36e34 353532008-01-21 Robert Millan <rmh@aybabtu.com>
35354
35355 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35356
3f0093d0 35357 * include/grub/kernel.h (grub_arch_memdisk_addr)
35358 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35359
3f0093d0 35360 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35361 (grub_arch_memdisk_size): ... to here.
ffd36e34 35362
6c391b21 353632008-01-21 Robert Millan <rmh@aybabtu.com>
35364
35365 Mostly based on bugfix from Bean.
35366
35367 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35368 attribute with hook() parameter.
35369 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35370 declaration.
35371 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35372 attribute with hook() parameter.
35373 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35374 declaration.
35375
55a581dc 353762008-01-21 Robert Millan <rmh@aybabtu.com>
35377
35378 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35379 (pkglib_MODULES): Add `memdisk.mod'.
35380 (memdisk_mod_SOURCES): New variable.
35381 (memdisk_mod_CFLAGS): Likewise.
35382 (memdisk_mod_LDFLAGS): Likewise.
35383
35384 * disk/memdisk.c: New file.
35385
35386 * include/grub/disk.h (grub_disk_dev_id): Add
35387 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35388
35389 * include/grub/i386/pc/kernel.h
35390 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35391 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35392 (grub_kernel_image_size): New variable declaration.
35393 (grub_total_module_size): Likewise.
35394 (grub_memdisk_image_size): Likewise.
35395
35396 * include/grub/i386/pc/memory.h
35397 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35398
35399 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35400 (grub_arch_memdisk_addr): New variable declaration.
35401 (grub_arch_memdisk_size): Likewise.
35402
35403 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35404 (grub_arch_memdisk_size): Likewise.
35405
35406 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35407 (codestart): Replace hardcoded `0x100000' with
35408 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35409
35410 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35411 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35412 not NULL, append the contents of the file it refers to, at the end of
35413 the compressed kernel image. Initialize `grub_memdisk_image_size'
35414 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35415 (options): Add "memdisk"|'m' option.
35416 (main): Parse --memdisk|-m option, and pass user-provided path as
35417 parameter to generate_image().
35418
3d7f54c9 354192008-01-20 Robert Millan <rmh@aybabtu.com>
35420
35421 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35422 grub_dprintf() calls from here ...
35423 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35424
0bf74728 354252008-01-20 Robert Millan <rmh@aybabtu.com>
35426
35427 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35428
35429 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35430 declaration.
35431 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35432 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35433 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35434 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35435 property).
35436 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35437 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35438
33bf70a7 354392008-01-19 Robert Millan <rmh@aybabtu.com>
35440
fe6b695a 35441 Get rid of confusing function (superseded by
33bf70a7 35442 `grub_ieee1275_get_integer_property')
35443 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35444 prototype.
35445 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35446 function.
35447 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35448 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35449 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35450
e2da7d26 354512008-01-19 Robert Millan <rmh@aybabtu.com>
35452
35453 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35454 command after "shut-down", since implementations differ on which
35455 the command for halt is.
35456
59f1fd8d 354572008-01-19 Robert Millan <rmh@aybabtu.com>
35458
35459 * include/grub/i386/linuxbios/console.h: Add header protection.
35460 (grub_keyboard_controller_init): New function prototype.
35461 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35462 (KEYBOARD_COMMAND_READ): Likewise.
35463 (KEYBOARD_COMMAND_WRITE): Likewise.
35464 (KEYBOARD_SCANCODE_SET1): Likewise.
35465 (grub_keyboard_controller_write): New function.
35466 (grub_keyboard_controller_read): Likewise.
35467 (grub_keyboard_controller_init): Likewise.
35468
35469 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35470 (grub_console_init): On coreboot/LinuxBIOS, call
35471 grub_keyboard_controller_init().
35472
5f5a7c15 354732008-01-19 Robert Millan <rmh@aybabtu.com>
35474
35475 PowerPC changes provided by Pavel Roskin.
35476
35477 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35478 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35479 don't rely on cmain() doing it.
35480 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35481 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35482
1210e168 354832008-01-16 Robert Millan <rmh@aybabtu.com>
35484
35485 * include/grub/i386/linuxbios/memory.h
35486 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35487 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35488 receive `table_header' as argument. Instead, probe for it in the
35489 known memory ranges where it can be present.
35490 (grub_available_iterate): Do not pass a fixed `table_header' address
35491 to grub_linuxbios_table_iterate().
35492
3d04eab8 354932008-01-15 Robert Millan <rmh@aybabtu.com>
35494
35495 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35496 * conf/i386-ieee1275.rmk: New file.
35497 * include/grub/i386/ieee1275/console.h: Likewise.
35498 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35499 * include/grub/i386/ieee1275/kernel.h: Likewise.
35500 * include/grub/i386/ieee1275/time.h: Likewise.
35501 * kern/i386/ieee1275/init.c: Likewise.
35502 * kern/i386/ieee1275/startup.S: Likewise.
35503
d1bc1b73 355042008-01-15 Robert Millan <rmh@aybabtu.com>
35505
35506 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35507 when pointers are 32-bit (but still do set it to one when they are
35508 64-bit).
35509
66a65807 355102008-01-15 Robert Millan <rmh@aybabtu.com>
35511
35512 * include/grub/ieee1275/ieee1275.h
35513 (grub_ieee1275_get_integer_property): New function prototype.
35514
35515 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35516 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35517 grub_ieee1275_get_property() to handle endianness.
66a65807 35518
35519 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35520 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35521 where appropriate.
66a65807 35522 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35523 (grub_map): Likewise.
35524 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35525
a83ccafd 355262008-01-15 Bean <bean123ch@gmail.com>
35527
35528 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35529 (grub_script_execute_cmdline): Reset grub_errno.
35530
35531 * normal/main.c (read_config_file): Reset grub_errno.
35532
35533 * normal/parse.y (script_init): New.
35534 (script): Move function and menuentry here.
35535 (delimiter): New.
35536 (command): Add delimiter at the end of command.
35537 (commands): Adjust to match the new command.
35538 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35539 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35540 (if): Use the new commands.
35541
35542 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35543
df6ecfc6 355442008-01-15 Robert Millan <rmh@aybabtu.com>
35545
35546 * normal/menu.c (run_menu): Move timeout message from here ...
35547 (print_timeout): ... to here.
35548 (run_menu): Use print_timeout() once during initial draw to print
35549 the whole message, and again in every clock tick to update only
35550 the number of seconds.
35551
87ae25eb 355522008-01-15 Robert Millan <rmh@aybabtu.com>
35553
35554 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35555 actual size of `available' from grub_ieee1275_get_property(), and
35556 restrict parsing to that bound.
35557
47bf09a4 355582008-01-15 Christian Franke <franke@computer.org>
35559
35560 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35561 (argp_program_version): Remove variable.
35562 (argp_program_bug_address): Likewise.
35563 (options): Convert from struct argp_option to struct option.
35564 (struct arguments): Remove.
35565 (parse_opt): Remove.
35566 (usage): New function.
35567 (main): Replace struct args members by simple variables.
35568 Replace argp_parse() by getopt_long().
35569 Add switch to evaluate options.
35570 Add missing "(...)" around root_dev in prefix string.
35571
c86f1469 355722008-01-14 Robert Millan <rmh@aybabtu.com>
35573
35574 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35575 for grub_ieee1275_exit(), in order to improve portability.
35576
e622c559 355772008-01-14 Robert Millan <rmh@aybabtu.com>
35578
35579 * util/grub.d/10_linux.in (prefix): Define.
35580 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35581
44cb1ec8 355822008-01-13 Pavel Roskin <proski@gnu.org>
35583
35584 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35585 grub_errno if no errors have been detected.
35586
1eb8c802 355872008-01-12 Robert Millan <rmh@aybabtu.com>
35588
35589 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35590 (grub_util_get_dev_abstraction): New function prototype.
35591
35592 * util/getroot.c: Include `<grub/util/getroot.h>'
35593 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35594 (grub_util_get_dev_abstraction): ... here (new function).
35595
35596 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35597 `PRINT_ABSTRACTION'.
35598 (probe): Probe for abstraction type when requested.
35599 (main): Understand `--target=abstraction'.
35600
35601 * util/i386/efi/grub-install.in: Add abstraction module to core
35602 image when it is found to be necessary.
35603 * util/i386/pc/grub-install.in: Likewise.
35604 * util/powerpc/ieee1275/grub-install.in: Likewise.
35605
35606 * util/update-grub_lib.in (font_path): Return system path without
35607 converting to GRUB path.
35608 * util/update-grub.in: Convert system path returned by font_path()
35609 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35610 abstraction module is needed for loading fonts (if any). Export
35611 that as `GRUB_PRELOAD_MODULES'.
35612 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35613 insmod commands).
35614
52bd3de9 356152008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35616
35617 Remove some unused code from reiserfs.
f19dbdb7 35618
52bd3de9 35619 * fs/reiserfs.c (struct grub_reiserfs_key)
35620 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35621 (struct grub_reiserfs_node_body): Removed.
35622 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35623 Likewise.
35624 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35625 Likewise.
35626 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35627 Likewise.
35628 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35629 Likewise.
35630 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35631 Likewise.
35632 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35633 Likewise.
35634 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35635 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35636 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35637
2f80039d 356382008-01-10 Robert Millan <rmh@aybabtu.com>
35639
35640 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35641 Determines if a file is garbage left by packaging systems, etc.
35642 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35643 for processing /etc/grub.d scripts.
35644 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35645 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35646 as a condition for processing Linux images.
35647
87888032 356482008-01-10 Pavel Roskin <proski@gnu.org>
35649
35650 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35651 to compile reiserfs.c on PowerPC.
35652
7e54fced 356532008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35654
35655 * kern/device.c (grub_device_iterate): Do not abort device iteration
35656 when one of the devices cannot be opened.
35657 * kern/disk.c (grub_disk_open): Do not account previous failures of
35658 unrelated functions when grub_errno is checked for.
35659
5aa541e6 356602008-01-08 Robert Millan <rmh@aybabtu.com>
35661
35662 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35663 `! grub_linux_is_bzimage', change order of address comparison to make
35664 it more intuitive, and improve "too big zImage" error message.
35665
7076340d 356662008-01-08 Robert Millan <rmh@aybabtu.com>
35667
35668 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35669 `$(update-grub_DATA)'.
35670 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35671 targets.
35672
9ca70333 356732008-01-07 Robert Millan <rmh@aybabtu.com>
35674
35675 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35676 which instruction is modified by grub-setup during installation
35677 (since it wasn't obvious by only looking at this file).
35678
38ccf575 356792008-01-07 Robert Millan <rmh@aybabtu.com>
35680
35681 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35682 listing actual TODO items.
35683
f5db4291 356842008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35685
868967cf 35686 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35687 correctly.
35688 (grub_reiserfs_get_key_offset): Likewise.
35689 (grub_reiserfs_set_key_offset): Likewise.
35690 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35691 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35692
35693 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35694 better to remove the bitfield version completely.
f19dbdb7 35695
868967cf 356962008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35697
f5db4291 35698 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35699 allocated from the heap, due to the fshelp implementation.
35700 (grub_reiserfs_dir): Free NODE, due to the same reason.
35701
492e6d9d 357022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35703
35704 Mostly from Vincent Pelletier:
f19dbdb7 35705
492e6d9d 35706 * fs/reiserfs.c: New file.
f19dbdb7 35707
492e6d9d 35708 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35709 (reiserfs_mod_SOURCES): New variable.
35710 (reiserfs_mod_CFLAGS): Likewise.
35711 (reiserfs_mod_LDFLAGS): Likewise.
35712
35713 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35714 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35715 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35716 normal/color.c.
35717
9ce3e7c1 357182008-01-06 Robert Millan <rmh@aybabtu.com>
35719
35720 * normal/color.c: Remove `<grub/env.h>'.
35721
f3b58148 357222008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35723
35724 * include/grub/normal.h: Include <grub/env.h>.
35725
7ac3bcfa 357262008-01-05 Robert Millan <rmh@aybabtu.com>
35727
35728 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35729 usage example with `(hd0,1)'.
fb358190 35730 Reported by Samuel Thibault.
7ac3bcfa 35731
c8ee99d7 357322008-01-05 Robert Millan <rmh@aybabtu.com>
35733
35734 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35735 (grub_linux_boot_zimage): Rename to ...
35736 (grub_linux_boot): ... this.
35737 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35738 (grub_linux_boot_zimage): Conditionalize zImage copy.
35739
35740 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35741 (grub_linux_boot_bzimage): Remove prototype.
35742 (grub_linux_boot_zimage): Rename to ...
35743 (grub_linux_boot): ... this.
35744
35745 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35746 (grub_linux_boot): Remove function.
35747
0ece25b1 357482008-01-05 Robert Millan <rmh@aybabtu.com>
35749
35750 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35751 (grub_env_write_color_highlight): Likewise.
35752 (grub_wait_after_message): Likewise.
35753
35754 * normal/color.c: New file.
35755
35756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35757 (normal_mod_DEPENDENCIES): Likewise.
35758
35759 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35760 (normal_mod_DEPENDENCIES): Likewise.
35761
35762 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35763 (normal_mod_DEPENDENCIES): Likewise.
35764
35765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35766 (normal_mod_DEPENDENCIES): Likewise.
35767
35768 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35769 for waiting after a message is printed.
35770 * normal/main.c (read_config_file): Likewise.
35771 (grub_normal_init): Register grub_env_write_color_normal() and
35772 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35773 `color_highlight' variables as global.
35774
35775 * normal/menu.c (grub_wait_after_message): New function.
35776 (grub_color_menu_normal): New variable. Replaces ...
35777 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35778 (grub_color_menu_highlight): New variable. Replaces ...
35779 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35780 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35781 `GRUB_TERM_COLOR_STANDARD'.
35782 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35783 `normal_code' and `highlight_code' to `old_color_normal' and
35784 `old_color_highlight', respectively.
35785 (grub_menu_init_page): Update colors when drawing the menu, based on
35786 `menu_color_normal' and `menu_color_highlight' variables.
35787 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35788 a message is printed.
35789
182dd4e5 357902008-01-05 Robert Millan <rmh@aybabtu.com>
35791
35792 * kern/env.c (grub_env_context_open): Propagate hooks for global
35793 variables to new context.
35794
35795 * kern/main.c (grub_set_root_dev): Export `root' variable.
35796
ddf8f6ad 357972008-01-05 Robert Millan <rmh@aybabtu.com>
35798
35799 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35800 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35801 them.
35802
d8b43d9b 358032008-01-05 Robert Millan <rmh@aybabtu.com>
35804
35805 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35806
2bff2de3 358072008-01-04 Christian Franke <franke@computer.org>
35808
35809 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35810 of eisa_mmap.
35811
97eab917 358122008-01-03 Pavel Roskin <proski@gnu.org>
35813
35814 * kern/i386/linuxbios/init.c: Put "void" to all function
35815 declarations with no arguments.
35816 * kern/powerpc/ieee1275/init.c: Likewise.
35817 * term/i386/pc/at_keyboard.c: Likewise.
35818 * term/i386/pc/vga_text.c: Likewise.
35819 * util/grub-mkdevicemap.c: Likewise.
35820
b9416d00 358212008-01-02 Robert Millan <rmh@aybabtu.com>
35822
35823 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35824 message when loaded image is out of bounds.
35825 (grub_multiboot_load_elf64): Likewise.
35826
92695df9 358272008-01-02 Pavel Roskin <proski@gnu.org>
35828
35829 * util/grub.d/10_linux.in: Try version without ".old" when
35830 looking for initrd. It's better to use initrd from the newer
35831 kernel of the same version than no initrd at all.
35832
d98d9cad 358332008-01-01 Robert Millan <rmh@aybabtu.com>
35834
35835 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35836
dbfdce36 358372008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35838
f19dbdb7 35839 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35840 grub_video_get_active_render_target.
35841 (grub_video_adapter): Added unmap_color and get_active_render_target.
35842
f19dbdb7 35843 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35844 grub_video_get_active_render_target.
35845 (grub_video_get_info): Changed method to accept NULL pointer as an
35846 argument to allow detection of active video adapter.
35847
35848 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35849 grub_video_vbe_unmap_color_int.
35850 Added grub_video_vbe_unmap_color and
35851 grub_video_vbe_get_active_render_target.
35852 (grub_video_vbe_adapter): Added unmap_color and
35853 get_active_render_target.
35854
f19dbdb7 35855 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35856 with grub_video_vbe_unmap_color_int.
35857
35858 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35859 (DEFAULT_NORMAL_COLOR): Likewise.
35860 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35861 (DEFAULT_FG_COLOR): Removed.
35862 (DEFAULT_BG_COLOR): Likewise.
35863 (DEFAULT_CURSOR_COLOR): Changed value.
35864 (grub_virtual_screen): Added standard_color_setting,
35865 normal_color_setting, highlight_color_setting and term_color.
35866 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35867 (bitmap_width): Added.
35868 (bitmap_height): Likewise.
35869 (bitmap): Likewise.
35870 (set_term_color): Likewise.
35871 (grub_virtual_screen_setup): Changed to use new terminal coloring
35872 settings.
35873 (grub_gfxterm_init): Added init for bitmap.
35874 (grub_gfxterm_fini): Added destroy for bitmap.
35875 (redraw_screen_rect): Updated to use background bitmap and new
35876 terminal coloring.
35877 (scroll_up): Added optimization for case when there is no bitmap.
35878 (grub_gfxterm_cls): Fixed to use correct background color.
35879 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35880 coloring.
35881 (grub_virtual_screen_setcolor): Likewise.
35882 (grub_virtual_screen_getcolor): Added.
35883 (grub_gfxterm_background_image_cmd): Likewise.
35884 (grub_video_term): Added setcolor and getcolor.
35885 (MOD_INIT): Added registration of background_image command.
35886 (MOD_TERM): Added unregistration for background_image command.
35887
c3c20931 358882007-12-30 Pavel Roskin <proski@gnu.org>
35889
35890 * loader/multiboot_loader.c: Fix multiboot command
35891 unregistration. Fix all typos in the word "multiboot".
35892
df266716 358932007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35894
35895 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35896 support for initrd names used in Fedora.
35897
fc6e896c 358982007-12-26 Bean <bean123ch@gmail.com>
35899
35900 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35901 (cpio_mod_SOURCES): New variable.
35902 (cpio_mod_CFLAGS): Likewise.
35903 (cpio_mod_LDFLAGS): Likewise.
35904
35905 * fs/cpio.c: New file.
35906
35907 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35908
35909 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35910
35911 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35912
35913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35914
533110ad 359152007-12-25 Robert Millan <rmh@aybabtu.com>
35916
35917 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35918 (grub_getcolor): New function.
35919
35920 * kern/term.c (grub_getcolor): New function.
35921 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35922 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35923 (print_entry): Set normal and highlight colors to
35924 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35925 respectively, before printing and restore them to old
35926 values afterwards.
35927 (grub_menu_init_page): Likewise. Fill an additional colored space
35928 that would otherwise be left blank.
35929
35930 * term/efi/console.c (grub_console_getcolor): New function.
35931 (struct grub_console_term.getcolor): New variable.
35932 * term/i386/pc/console.c (grub_console_getcolor): New function.
35933 (struct grub_console_term.getcolor): New variable.
35934 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35935 (struct grub_console_term.getcolor): New variable.
35936
35937 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35938 (struct grub_console_term.setcolor): Remove variable.
35939 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35940 (struct grub_console_term.setcolor): Remove variable.
35941 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35942 (struct grub_console_term.setcolor): Remove variable.
35943 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35944 (struct grub_console_term.setcolor): Remove variable.
35945
4931827f 359462007-12-25 Robert Millan <rmh@aybabtu.com>
35947
35948 * configure.ac: Search for possible unifont.hex locations, and
35949 define UNIFONT_HEX if found.
35950
35951 * Makefile.in (UNIFONT_HEX): Define variable.
35952 (DATA): Rename to ...
35953 (PKGLIB): ... this. Update all users.
35954 (PKGDATA): New variable.
35955 (pkgdata_IMAGES): Rename to ...
35956 (pkglib_IMAGES): ... this. Update all users.
35957 (pkgdata_MODULES): Rename to ...
35958 (pkglib_MODULES): ... this. Update all users.
35959 (pkgdata_PROGRAMS): Rename to ...
35960 (pkglib_PROGRAMS): ... this. Update all users.
35961 (pkgdata_DATA): Rename to ...
35962 (pkglib_DATA): ... this. Update all users.
35963 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35964 (unicode.pff, ascii.pff): New rules.
35965 (all-local): Add `$(PKGDATA)' dependency.
35966 (install-local): Process `$(PKGDATA)'.
35967
35968 * util/update-grub_lib.in (font_path): Search for *.pff files in
35969 a few more locations, including `${pkgdata}'.
35970
57e57e31 359712007-12-23 Robert Millan <rmh@aybabtu.com>
35972
35973 Patch from Bean <bean123ch@gmail.com>:
35974 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35975 `size'.
35976
4bc72aa9 359772007-12-21 Bean <bean123ch@gmail.com>
35978
35979 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35980 (ntfscomp_mod_SOURCES): New variable.
35981 (ntfscomp_mod_CFLAGS): Likewise.
35982 (ntfscomp_mod_LDFLAGS): Likewise.
35983
35984 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35985 (grub_probe_SOURCES): Likewise.
35986 (grub_emu_SOURCES): Likewise.
35987
35988 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35989 (grub_emu_SOURCES): Likewise.
35990
35991 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35992 (grub_emu_SOURCES): Likewise.
35993
35994 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35995 (grub_emu_SOURCES): Likewise.
35996
35997 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35998 (read_run_list): Renamed to grub_ntfs_read_run_list.
35999 (decomp_nextvcn): Moved to ntfscomp.c.
36000 (decomp_getch): Likewise.
36001 (decomp_get16): Likewise.
36002 (decomp_block): Likewise.
36003 (read_block): Likewise.
36004 (read_data): Partially moved to ntfscomp.c.
36005 (fixup): Change unsigned to grub_uint16_t.
36006 (read_mft): Change unsigned long to grub_uint32_t.
36007 (read_attr): Likewise.
36008 (read_data): Likewise.
36009 (read_run_data): Likewise.
36010 (read_run_list): Likewise.
36011 (read_mft): Likewise.
36012
36013 * fs/ntfscomp.c: New file.
36014
36015 * include/grub/ntfs.h: New file.
36016
af680a87 360172007-12-16 Robert Millan <rmh@aybabtu.com>
36018
36019 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36020 IDE disk check, since Linux is known to support 20 IDE disks.
36021 Reported by Colin Watson.
36022
84be7599 360232007-12-15 Bean <bean123ch@gmail.com>
36024
36025 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36026 (lnxboot_img_SOURCES): New variable.
36027 (lnxboot_img_ASFLAGS): Likewise.
36028 (lnxboot_img_LDFLAGS): Likewise.
36029
36030 * boot/i386/pc/lnxboot.S: New file.
36031
6af9db01 360322007-11-24 Pavel Roskin <proski@gnu.org>
36033
36034 * configure.ac: Test if '--build-id=none' is supported by the
36035 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36036 objcopy to generate incorrect binary files (binutils
36037 2.17.50.0.18-1 as shipped by Fedora 8).
36038 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36039 linking, so that build ID doesn't break the test.
36040
7361cfe6 360412007-11-24 Pavel Roskin <proski@gnu.org>
36042
36043 * include/grub/i386/time.h: use "void" in the argument list
36044 of grub_cpu_idle().
36045 * include/grub/powerpc/time.h: Likewise.
36046 * include/grub/sparc64/time.h: Likewise.
36047
1593e10c 360482007-11-18 Christian Franke <franke@computer.org>
36049
36050 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36051 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36052 This fixes the problem that function keys did not work in grub-emu.
36053
3b8db1a8 360542007-11-18 Christian Franke <franke@computer.org>
36055
36056 * disk/host.c (grub_host_open): Remove attribute unused from
36057 name parameter. Add check for "host". This fixes the problem
36058 that grub-emu does not find partitions.
36059
2e29408d 360602007-11-18 Christian Franke <franke@computer.org>
36061
36062 * util/hostfs.c (is_dir): New function.
36063 (grub_hostfs_dir): Handle missing dirent.d_type case.
36064 (grub_hostfs_read): Add missing fseek().
36065 (grub_hostfs_label): Clear label pointer. This fixes a crash
36066 of grub-emu on "ls (host)".
36067
398cd047 360682007-11-18 Christian Franke <franke@computer.org>
36069
36070 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36071 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36072 to 64 bit boundary by default.
36073
c405c391 360742007-11-18 Bean <bean123ch@gmail.com>
36075
36076 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36077 (hexdump_mod_SOURCES): New variable.
36078 (hexdump_mod_CFLAGS): Likewise.
36079 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36080
c405c391 36081 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36082
36083 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36084
36085 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36086
36087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36088
36089 * include/grub/hexdump.h: New file.
36090
36091 * commands/hexdump.c: New file.
36092
5cced7fd 360932007-11-10 Robert Millan <rmh@aybabtu.com>
36094
36095 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36096 in grub_outb() calls.
36097 (beep_on): Likewise.
36098
8b714eb0 360992007-11-10 Christian Franke <franke@computer.org>
36100
36101 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36102 (grub_menu_run): Likewise.
36103
ce0f1839 361042007-11-10 Robert Millan <rmh@aybabtu.com>
36105
36106 * include/grub/i386/efi/machine.h: New file.
36107 * include/grub/i386/linuxbios/machine.h: Likewise.
36108 * include/grub/i386/pc/machine.h: Likewise.
36109 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36110 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36111
36112 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36113 (serial_hw_io_addr): New variable.
36114 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36115 instead of `(unsigned short *) 0x400'.
36116
270c237d 361172007-11-10 Bean <bean123ch@gmail.com>
36118
36119 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36120
a87783bf 361212007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36122
36123 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36124 (vga_mod_SOURCES): Added.
36125 (vga_mod_CFLAGS): Likewise.
36126 (vga_mod_LDFLAGS): Likewise.
36127
36128 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36129 grub_outb() calls.
36130 (set_map_mask): Likewise.
36131 (set_read_map): Likewise.
36132 (set_read_address): Likewise.
36133 (vga_font): Removed variable.
36134 (get_vga_glyph): Removed function.
36135 (invalidate_char): Likewise.
36136 (write_char): Changed to use grub_font_get_glyph() for font
36137 information.
36138 (grub_vga_putchar): Likewise.
36139 (grub_vga_getcharwidth): Likewise.
36140
6433b448 361412007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36142
36143 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36144 flags.
36145 (pxeboot_img_LDFLAGS): Likewise.
36146 (diskboot_img_LDFLAGS): Likewise.
36147 (kernel_img_LDFLAGS): Likewise.
36148
49178511 361492007-11-06 Robert Millan <rmh@aybabtu.com>
36150
36151 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36152 in grub_outb() calls.
36153 (serial_hw_init): Likewise.
36154
53b052de 361552007-11-05 Robert Millan <rmh@aybabtu.com>
36156
36157 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36158 spaces. Skip non-regular files.
36159
5ab33bba 361602007-11-05 Robert Millan <rmh@aybabtu.com>
36161
36162 * kern/disk.c (grub_disk_firmware_fini)
36163 (grub_disk_firmware_is_tainted): New variables.
36164
36165 * include/grub/disk.h (grub_disk_firmware_fini)
36166 (grub_disk_firmware_is_tainted): Likewise.
36167
36168 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36169 (grub_disk_biosdisk_fini): ... to here.
36170 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36171 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36172 is set. Register grub_disk_biosdisk_fini() in
36173 `grub_disk_firmware_fini'.
36174
36175 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36176 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36177 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36178 to finish existing firmware disk interface.
36179
36180 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36181 (ata_mod_SOURCES): New variable.
36182 (ata_mod_CFLAGS): Likewise.
36183 (ata_mod_LDFLAGS): Likewise.
36184
0149ab7c 361852007-11-05 Robert Millan <rmh@aybabtu.com>
36186
36187 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36188 (grub_ata_wait): Reimplement using grub_millisleep().
36189
36190 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36191 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36192
be7ac41e 361932007-11-03 Marco Gerards <marco@gnu.org>
36194
36195 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36196 (CRTC_ADDR_PORT): New macro.
36197 (CRTC_DATA_PORT): Likewise.
36198 (CRTC_CURSOR): Likewise.
36199 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36200 (CRTC_CURSOR_ADDR_LOW): Likewise.
36201 (update_cursor): New function.
36202 (grub_console_real_putchar): Call `update_cursor'.
36203 (grub_console_gotoxy): Likewise.
36204 (grub_console_cls): Set the default color when clearing the
36205 screen.
36206 (grub_console_setcursor): Implemented.
36207
bb06ab2e 362082007-11-03 Marco Gerards <marco@gnu.org>
36209
36210 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36211 become activate.
36212 (grub_ata_pio_write): Likewise.
36213
36214 (grub_atapi_identify): Wait after issuing an ATA command.
36215 (grub_atapi_packet): Likewise.
36216 (grub_ata_identify): Likewise.
36217 (grub_ata_readwrite): Likewise.
36218
cf8f780b 362192007-11-03 Marco Gerards <marco@gnu.org>
36220
36221 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36222 (grub_ata_pio_write): Likewise.
36223 (grub_ata_readwrite): Use `grub_error', instead of
36224 returning `grub_errno'.
36225
ed649e54 362262007-11-03 Marco Gerards <marco@gnu.org>
36227
36228 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36229 grub_ata_pio_write once for every single sector, instead of for
36230 multiple sectors.
36231
ca25d8f0 362322007-10-31 Robert Millan <rmh@aybabtu.com>
36233
36234 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36235
36236 * conf/i386-linuxbios.rmk: New file.
36237
36238 * kern/i386/pc/hardware.c: Likewise.
36239 * term/i386/pc/at_keyboard.c: Likewise.
36240 * term/i386/pc/vga_text.c: Likewise.
36241
36242 * include/grub/i386/linuxbios/boot.h: Likewise.
36243 * include/grub/i386/linuxbios/console.h: Likewise.
36244 * include/grub/i386/linuxbios/init.h: Likewise.
36245 * include/grub/i386/linuxbios/kernel.h: Likewise.
36246 * include/grub/i386/linuxbios/loader.h: Likewise.
36247 * include/grub/i386/linuxbios/memory.h: Likewise.
36248 * include/grub/i386/linuxbios/serial.h: Likewise.
36249 * include/grub/i386/linuxbios/time.h: Likewise.
36250
36251 * kern/i386/linuxbios/init.c: Likewise.
36252 * kern/i386/linuxbios/startup.S: Likewise.
36253 * kern/i386/linuxbios/table.c: Likewise.
36254
e911ecc1 362552007-10-31 Marco Gerards <marco@gnu.org>
36256
36257 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36258 (ata_mod_SOURCES): New variable.
36259 (ata_mod_CFLAGS): Likewise.
36260 (ata_mod_LDFLAGS): Likewise.
36261
36262 * disk/ata.c: New file.
36263
36264 * include/grub/disk.h (grub_disk_dev_id): Add
36265 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36266
7f66d0e0 362672007-10-31 Robert Millan <rmh@aybabtu.com>
36268
36269 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36270 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36271
36272 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36273 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36274
36275 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36276 `<grub/types.h>'.
36277
36278 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36279
5cd7dd46 362802007-10-27 Robert Millan <rmh@aybabtu.com>
36281
3236ca65 36282 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36283
2ebfc90f 362842007-10-22 Robert Millan <rmh@aybabtu.com>
36285
36286 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36287 `"../realmode.S"'.
36288 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36289
73fcb0f3 362902007-10-22 Robert Millan <rmh@aybabtu.com>
36291
36292 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36293 (pkgdata_MODULES): Add `biosdisk.mod'.
36294 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36295 variables.
36296
36297 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36298 (grub_biosdisk_init): Replace with ...
36299 (GRUB_MOD_INIT(biosdisk)): ... this.
36300 (grub_biosdisk_fini): Replace with ...
36301 (GRUB_MOD_FINI(biosdisk)): ... this.
36302
36303 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36304 (grub_machine_init): Remove call to grub_biosdisk_init().
36305 (grub_machine_fini): Remove call to grub_machine_fini().
36306
36307 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36308
3381d274 363092007-10-22 Robert Millan <rmh@aybabtu.com>
36310
36311 * include/grub/time.h: New file.
36312 * include/grub/i386/time.h: Likewise.
36313 * include/grub/powerpc/time.h: Likewise.
36314 * include/grub/sparc64/time.h: Likewise.
36315
36316 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36317 instances to ...
36318 (KERNEL_MACHINE_TIME_HEADER): ... this.
36319 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36320 instances to ...
36321 (KERNEL_MACHINE_TIME_HEADER): ... this.
36322 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36323 instances to ...
36324 (KERNEL_MACHINE_TIME_HEADER): ... this.
36325
36326 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36327 (grub_millisleep): New function.
36328 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36329 (grub_millisleep): New function.
36330 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36331 Remove `grub/machine/time.h' include.
36332 (grub_millisleep): New function.
36333 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36334 Remove `grub/machine/time.h' include.
36335 (grub_millisleep): New function.
36336
36337 * include/grub/misc.h (grub_div_roundup): New function.
36338
36339 * kern/misc.c: Include `<grub/time.h>'.
36340 (grub_millisleep_generic): New function.
36341
36342 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36343 Add `time.h'.
36344 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36345 Add `time.h'.
36346 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36347 `machine/time.h'. Add `time.h'.
36348 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36349
a39a0312 363502007-10-21 Robert Millan <rmh@aybabtu.com>
36351
36352 * include/grub/misc.h (grub_max): New function.
36353
2aad70e2 363542007-10-21 Robert Millan <rmh@aybabtu.com>
36355
36356 * util/misc.c (grub_util_info): Call fflush() before returning.
36357
54b71c4b 363582007-10-20 Robert Millan <rmh@aybabtu.com>
36359
36360 * genmk.rb (Image): Copy `extra_flags' from here ...
36361 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36362
36363 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36364 to `argc' and `args' arguments.
36365
a979f513 363662007-10-17 Robert Millan <rmh@aybabtu.com>
36367
36368 * kern/i386/loader.S: New file.
36369
36370 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36371 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36372 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36373 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36374 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36375 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36376 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36377 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36378 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36379 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36380 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36381 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36382 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36383 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36384
36385 * kern/i386/realmode.S: New file.
36386
36387 * kern/i386/pc/startup.S (protstack): Moved from here ...
36388 * kern/i386/realmode.S (protstack)... to here.
36389 * kern/i386/pc/startup.S (gdt): Moved from here ...
36390 * kern/i386/realmode.S (gdt)... to here.
36391 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36392 * kern/i386/realmode.S (prot_to_real)... to here.
36393
36394 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36395 `kern/i386/realmode.S'.
36396
825fc8fd 363972007-10-17 Robert Millan <rmh@aybabtu.com>
36398
36399 * include/grub/i386/loader.h: New file.
36400
36401 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36402 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36403 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36404 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36405 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36406 * include/grub/i386/loader.h (grub_linux_prot_size)
36407 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36408 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36409 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36410 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36411
36412 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36413
e179b2f4 364142007-10-15 Robert Millan <rmh@aybabtu.com>
36415
36416 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36417 filesystem when dev->disk is unset.
36418 Do probe for filesystem even when dev->disk->has_partitions is set.
36419 In case a filesystem is found, always report it.
36420 In case it isn't, if dev->disk->has_partitions is set, report that
36421 a partition table was found instead of reporting that no filesystem
36422 could be identified.
36423
5db82af6 364242007-10-12 Robert Millan <rmh@aybabtu.com>
36425
36426 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36427 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36428
68f6ac74 36429 * include/grub/types.h (grub_host_to_target16): New macro.
36430 (grub_host_to_target32): Likewise.
36431 (grub_host_to_target64): Likewise.
36432 (grub_target_to_host16): Likewise.
36433 (grub_target_to_host32): Likewise.
36434 (grub_target_to_host64): Likewise.
5db82af6 36435
36436 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36437 Renamed from to ...
36438 (GRUB_MOD_ALIGN): ...this. Update all users.
36439
68f6ac74 36440 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36441 grub_host_to_target32.
36442 Replace grub_be_to_cpu32 with grub_target_to_host32.
36443 (load_modules): Likewise.
36444 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36445 Replace grub_be_to_cpu32 with grub_target_to_host32.
36446 Replace grub_cpu_to_be16 with grub_host_to_target16.
36447 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36448
3cf497cc 364492007-10-12 Robert Millan <rmh@aybabtu.com>
36450
36451 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36452 * util/elf/grub-mkimage.c: ... here.
36453
36454 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36455 `util/powerpc/ieee1275/grub-mkimage.c'.
36456
c8cc3692 364572007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36458
c8cc3692 36459 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36460 and make it easier to figure out.
36461 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36462 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36463 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36464 leave us with less than HEAP_MIN_SIZE total heap.
36465 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36466
5c58b791 364672007-10-03 Robert Millan <rmh@aybabtu.com>
36468
36469 * include/grub/i386/io.h: New file.
36470 * commands/i386/pc/play.c (inb): Removed.
36471 (outb): Removed.
36472 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36473 with grub_outb().
afcd2ef8 36474 * term/i386/pc/serial.c (inb): Removed.
36475 (outb): Removed.
36476 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36477 with grub_outb().
36478 * term/i386/pc/vga.c (inb): Removed.
36479 (outb): Removed.
36480 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36481 with grub_outb().
5c58b791 36482
1a477ed6 364832007-10-02 Robert Millan <rmh@aybabtu.com>
36484
36485 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36487 Reported by Marcin Kurek.
36488
6b5d80fa 364892007-09-07 Robert Millan <rmh@aybabtu.com>
36490
36491 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36492 SmartFirmware version updates (as released by Sven Luther), and avoid
36493 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36494 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36495 known broken.
36496
5618afbf 364972007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36498
36499 From Hitoshi Ozeki:
36500 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36501 when merging two regions.
36502
6139dcd9 365032007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36504
508e39ee 36505 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36506 * normal/completion.c (grub_normal_do_completion): Likewise.
36507 Reported by Hitoshi Ozeki.
36508
365092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36510
6139dcd9 36511 Do not use devices at boot in chainloading.
f19dbdb7 36512
6139dcd9 36513 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36514 (boot_part_addr): Likewise.
36515 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36516 with BOOT_DRIVE and BOOT_PART_ADDR.
36517 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36518 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36519
38da6516 365202007-08-29 Robert Millan <rmh@aybabtu.com>
36521
36522 Patch from Simon Peter <dn.tlp@gmx.net>:
36523 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36524 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36525 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36526 util/i386/pc/grub-setup.c_DEPENDENCIES.
36527 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36528 util/grub-probe.c_DEPENDENCIES.
36529 * conf/powerpc-ieee1275.rmk: Likewise.
36530
29d0928c 365312007-08-28 Robert Millan <rmh@aybabtu.com>
36532
36533 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36534 to tell grub-mkdevicemap how to name devices.
36535 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36536 feature).
36537
36538 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36539 util/i386/get_disk_name.c.
36540 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36541 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36542 util/ieee1275/get_disk_name.c.
36543
36544 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36545
36546 * DISTLIST: Add util/i386/get_disk_name.c and
36547 util/ieee1275/get_disk_name.c.
36548
36549 * util/grub-mkdevicemap.c: Replace device naming logic with
36550 grub_util_get_disk_name() calls.
36551
5a0d3cca 365522007-08-20 Robert Millan <rmh@aybabtu.com>
36553
36554 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36555 (so that it works for both plural and singular quantities).
36556
8b72db2f 365572007-08-05 Robert Millan <rmh@aybabtu.com>
36558
36559 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36560 so that [xz] isn't taken into account when determining order.
36561
352466bf 365622007-08-02 Marco Gerards <marco@gnu.org>
36563
36564 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36565 `include/multiboot2.h', `include/grub/elfload.h',
36566 `include/multiboot.h', `include/grub/multiboot.h',
36567 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36568 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36569 `kern/elf.c', `loader/multiboot_loader.c',
36570 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36571 `loader/i386/pc/multiboot2.c',
36572 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36573 `util/i386/pc/grub-mkrescue.in'. Remove
36574 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36575 `include/grub/i386/pc/util/biosdisk.h' and
36576 `include/grub/powerpc/ieee1275/multiboot.h'.
36577
8f096014 365782007-08-02 Bean <bean123ch@gmail.com>
36579
36580 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36581 (ntfs_mod_SOURCES): New variable.
36582 (ntfs_mod_CFLAGS): Likewise.
36583 (ntfs_mod_LDFLAGS): Likewise.
36584
36585 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36586 (grub_probe_SOURCES): Likewise.
36587 (grub_emu_SOURCES): Likewise.
36588
36589 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36590 (grub_emu_SOURCES): Likewise.
36591
36592 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36593 (grub_emu_SOURCES): Likewise.
f19dbdb7 36594
8f096014 36595 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36596
36597 * fs/ntfs.c: New file.
36598
9959f7db 365992007-08-02 Bean <bean123ch@gmail.com>
36600
36601 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36602
36603 * file.h (grub_file): Likewise.
36604
36605 * fshelp.h (grub_fshelp_read_file): Likewise.
36606
36607 * util/i386/pc/grub-setup.c (setup): Likewise.
36608 (save_first_sector): Likewise.
36609 (save_blocklists): Likewise.
f19dbdb7 36610
9959f7db 36611 * fs/affs.c (grub_affs_read_file): Likewise.
36612
36613 * fs/ext2.c (grub_ext2_read_file): Likewise.
36614
36615 * fs/fat.c (grub_fat_read_data): Likewise.
36616
36617 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36618
36619 * fs/hfs.c (grub_hfs_read_file): Likewise.
36620
36621 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36622
36623 * fs/jfs.c (grub_jfs_read_file): Likewise.
36624
36625 * fs/minix.c (grub_minix_read_file): Likewise.
36626
36627 * fs/sfs.c (grub_sfs_read_file): Likewise.
36628
36629 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36630
9959f7db 36631 * fs/xfs.c (grub_xfs_read_file): Likewise.
36632
36633 * command/blocklist.c (read_blocklist): Likewise.
36634 (print_blocklist): Likewise.
36635
0a203f83 366362007-08-02 Marco Gerards <marco@gnu.org>
36637
36638 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36639 `util/hostfs.c'.
36640
36641 * disk/host.c: New file.
36642
36643 * util/hostfs.c: Likewise.
36644
36645 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36646 return `GRUB_ERR_BAD_FS'.
36647 * fs/sfs.c (grub_sfs_mount): Likewise.
36648 * fs/xfs.c (grub_xfs_mount): Likewise.
36649
36650 * include/grub/disk.h (enum grub_disk_dev_id): Add
36651 `GRUB_DISK_DEVICE_HOST_ID'.
36652
36653 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36654
e5dfe777 366552007-07-24 Jerone Young <jerone@gmail.com>
36656
f19dbdb7 36657 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36658 modules for compilation.
36659 * conf/powerpc-ieee1275.rmk: Likewise.
36660
36661 * include/multiboot.h: Move multiboot definitions to one file. Rename
36662 many definitions to not get grub specific.
36663 * include/multiboot2.h: Create header with multiboot 2 definitions.
36664 * include/grub/multiboot.h: Header for grub specific function
36665 prototypes and definitions.
36666 * include/grub/multiboot2.h: Likewise.
36667 * include/grub/multiboot_loader.h: Likewise.
36668 * include/grub/i386/pc/multiboot.h: Removed.
36669 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36670
36671 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36672 and 2 to allow for one multiboot and module commands.
36673 * loader/multiboot2.c: Add multiboot2 functionality.
36674 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36675 and definition names.
36676 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36677 2 functions.
36678 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36679 ieee1275 specific multiboot2 code.
36680
36681 * kern/i386/pc/startup.S: Change headers and definition names for
36682 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36683
daf0f0ba 366842007-07-22 Robert Millan <rmh@aybabtu.com>
36685
36686 * geninitheader.sh: Process file specified in first parameter rather
36687 than hardcoding grub_modules_init.lst.
fe6b695a 36688 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36689 than hardcoding grub_modules_init.h.
36690
36691 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36692 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36693 grub_probe_init.[ch] and grub_setup_init.[ch].
36694
36695 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36696 grub_modules_init.h with grub_emu_init.h.
36697 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36698 grub_probe_init.[ch] files.
36699 * conf/i386-efi.rmk: Likewise.
36700 * conf/i386-pc.rmk: Likewise.
36701 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36702 grub_setup_init.[ch] files.
36703
36704 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36705 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36706 to initialize modules rather than a list of hardcoded functions.
36707 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36708 grub_init_all() to initialize modules rather than a list of hardcoded
36709 functions.
36710
54cdc1cc 367112007-07-22 Robert Millan <rmh@aybabtu.com>
36712
36713 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36714 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36715
ad0686cc 367162007-07-22 Robert Millan <rmh@aybabtu.com>
36717
36718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36719 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36720 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36721 flag when running on SmartFirmware.
36722 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36723 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36724 was set.
36725
36726 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36727 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36728 rather than decreasing it.
36729
36730 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36731 there's not enough space to do it, fail in the same way as when it
36732 can't be done because there are no partitions.
36733
36734 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36735 when nvsetenv failed.
36736
969c02ec 367372007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36738
36739 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36740 because this rule is automatically generated.
36741 (grub-mkrescue): Removed for the same reason as above.
36742
5a79f472 367432007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36744
36745 Migrate to GNU General Public License Version 3.
f19dbdb7 36746
5a79f472 36747 * COPYING: Replaced with the plain text version of GPLv3.
36748
36749 * config.guess: Updated from gnulib.
36750 * config.sub: Likewise.
36751
36752 * geninit.sh: Output a GPLv3 copyright notice.
36753 * geninitheader.sh: Likewise.
36754 * genmodsrc.sh: Likewise.
36755 * gensymlist.sh.in: Likewise.
36756
36757 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36758 * boot/i386/pc/diskboot.S: Likewise.
36759 * boot/i386/pc/pxeboot.S: Likewise.
36760 * commands/blocklist.c: Likewise.
36761 * commands/boot.c: Likewise.
36762 * commands/cat.c: Likewise.
36763 * commands/cmp.c: Likewise.
36764 * commands/configfile.c: Likewise.
36765 * commands/echo.c: Likewise.
36766 * commands/help.c: Likewise.
36767 * commands/ls.c: Likewise.
36768 * commands/search.c: Likewise.
36769 * commands/terminal.c: Likewise.
36770 * commands/test.c: Likewise.
36771 * commands/videotest.c: Likewise.
36772 * commands/i386/cpuid.c: Likewise.
36773 * commands/i386/pc/halt.c: Likewise.
36774 * commands/i386/pc/play.c: Likewise.
36775 * commands/i386/pc/reboot.c: Likewise.
36776 * commands/i386/pc/vbeinfo.c: Likewise.
36777 * commands/i386/pc/vbetest.c: Likewise.
36778 * commands/ieee1275/halt.c: Likewise.
36779 * commands/ieee1275/reboot.c: Likewise.
36780 * commands/ieee1275/suspend.c: Likewise.
36781 * disk/loopback.c: Likewise.
36782 * disk/lvm.c: Likewise.
36783 * disk/raid.c: Likewise.
36784 * disk/efi/efidisk.c: Likewise.
36785 * disk/i386/pc/biosdisk.c: Likewise.
36786 * disk/ieee1275/ofdisk.c: Likewise.
36787 * font/manager.c: Likewise.
36788 * fs/affs.c: Likewise.
36789 * fs/ext2.c: Likewise.
36790 * fs/fat.c: Likewise.
36791 * fs/fshelp.c: Likewise.
36792 * fs/hfs.c: Likewise.
36793 * fs/hfsplus.c: Likewise.
36794 * fs/iso9660.c: Likewise.
36795 * fs/jfs.c: Likewise.
36796 * fs/minix.c: Likewise.
36797 * fs/sfs.c: Likewise.
36798 * fs/ufs.c: Likewise.
36799 * fs/xfs.c: Likewise.
36800 * hello/hello.c: Likewise.
36801 * include/grub/acorn_filecore.h: Likewise.
36802 * include/grub/arg.h: Likewise.
36803 * include/grub/bitmap.h: Likewise.
36804 * include/grub/boot.h: Likewise.
36805 * include/grub/cache.h: Likewise.
36806 * include/grub/device.h: Likewise.
36807 * include/grub/disk.h: Likewise.
36808 * include/grub/dl.h: Likewise.
36809 * include/grub/elfload.h: Likewise.
36810 * include/grub/env.h: Likewise.
36811 * include/grub/err.h: Likewise.
36812 * include/grub/file.h: Likewise.
36813 * include/grub/font.h: Likewise.
36814 * include/grub/fs.h: Likewise.
36815 * include/grub/fshelp.h: Likewise.
36816 * include/grub/gzio.h: Likewise.
36817 * include/grub/hfs.h: Likewise.
36818 * include/grub/kernel.h: Likewise.
36819 * include/grub/loader.h: Likewise.
36820 * include/grub/lvm.h: Likewise.
36821 * include/grub/misc.h: Likewise.
36822 * include/grub/mm.h: Likewise.
36823 * include/grub/net.h: Likewise.
36824 * include/grub/normal.h: Likewise.
36825 * include/grub/parser.h: Likewise.
36826 * include/grub/partition.h: Likewise.
36827 * include/grub/pc_partition.h: Likewise.
36828 * include/grub/raid.h: Likewise.
36829 * include/grub/rescue.h: Likewise.
36830 * include/grub/script.h: Likewise.
36831 * include/grub/setjmp.h: Likewise.
36832 * include/grub/symbol.h: Likewise.
36833 * include/grub/term.h: Likewise.
36834 * include/grub/terminfo.h: Likewise.
36835 * include/grub/tparm.h: Likewise.
36836 * include/grub/types.h: Likewise.
36837 * include/grub/video.h: Likewise.
36838 * include/grub/efi/api.h: Likewise.
36839 * include/grub/efi/chainloader.h: Likewise.
36840 * include/grub/efi/console.h: Likewise.
36841 * include/grub/efi/console_control.h: Likewise.
36842 * include/grub/efi/disk.h: Likewise.
36843 * include/grub/efi/efi.h: Likewise.
36844 * include/grub/efi/pe32.h: Likewise.
36845 * include/grub/efi/time.h: Likewise.
36846 * include/grub/i386/linux.h: Likewise.
36847 * include/grub/i386/setjmp.h: Likewise.
36848 * include/grub/i386/types.h: Likewise.
36849 * include/grub/i386/efi/kernel.h: Likewise.
36850 * include/grub/i386/efi/loader.h: Likewise.
36851 * include/grub/i386/efi/time.h: Likewise.
36852 * include/grub/i386/pc/biosdisk.h: Likewise.
36853 * include/grub/i386/pc/boot.h: Likewise.
36854 * include/grub/i386/pc/chainloader.h: Likewise.
36855 * include/grub/i386/pc/console.h: Likewise.
36856 * include/grub/i386/pc/init.h: Likewise.
36857 * include/grub/i386/pc/kernel.h: Likewise.
36858 * include/grub/i386/pc/loader.h: Likewise.
36859 * include/grub/i386/pc/memory.h: Likewise.
36860 * include/grub/i386/pc/multiboot.h: Likewise.
36861 * include/grub/i386/pc/serial.h: Likewise.
36862 * include/grub/i386/pc/time.h: Likewise.
36863 * include/grub/i386/pc/vbe.h: Likewise.
36864 * include/grub/i386/pc/vbeblit.h: Likewise.
36865 * include/grub/i386/pc/vbefill.h: Likewise.
36866 * include/grub/i386/pc/vbeutil.h: Likewise.
36867 * include/grub/i386/pc/vga.h: Likewise.
36868 * include/grub/ieee1275/ieee1275.h: Likewise.
36869 * include/grub/ieee1275/ofdisk.h: Likewise.
36870 * include/grub/powerpc/libgcc.h: Likewise.
36871 * include/grub/powerpc/setjmp.h: Likewise.
36872 * include/grub/powerpc/types.h: Likewise.
36873 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36874 * include/grub/powerpc/ieee1275/console.h: Likewise.
36875 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36876 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36877 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36878 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36879 * include/grub/powerpc/ieee1275/time.h: Likewise.
36880 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36881 * include/grub/sparc64/libgcc.h: Likewise.
36882 * include/grub/sparc64/setjmp.h: Likewise.
36883 * include/grub/sparc64/types.h: Likewise.
36884 * include/grub/sparc64/ieee1275/console.h: Likewise.
36885 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36886 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36887 * include/grub/sparc64/ieee1275/time.h: Likewise.
36888 * include/grub/util/biosdisk.h: Likewise.
36889 * include/grub/util/getroot.h: Likewise.
36890 * include/grub/util/lvm.h: Likewise.
36891 * include/grub/util/misc.h: Likewise.
36892 * include/grub/util/raid.h: Likewise.
36893 * include/grub/util/resolve.h: Likewise.
36894 * io/gzio.c: Likewise.
36895 * kern/device.c: Likewise.
36896 * kern/disk.c: Likewise.
36897 * kern/dl.c: Likewise.
36898 * kern/elf.c: Likewise.
36899 * kern/env.c: Likewise.
36900 * kern/err.c: Likewise.
36901 * kern/file.c: Likewise.
36902 * kern/fs.c: Likewise.
36903 * kern/loader.c: Likewise.
36904 * kern/main.c: Likewise.
36905 * kern/misc.c: Likewise.
36906 * kern/mm.c: Likewise.
36907 * kern/parser.c: Likewise.
36908 * kern/partition.c: Likewise.
36909 * kern/rescue.c: Likewise.
36910 * kern/term.c: Likewise.
36911 * kern/efi/efi.c: Likewise.
36912 * kern/efi/init.c: Likewise.
36913 * kern/efi/mm.c: Likewise.
36914 * kern/i386/dl.c: Likewise.
36915 * kern/i386/efi/init.c: Likewise.
36916 * kern/i386/efi/startup.S: Likewise.
36917 * kern/i386/pc/init.c: Likewise.
36918 * kern/i386/pc/lzo1x.S: Likewise.
36919 * kern/i386/pc/startup.S: Likewise.
36920 * kern/ieee1275/ieee1275.c: Likewise.
36921 * kern/powerpc/cache.S: Likewise.
36922 * kern/powerpc/dl.c: Likewise.
36923 * kern/powerpc/ieee1275/cmain.c: Likewise.
36924 * kern/powerpc/ieee1275/crt0.S: Likewise.
36925 * kern/powerpc/ieee1275/init.c: Likewise.
36926 * kern/powerpc/ieee1275/openfw.c: Likewise.
36927 * kern/sparc64/cache.S: Likewise.
36928 * kern/sparc64/dl.c: Likewise.
36929 * kern/sparc64/ieee1275/init.c: Likewise.
36930 * kern/sparc64/ieee1275/openfw.c: Likewise.
36931 * loader/efi/chainloader.c: Likewise.
36932 * loader/efi/chainloader_normal.c: Likewise.
36933 * loader/i386/efi/linux.c: Likewise.
36934 * loader/i386/efi/linux_normal.c: Likewise.
36935 * loader/i386/pc/chainloader.c: Likewise.
36936 * loader/i386/pc/chainloader_normal.c: Likewise.
36937 * loader/i386/pc/linux.c: Likewise.
36938 * loader/i386/pc/linux_normal.c: Likewise.
36939 * loader/i386/pc/multiboot.c: Likewise.
36940 * loader/i386/pc/multiboot_normal.c: Likewise.
36941 * loader/powerpc/ieee1275/linux.c: Likewise.
36942 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36943 * normal/arg.c: Likewise.
36944 * normal/cmdline.c: Likewise.
36945 * normal/command.c: Likewise.
36946 * normal/completion.c: Likewise.
36947 * normal/execute.c: Likewise.
36948 * normal/function.c: Likewise.
36949 * normal/lexer.c: Likewise.
36950 * normal/main.c: Likewise.
36951 * normal/menu.c: Likewise.
36952 * normal/menu_entry.c: Likewise.
36953 * normal/misc.c: Likewise.
36954 * normal/parser.y: Likewise.
36955 * normal/script.c: Likewise.
36956 * normal/i386/setjmp.S: Likewise.
36957 * normal/powerpc/setjmp.S: Likewise.
36958 * normal/sparc64/setjmp.S: Likewise.
36959 * partmap/acorn.c: Likewise.
36960 * partmap/amiga.c: Likewise.
36961 * partmap/apple.c: Likewise.
36962 * partmap/gpt.c: Likewise.
36963 * partmap/pc.c: Likewise.
36964 * partmap/sun.c: Likewise.
36965 * term/gfxterm.c: Likewise.
36966 * term/terminfo.c: Likewise.
36967 * term/efi/console.c: Likewise.
36968 * term/i386/pc/console.c: Likewise.
36969 * term/i386/pc/serial.c: Likewise.
36970 * term/i386/pc/vesafb.c: Likewise.
36971 * term/i386/pc/vga.c: Likewise.
36972 * term/ieee1275/ofconsole.c: Likewise.
36973 * util/biosdisk.c: Likewise.
36974 * util/console.c: Likewise.
36975 * util/genmoddep.c: Likewise.
36976 * util/getroot.c: Likewise.
36977 * util/grub-emu.c: Likewise.
36978 * util/grub-mkdevicemap.c: Likewise.
36979 * util/grub-probe.c: Likewise.
36980 * util/lvm.c: Likewise.
36981 * util/misc.c: Likewise.
36982 * util/raid.c: Likewise.
36983 * util/resolve.c: Likewise.
36984 * util/update-grub.in: Likewise.
36985 * util/update-grub_lib.in: Likewise.
36986 * util/grub.d/00_header.in: Likewise.
36987 * util/grub.d/10_hurd.in: Likewise.
36988 * util/grub.d/10_linux.in: Likewise.
36989 * util/i386/efi/grub-install.in: Likewise.
36990 * util/i386/efi/grub-mkimage.c: Likewise.
36991 * util/i386/pc/grub-install.in: Likewise.
36992 * util/i386/pc/grub-mkimage.c: Likewise.
36993 * util/i386/pc/grub-mkrescue.in: Likewise.
36994 * util/i386/pc/grub-setup.c: Likewise.
36995 * util/i386/pc/misc.c: Likewise.
36996 * util/powerpc/ieee1275/grub-install.in: Likewise.
36997 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36998 * util/powerpc/ieee1275/misc.c: Likewise.
36999 * video/bitmap.c: Likewise.
37000 * video/video.c: Likewise.
37001 * video/i386/pc/vbe.c: Likewise.
37002 * video/i386/pc/vbeblit.c: Likewise.
37003 * video/i386/pc/vbefill.c: Likewise.
37004 * video/i386/pc/vbeutil.c: Likewise.
37005 * video/readers/tga.c: Likewise.
37006
3572d015 370072007-07-02 Robert Millan <rmh@aybabtu.com>
37008
37009 * conf/i386-efi.rmk: Replace obsolete reference to
37010 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37011 with util/getroot.c.
37012 * conf/powerpc-ieee1275.rmk: Likewise.
37013 * conf/sparc64-ieee1275.rmk: Likewise.
37014
37015 * util/grub-emu.c (main): Fix unchecked pointer handling.
37016
2c2a681b 370172007-07-02 Robert Millan <rmh@aybabtu.com>
37018
37019 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37020 invocation to fail, in order to support partition-less media.
37021
37022 * util/i386/pc/grub-install.in: Likewise.
37023
37024 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37025 which fs or partmap modules are needed (akin to its sister scripts).
37026
37027 Also use grub-probe to get rid of unportable /proc/mounts check.
37028
37029 Print the same informational message that the other scripts do, before
fe6b695a 37030 exiting.
2c2a681b 37031
6193defe 370322007-06-23 Robert Millan <rmh@aybabtu.com>
37033
fe6b695a 37034 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37035 a font file can be found and, if so, echo the GRUB path to it.
37036
37037 * util/update-grub.in: Handle multiple terminals depending on user
37038 input, platform availability and font file presence. Propagate
37039 variables of our findings to /etc/grub.d/ children.
37040
37041 * util/grub.d/00_header.in: Handle multiple terminals, based on
37042 environment setup by update-grub.
37043
eface1dc 370442007-06-23 Robert Millan <rmh@aybabtu.com>
37045
ba50d28f 37046 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37047
bf697e28 370482007-06-21 Robert Millan <rmh@aybabtu.com>
37049
37050 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37051 indicate end of data section in kernel image.
37052 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37053 GRUB_KERNEL_MACHINE_DATA_END.
37054
37055 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37056 space for it.
37057 * kern/i386/efi/startup.S: Likewise.
37058
37059 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37060 during image generation. Implement --prefix option to override this
37061 patch.
37062 * util/i386/efi/grub-mkimage.c: Likewise.
37063
37064 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37065 code to make path relative to its root into a separate function.
37066
37067 * util/i386/pc/grub-install.in: Use newly provided
37068 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37069 pass the result to grub-install --prefix.
37070
baa574b4 370712007-06-13 Robert Millan <rmh@aybabtu.com>
37072
37073 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37074 DEFAULT_DEVICE_MAP.
37075 * util/grub-emu.c: Use above definitions from misc.h instead of
37076 defining them.
37077 * util/grub-mkdevicemap.c: Likewise.
37078 * util/i386/pc/grub-setup.c: Likewise.
37079 * util/grub-probe.c: Likewise.
37080 (probe): Abort with grub_util_error() when either
37081 grub_guess_root_device or grub_util_get_grub_dev fails.
37082
0215dcbf 370832007-06-12 Robert Millan <rmh@aybabtu.com>
37084
37085 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37086 "pager" assignment.
37087 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37088 "pcdata".
37089 * util/grub-probe.c (probe): Likewise for "drive_name".
37090
8af2ab7b 370912007-06-11 Robert Millan <rmh@aybabtu.com>
37092
37093 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37094 not just the cdrom one.
37095
59d31694 370962007-06-11 Robert Millan <rmh@aybabtu.com>
37097
37098 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37099 Add --pkglibdir=DIR option to override pkglibdir.
37100 Mention --image-type=TYPE in help output.
37101 Fix --grub-mkimage (it was a no-op).
fe6b695a 37102 Abort gracefully when no parameter is given.
59d31694 37103
7ee367e4 371042007-06-11 Robert Millan <rmh@aybabtu.com>
37105
37106 * util/i386/pc/grub-mkrescue.in: New file.
37107 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37108 * Makefile.in: Handle bin_SCRIPTS.
37109
29b0ed46 371102007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37111
37112 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37113 list of video modes.
37114
c0f90770 371152007-06-06 Robert Millan <rmh@aybabtu.com>
37116
37117 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37118 file doesn't exist, or if it is in a filesystem grub can't read.
37119
37120 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37121 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37122 header comment to fit in 80 columns when the variables are resolved.
37123
37124 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37125 could be identified by update-grub. Remove redundant check for
fe6b695a 37126 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37127 handles that).
37128
fb36dc26 371292007-06-04 Robert Millan <rmh@aybabtu.com>
37130
37131 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37132
37133 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37134
37135 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37136
0c68c93e 371372007-06-04 Robert Millan <rmh@aybabtu.com>
37138
37139 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37140
37141 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37142 grub_apple_partition_map_fini.
37143
37144 * util/biosdisk.c
37145 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37146 to access >2 TiB disks).
37147
37148 Print disk->total_sectors with %llu instead of %lu, since this
37149 variable is always 64-bit (prevents wrong disk size from being displayed
37150 on either >2 TiB disk or big-endian CPU).
37151
37152 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37153 into a generic case that supports all (sane) partition maps.
37154
37155 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37156 breaks big-endian.
37157
37158 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37159 and grub_apple_partition_map_fini() after that.
37160
0f23eb74 371612007-06-01 Robert Millan <rmh@aybabtu.com>
37162
37163 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37164
37165 * util/grub.d/00_header.in: Only enable gfxterm when
37166 convert_system_path_to_grub_path() succeeds.
37167
42c71976 371682007-05-20 Robert Millan <rmh@aybabtu.com>
37169
37170 * util/update-grub_lib.in: New file.
37171 * DISTLIST: Add update-grub_lib.in.
37172 * conf/common.rmk: Generate update-grub_lib and install it in
37173 $(lib_DATA).
37174 * Makefile.in: Add install routine for $(lib_DATA).
37175
37176 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37177 function provided by update-grub_lib to support arbitrary paths of
37178 unifont.pff.
37179 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37180 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37181
5beb2291 371822007-05-19 Robert Millan <rmh@aybabtu.com>
37183
37184 * commands/i386/cpuid.c: New module.
37185 * DISTLIST: Add it.
37186 * conf/i386-efi.rmk: Enable cpuid.mod.
37187 * conf/i386-pc.rmk: Likewise.
37188
7262eca1 371892007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37190
37191 * kern/disk.c (grub_disk_read): Check return value of
37192 grub_realloc().
37193
260ba823 371942007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37195
37196 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37197 arrays.
37198 * disk/raid.c (grub_raid_open): Likewise.
37199
1ecb6cf2 372002007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37201
37202 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37203 stack instead of on the heap.
37204
37205 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37206 before doing a read on it.
37207
37208 * configure.ac: Only use -fno-stack-protector for the target
37209 environment.
f19dbdb7 37210
21c8cbb1 372112007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37212
37213 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37214 __attribute_ ((unused)) to mode_type argument.
37215
37216 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37217
21c8cbb1 37218 * kern/misc.c (memcmp): Fix prototype.
37219
37220 * include/grub/partition.h [GRUB_UTIL]
37221 (grub_gpt_partition_map_init): Add prototype.
37222 (grub_gpt_partition_map_fini): Likewise.
37223
37224 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37225 at the right place.
37226
37227 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37228 (grub_fat_read_data): Likewise.
37229 (grub_fat_find_dir): Likewise.
37230
37231 * font/manager.c (find_glyph): Make table a const.
37232 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37233
849d55d3 372342007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37235
37236 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37237 code, first search for device in /dev/mapper, then in /dev.
37238 (grub_util_get_grub_dev): New function.
37239 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37240 prototype.
37241 * util/grub-probe.c (probe): Remove check for RAID, call
37242 grub_util_get_grub_dev() instead of
37243 grub_util_biosdisk_get_grub_dev().
37244 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37245 grub_util_biosdisk_get_grub_dev().
37246 * util/i386/pc/grub-setup.c (main): Likewise.
37247
8fff7c2f 372482007-05-16 Robert Millan <rmh@aybabtu.com>
37249
37250 * DISTLIST: Update for the latest changes.
37251 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37252 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37253 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37254 grub/util/biosdisk.h.
37255 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37256 grub/util/biosdisk.h.
37257
48e12b52 372582007-05-16 Robert Millan <rmh@aybabtu.com>
37259
37260 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37261
46b9d128 372622007-05-16 Robert Millan <rmh@aybabtu.com>
37263
37264 * util/i386/efi/grub-install.in: New.
37265 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37266 newly added grub-install.
37267 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37268 include.
37269 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37270 grub/util/biosdisk.h.
37271 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37272 grub/util/biosdisk.h.
37273
2d1a40a9 372742007-05-16 Robert Millan <rmh@aybabtu.com>
37275
37276 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37277 * include/grub/util/biosdisk.h: ... here.
37278 * util/i386/pc/biosdisk.c: Moved to ...
37279 * util/biosdisk.c: ... here.
37280 * util/i386/pc/getroot.c: Moved to ...
37281 * util/getroot.c: ... here.
37282 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37283 * util/grub-mkdevicemap.c: ... here.
37284 * util/i386/pc/grub-probe.c: Moved to ...
37285 * util/grub-probe.c: ... here.
37286
9e26e3bc 372872007-05-15 Robert Millan <rmh@aybabtu.com>
37288
37289 * util/update-grub.in: Remove duplicated line in grub.cfg header
37290 message.
37291
57f96397 372922007-05-13 Robert Millan <rmh@aybabtu.com>
37293
37294 * util/update-grub.in: Fix a few assumptions about the devices holding
37295 /, /boot and /boot/grub being the same.
37296 * util/grub.d/00_header.in: Likewise.
37297 * util/grub.d/10_hurd.in: Likewise.
37298 * util/grub.d/10_linux.in: Likewise.
37299
37300 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37301 patterns. Use that to define the `.old' suffix as older than `'.
37302
37303 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37304
37305 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37306 the grub.cfg header message.
37307
2e610d62 373082007-05-11 Robert Millan <rmh@aybabtu.com>
37309
37310 * util/update-grub.in: Create device.map if it doesn't already exist,
37311 before attempting to run grub-probe.
37312 Check for grub-probe and grub-mkdevicemap with the same code
37313 grub-install is using.
37314 Remove test mode.
37315
3f6a10ef 373162007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37317
37318 * Makefile.in: Add the datarootdir autoconf variable.
37319
02e7b75e 373202007-05-09 Robert Millan <rmh@aybabtu.com>
37321
37322 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37323 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37324
75f396cc 373252007-05-07 Robert Millan <rmh@aybabtu.com>
37326
37327 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37328 determine partition map module.
37329 * util/i386/pc/grub-install.in: Use this feature to decide which
37330 partition module to load, instead of hardcoding pc and gpt.
37331
da65cb36 373322007-05-07 Robert Millan <rmh@aybabtu.com>
37333
37334 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37335 source directory differs from build directory.
37336
b57d6a91 373372007-05-05 Robert Millan <rmh@aybabtu.com>
37338
37339 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37340 initialisation.
37341
509d00f1 373422007-05-05 Robert Millan <rmh@aybabtu.com>
37343
37344 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37345
c48f23ef 373462007-05-05 Robert Millan <rmh@aybabtu.com>
37347
37348 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37349 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37350
20b97658 373512007-05-05 Robert Millan <rmh@aybabtu.com>
37352
37353 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37354 (grub_probe_SOURCES): Likewise.
37355 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37356 GPT and initialize dos_part and bsd_part accordingly.
37357 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37358 install_bsd_part.
37359 (main): Activate gpt module for use during partition identification,
37360 and deactivate it afterwards.
37361 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37362 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37363 partition identification, and deactivate it afterwards.
37364
99123174 373652007-05-05 Robert Millan <rmh@aybabtu.com>
37366
37367 * term/i386/pc/console.c (grub_console_fini): Call
37368 grub_term_set_current() before grub_term_unregister().
37369
ebd97f6e 373702007-05-04 Robert Millan <rmh@aybabtu.com>
37371
37372 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37373 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37374 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37375 and update-grub_DATA.
37376 * conf/common.rmk: Build and install update-grub components.
37377 * conf/common.mk: Regenerate.
37378 * util/update-grub.in: New. Core of update-grub.
37379 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37380 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37381 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37382 * util/grub.d/README: New. Document grub.d directory layout.
37383
b06a264d 373842007-05-01 Robert Millan <rmh@aybabtu.com>
37385
37386 * util/grub-emu.c: Move initialization functions
37387 grub_util_biosdisk_init() and grub_init_all() before
37388 grub_util_biosdisk_get_grub_dev(), which relies on them.
37389
41f0050e 373902007-04-19 Robert Millan <rmh@aybabtu.com>
37391
37392 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37393 it is used later.
37394
04582bb3 373952007-04-18 Jerone Young <jerone@gmail.com>
37396
f19dbdb7 37397 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37398 stanza.
37399
08db4632 374002007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37401
08db4632 37402 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37403 continue on and look for device node with real device name.
37404
801b76be 374052007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37406
fe6b695a 37407 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37408 ability.
37409 * Makefile.in: Add autoconf package transformation code.
37410 * util/i386/pc/grub-install.in: Likewise.
37411 * util/powerpc/ieee1275/grub-install.in: Likewise.
37412
6795c4e1 374132007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37414
37415 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37416 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37417 (EXT2_REVISION): Likewise.
37418 (EXT2_INODE_SIZE): Likewise.
37419 (struct grub_ext2_block_group): Added a missing member
37420 "used_dirs".
37421 (grub_ext2_read_inode): Divide by the inode size in a superblock
37422 instead of 128 to obtain INODES_PER_BLOCK.
37423 Use the macro EXT2_INODE_SIZE instead of directly using
37424 SBLOCK->INODE_SIZE.
37425
d70af616 374262007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37427
37428 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37429 superblock instead of the structure size to compute an
37430 offset. This fixes the problem that GRUB could not read a
37431 filesystem when inode size is different from 128-byte.
37432
3b801603 374332007-03-05 Marco Gerards <marco@gnu.org>
37434
37435 * normal/main.c (read_config_file): When "menu" is not set, create
37436 an initial context.
37437
4785bfe4 374382007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37439
37440 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37441 (HEAP_LIMIT): New macro.
37442 (grub_claim_heap): Claim memory up to `heaplimit'.
37443
a0cbb023 374442007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37445
37446 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37447 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37448 (_start): Likewise.
37449 (grub_arch_modules_addr): Return address after `_end'.
37450 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37451 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37452 (add_segments): Calculate `_end' from phdr size and location.
37453 (ALIGN_UP): Moved to ...
37454 * include/grub/misc.h: here.
37455 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37456 New macro.
37457 (GRUB_IEEE1275_MODULE_BASE): Removed.
37458
fd7d8eba 374592007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37460
37461 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37462 loop boundary.
37463
9b09e6fc 374642007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37465
37466 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37467 All users updated.
37468 (grub_elf64_load_hook_t): Likewise.
37469 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37470 debug output.
37471
3ce27299 374722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37473
37474 * kern/mm.c: Update copyright.
37475 (grub_mm_debug): Correct syntax error.
37476 (grub_mm_dump_free): New function.
37477 (grub_debug_free): Call `grub_free'.
37478 * include/grub/mm.h: Update copyright.
37479 (grub_mm_dump_free): Add declaration.
37480
077d5fee 374812007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37482
37483 * include/grub/ieee1275/ieee1275.h: Update copyright.
37484 * kern/powerpc/ieee1275/init.c: Likewise.
37485 * kern/powerpc/ieee1275/openfw.c: Likewise.
37486
37487 * loader/powerpc/ieee1275/linux.c: Likewise.
37488 * include/grub/elfload.h: Likewise.
37489 * kern/elf.c: Likewise.
37490 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37491 callers.
37492 (grub_elf64_load): Likewise.
37493 (grub_elf32_load_segment): Move to a nested function.
37494 (grub_elf64_load_segment): Likewise.
37495
dc946850 374962007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37497
37498 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37499 prototype.
37500 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37501 (grub_heap_len): Likewise.
37502 (HEAP_SIZE): New macro.
37503 (grub_claim_heap): New function.
37504 (grub_machine_init): Don't claim heap directly. Call
37505 `grub_claim_heap'.
37506 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37507 (grub_available_iterate): New function.
37508
baa2a121 375092007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37510
37511 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37512 * configure.ac: Use it for testing the HOST and TARGET compilers.
37513
4fe9862e 375142006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37515
37516 * Makefile.in (enable_grub_emu): New variable.
37517 * configure.ac (--enable-grub-emu): New option.
37518 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37519 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37520 * conf/i386-pc.rmk: Likewise.
37521 * conf/powerpc-ieee1275.rmk: Likewise.
37522 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37523
a8aa5762 375242006-12-12 Marco Gerards <marco@gnu.org>
37525
37526 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37527
37528 * kern/env.c (grub_env_unset): Don't free the member `value' when
37529 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37530 pointer.
37531
37532 * normal/main.c (current_menu): Removed.
37533 (free_menu): Unset the `menu' environment variable.
37534 (grub_normal_menu_addentry): Make use of the environment variable
37535 `menu', instead of using the global `current_menu'. Allocate
37536 memory for the sourcecode of this entry.
37537 (read_config_file): New argument `nested', changed all callers.
37538 Only in the case of a new context, initialize a new menu. Set the
37539 `menu' environment variable.
37540 (grub_normal_execute): Don't set and unset the environment
37541 variable `menu' here anymore. Only free the menu when leaving the
37542 context.
37543
37544 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37545 leak.
37546
957b3a3e 375472006-12-11 Marco Gerards <marco@gnu.org>
37548
37549 * normal/menu_entry.c (run): Fix off by one bug so the last line
37550 is executed. Move the loader check to outside the loop.
37551
ef875714 375522006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37553
37554 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37555
4e739985 375562006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37557
37558 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37559 the number of sectors. Reported by Andrey Shuvikov
37560 <mr_hyro@yahoo.com>.
f19dbdb7 37561
790707f2 375622006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37563
37564 * kern/disk.c (grub_disk_read): When there is a read error, always
37565 try to read only the necessary data.
f19dbdb7 37566
790707f2 37567 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37568 disk/raid.c.
37569 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37570 prototype.
37571 [GRUB_UTIL] (grub_raid_fini): Likewise.
37572 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37573 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37574 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37575 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37576 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37577 and grub_raid_fini().
f19dbdb7 37578
03e58196 375792006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37580
37581 * include/grub/types.h (__unused): Rename to UNUSED.
37582 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37583 (grub_elf64_size): Likewise.
f19dbdb7 37584
ae4f23bf 375852006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37586
37587 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37588 grub_error_push and grub_error_pop in the error-handling path.
37589 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37590 length.
37591
2166cc83 375922006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37593
37594 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37595 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37597 (kernel_elf_SOURCES): Likewise.
37598 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37599 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37600 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37601 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37602 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37603 (elf_mod_SOURCES): New variable.
37604 (elf_mod_CFLAGS): Likewise.
37605 (elf_mod_LDFLAGS): Likewise.
37606 * include/grub/types.h (__unused): New macro.
37607 * include/grub/elfload.h: New file.
37608 * kern/elf.c: Likewise.
37609 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37610 (ELF32_LOADMASK): New macro.
37611 (ELF64_LOADMASK): Likewise.
37612 (vmlinux): Removed.
37613 (grub_linux_load32): New function.
37614 (grub_linux_load64): Likewise.
37615 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37616 Use grub_elf_t instead of grub_file_t.
37617
a09d5aa5 376182006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37619
37620 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37621 `catch_result' to struct set_color_args.
37622
d976fc51 376232006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37624
37625 * normal/menu.c: Include grub/script.h.
37626 * normal/menu_entry.c: Likewise.
37627 * include/grub/normal.h: Do not include grub/script.h.
37628
67507549 376292006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37630
37631 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37632
69203a99 376332006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37634
37635 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37636 disk.
37637 (grub_disk_close): Print debug messages when closing a disk.
37638 (grub_disk_read): Print debug messages when disk read fails.
37639 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37640 filesystem type.
37641 * kern/partition.c: Include misc.h.
37642 (grub_partition_iterate): Print debug messages when detecting
37643 partition type.
37644
e2b8278c 376452006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37646
37647 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37648 is negative.
37649 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37650
97b2f2ff 376512006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37652
37653 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37654 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37655
6555d655 376562006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37657
37658 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37659 instead of sizeof(lv). Patch by Michael Guntsche.
37660
4d42b77f 376612006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37662
37663 * disk/lvm.c: Rename VGS to VG_LIST.
37664 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37665 (grub_lvm_open): Likewise.
37666 Thanks to Michael Guntsche for finding this bug.
37667
5d74d927 376682006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37669
37670 * configure.ac (AC_INIT): Bumped to 1.95.
37671
a1bb27e4 376722006-10-14 Robert Millan <rmh@aybabtu.com>
37673
37674 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37675 with "/dev/.static/dev/md".
37676
e0994b8b 376772006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37678
37679 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37680 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37681 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37682 DRIVE_NAME are always freed.
37683
37684 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37685 DOS_PART, as a DOS partition is counted from one instead of zero
37686 now. Reported by Robert Millan.
37687
ddd5cee9 376882006-10-14 Robert Millan <rmh@aybabtu.com>
37689
37690 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37691 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37692 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37693 string returned by grub_guess_root_device.
37694 * util/i386/pc/grub-setup.c: Likewise.
37695 * util/i386/pc/grub-probefs.c: Likewise.
37696
37697 * util/i386/pc/grub-probefs.c: Rename to ...
37698 * util/i386/pc/grub-probe.c: ... this.
37699 * DISTLIST: Remove grub-probefs, add grub-probe.
37700 * conf/i386-efi.rmk: Likewise.
37701 * conf/i386-pc.rmk: Likewise.
37702 * util/i386/pc/grub-install.in: Likewise.
37703
37704 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37705 choose which information we want to print.
37706
2b002173 377072006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37708
37709 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37710 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37711 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37712 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37713 video/readers/tga.c and video/i386/pc/vbeutil.c.
37714
377152006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37716
37717 Added support for RAID and LVM.
f19dbdb7 37718
2b002173 37719 * disk/lvm.c: New file.
37720 * disk/raid.c: Likewise.
37721 * include/grub/lvm.h: Likewise.
f19dbdb7 37722 * include/grub/raid.h: Likewise.
2b002173 37723 * include/grub/util/lvm.h: Likewise.
37724 * include/grub/util/raid.h: Likewise.
37725 * util/lvm.c: Likewise.
37726 * util/raid.c: Likewise.
37727
37728 * include/grub/disk.h (grub_disk_dev_id): Add
37729 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37730 (grub_disk_get_size): New prototype.
37731 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37732 returns a partition.
37733 (grub_disk_get_size): New function.
f19dbdb7 37734
2b002173 37735 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37736 verbatim if grub_install_dos_part is -2.
37737
37738 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37739 and LVM devices.
37740
37741 * util/i386/pc/grub-setup.c (setup): New argument
37742 MUST_EMBED. Force embedding of GRUB when the argument is
37743 true. Close FILE before returning.
37744 (main): Add support for RAID and LVM.
f19dbdb7 37745
2b002173 37746 * conf/common.rmk: Add RAID and LVM modules.
37747 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37748 util/lvm.c.
37749 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37750
37751 * kern/misc.c (grub_strstr): New function.
37752 * include/grub/misc.h (grub_strstr): New prototype.
37753
050548d0 377542006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37755
37756 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37757
da849d2d 377582006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37759
37760 * kern/misc.c (grub_strtoull): Guess the base only if not
37761 specified.
37762
97b2f2ff 377632006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37764
37765 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37766 PowerMac support.
37767
97b2f2ff 377682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37769
37770 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37771
37772 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37773 Remove `flags' argument. All callers changed.
37774 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37775 (IEEE1275_IHANDLE_INVALID): New variable.
37776 (IEEE1275_CELL_INVALID): New variable.
37777 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37778 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37779 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37780 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37781 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37782 codes from Open Firmware. All callers updated.
37783 (grub_ieee1275_next_property): Directly return Open Firmware return
37784 code.
37785 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37786 Standardize error checking from `grub_ieee1275_get_property'.
37787 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37788 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37789
97b2f2ff 377902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37791
37792 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37793 `instance_to_package_args' to `instance_to_path_args'.
37794
37795 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37796 `grub_ieee1275_chosen'.
37797
37798 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37799 `grub_ieee1275_interpret'.
37800
97b2f2ff 378012006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37802
37803 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37804
97b2f2ff 378052006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37806
37807 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37808 (__cmpdi): Likewise.
37809
37810 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37811 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37812 `grub_ssize_t'.
37813
02bb8acc 37814 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37815
37816 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37817 to type `grub_ssize_t'.
37818 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37819
7f9a8531 378202006-09-22 Marco Gerards <marco@gnu.org>
37821
37822 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37823 newlines.
37824
b5ef1102 378252006-09-22 Marco Gerards <marco@gnu.org>
37826
37827 * commands/echo.c: New file.
37828
37829 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37830
37831 * conf/common.rmk (echo_mod_SOURCES): New variable.
37832 (echo_mod_CFLAGS): Likewise.
37833 (echo_mod_LDFLAGS): Likewise.
37834
2cff3677 378352006-09-22 Marco Gerards <marco@gnu.org>
37836
37837 * normal/main.c (get_line): Malloc memory instead of using
37838 preallocated memory. Removed the arguments `cmdline' and
37839 `max_len'. Updated all callers.
37840
6ba4688b 378412006-09-22 Marco Gerards <marco@gnu.org>
37842
37843 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37844 (normal_mod_DEPENDENCIES): Likewise.
37845
37846 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37847 (normal_mod_DEPENDENCIES): Likewise.
37848
37849 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37850
e02ac02c 378512006-09-22 Johan Rydberg <jrydberg@gnu.org>
37852
37853 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37854 programs.
37855 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37856 (normal_mod_DEPENDENCIES): Likewise.
37857 * conf/i386-pc.mk: Regenerate.
37858 * conf/i386-efi.mk: Likewise
37859 * conf/common.mk: Likewise.
37860 * conf/powerpc-ieee1275.mk: Likewise.
37861 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37862
8d252e44 378632006-09-22 Robert Millan <rmh@aybabtu.com>
37864
37865 Sync with i386 version.
37866 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37867 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37868
209bf7ac 378692006-09-21 Robert Millan <rmh@aybabtu.com>
37870
37871 Import from GRUB Legacy (lib/device.c):
37872 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37873 (init_device_map) [__linux__]: Add support for I2O devices.
37874
6b146090 378752006-09-14 Marco Gerards <marco@gnu.org>
37876
37877 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37878 `-melf_i386'.
37879
e38600a8 378802006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37881
37882 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37883 /boot/grub/*.lst.
78fa1790 37884
2952da5d 37885 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37886
2952da5d 37887 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37888 before adding it to device.map.
37889
01b82a64 378902006-08-15 Johan Rydberg <jrydberg@gnu.org>
37891
fe6b695a 37892 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37893 compiles a file; using the -MD option.
37894 * conf/common.mk: Regenerate.
37895 * conf/i386-pc.mk: Likewise.
37896 * conf/i386-efi.mk: Likewise.
37897 * conf/powerpc-ieee1275.mk: Likewise.
37898 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37899
1064790d 379002006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37901
37902 Move the prototypes of grub_setjmp and grub_longjmp to
37903 cpu/setjmp.h, so that each architecture may specify different
37904 attributes.
f19dbdb7 37905
1064790d 37906 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37907 (grub_longjmp): Likewise.
37908 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37909 (grub_longjmp): Likewise.
37910 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37911 (grub_longjmp): Likewise.
37912
37913 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37914 [!GRUB_UTIL] (grub_longjmp): Removed.
37915
29dda3ed 379162006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37917
37918 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37919 "color!" method does not return any value.
37920
ad2a06ed 379212006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37922
37923 * include/grub/bitmap.h: New file.
37924
37925 * include/grub/i386/pc/vbeutil.h: Likewise.
37926
37927 * video/bitmap.c: Likewise.
37928
37929 * video/readers/tga.c: Likewise.
37930
37931 * video/i386/pc/vbeutil.c: Likewise.
37932
37933 * commands/videotest.c: Code cleanup and updated to reflect to new
37934 video API.
37935
37936 * term/gfxterm.c: Likewise.
37937
37938 * video/video.c: Likewise.
37939
37940 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37941 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37942 (bitmap_mod_SOURCES): New entry.
37943 (bitmap_mod_CFLAGS): Likewise.
37944 (bitmap_mod_LDFLAGS): Likewise.
37945 (tga_mod_SOURCES): Likewise.
37946 (tga_mod_CFLAGS): Likewise.
37947 (tga_mod_LDFLAGS): Likewise.
37948
37949 * include/grub/video.h (grub_video_blit_operators): New enum type.
37950 (grub_video_render_target): Changed as forward declaration and moved
37951 actual definition to be video driver specific.
37952 (grub_video_adapter.blit_bitmap): Added blitting operator.
37953 (grub_video_adapter.blit_render_target): Likewise.
37954 (grub_video_blit_bitmap): Likewise.
37955 (grub_video_blit_render_target): Likewise.
37956
37957 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37958 driver specific render target definition.
37959 (grub_video_vbe_map_rgba): Added driver internal helper.
37960 (grub_video_vbe_unmap_color): Updated to use
37961 grub_video_i386_vbeblit_info.
37962 (grub_video_vbe_get_video_ptr): Likewise.
37963
37964 * include/grub/i386/pc/vbeblit.h
37965 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37966 grub_video_i386_vbeblit_info.
37967 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37968 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37969 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37970 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37971 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37972 (grub_video_i386_vbeblit_index_index): Likewise.
37973 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37974 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37975 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37976 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37977 operator.
37978 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37979 operator.
37980
37981 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37982 include/grub/i386/pc/vbeblit.h.
37983
37984 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37985 Updated to use grub_video_i386_vbeblit_info.
37986 (grub_video_i386_vbefill_R8G8B8): Likewise.
37987 (grub_video_i386_vbefill_index): Likewise.
37988 (grub_video_i386_vbefill): Added generic filler.
37989
37990 * video/i386/pc/vbefill.c: Updated to reflect changes on
37991 include/grub/i386/pc/vbefill.h.
37992
37993 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37994 grub_video_i386_vbeblit_info.
37995 (grub_video_vbe_unmap_color): Likewise.
37996 (grub_video_vbe_blit_glyph): Likewise.
37997 (grub_video_vbe_scroll): Likewise.
37998 (grub_video_vbe_draw_pixel): Removed function.
37999 (grub_video_vbe_get_pixel): Likewise.
38000 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38001 updated code to use it.
38002 (common_blitter): Added common blitter for render target and bitmap.
38003 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38004 (grub_video_vbe_blit_render_target): Likewise.
38005
bc8c036d 380062006-07-30 Johan Rydberg <jrydberg@gnu.org>
38007
38008 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38009 is in text mode if there is no console control protocol instance
38010 available.
38011
684a8eff 380122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38013
38014 * include/grub/video.h: Code cleanup.
38015
38016 * include/grub/i386/pc/vbe.h: Likewise.
38017
38018 * video/i386/pc/vbe.c: Likewise.
38019
38020 * video/i386/pc/vbeblit.c: Likewise.
38021
38022 * video/i386/pc/vbefill.c: Likewise.
38023
38024 * video/video.c: Likewise. Also added more comments.
38025
5915059b 380262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38027
38028 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38029 (struct grub_biosdisk_dap): Likewise.
38030
38031 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38032 linkage settings for all functions.
38033
90ce5d56 380342006-07-12 Marco Gerards <marco@gnu.org>
38035
38036 * configure.ac (--enable-mm-debug): Fix typo.
38037
38038 * genkernsyms.sh.in: Use proper quoting for `CC'.
38039
43e7f879 380402006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38041
38042 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38043 (normal_mod_ASFLAGS): Remove "-m32".
38044
4889bdec 380452006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38046
38047 * util/misc.c: Include config.h.
38048 [!HAVE_MEMALIGN]: Do not include malloc.h.
38049 (grub_memalign): Use posix_memalign, if present. Then, use
38050 memalign, if present. Otherwise, emit an error.
38051
38052 * util/grub-emu.c: Do not include malloc.h.
38053
38054 * include/grub/util/misc.h: Include unistd.h. This is required for
38055 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38056 D. Eades III <hde@foobar-qux.org>.
38057
38058 * configure.ac (AC_GNU_SOURCE): Added.
38059 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38060 type.
38061
fd39d4da 380622006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38063
38064 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38065 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38066
b786f3b5 380672006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38068
38069 * include/grub/types.h (grub_host_addr_t): Rename to
38070 grub_target_addr_t.
38071 (grub_host_off_t): Rename to grub_target_off_t.
38072 (grub_host_size_t): Rename to grub_target_size_t.
38073 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38074 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38075
38076 * include/grub/kernel.h (struct grub_module_header): Change type
38077 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38078 (grub_module_info): Likewise.
f19dbdb7 38079
051988bb 380802006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38081
38082 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38083 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38084 Velazquez <jesus.velazquez@gmail.com>.
38085
deae281b 380862006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38087
38088 Count partitions from 1 instead of 0 in the string representation
38089 of partitions. Still use 0-based internally.
f19dbdb7 38090
deae281b 38091 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38092 (sun_partition_map_iterate): Use grub_partition_t instead of
38093 struct grub_partition *. Cast DESC->START_CYLINDER to
38094 grub_uint64_t after converting the endian.
38095 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38096 (sun_partition_map_get_name): Add 1 to P->INDEX.
38097
38098 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38099 PCDATA->DOS_PART.
38100 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38101
38102 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38103 zero instead of one.
38104 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38105 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38106
38107 * partmap/apple.c (apple_partition_map_iterate): Change the type
38108 of POS to unsigned.
38109 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38110 (apple_partition_map_get_name): Add 1 into P->INDEX.
38111
38112 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38113 of POS to unsigned.
38114 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38115 calculate the offset of a partition.
38116 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38117 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38118
38119 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38120 SECTOR to grub_disk_addr_t.
38121 (acorn_partition_map_iterate): Likewise.
38122 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38123 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38124 top.
38125 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38126
38127 * kern/i386/pc/init.c (make_install_device): Add 1 into
38128 GRUB_INSTALL_DOS_PART.
38129
38130 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38131 conditional.
38132
524a1e6a 381332006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38134
38135 Clean up the code to support 64-bit addressing in disks and
38136 files. This change is not enough for filesystems yet.
f19dbdb7 38137
524a1e6a 38138 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38139 type of "start" to grub_uint64_t.
38140 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38141 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38142 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38143 convert addresses.
38144
38145 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38146 to grub_disk_addr_t.
38147
38148 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38149 string.
38150
38151 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38152
38153 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38154 to char *.
38155
38156 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38157
38158 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38159
38160 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38161
38162 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38163 to grub_off_t, to detect an error from grub_file_seek.
38164 (grub_multiboot_load_elf32): Likewise.
38165
38166 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38167 maximum unsigned long value when an overflow is detected.
38168 (grub_strtoull): New function.
38169 (grub_divmod64): Likewise.
38170 (grub_lltoa): use grub_divmod64.
38171
38172 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38173 grub_disk_addr_t.
38174 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38175 the pointer to next character. Use grub_strtoull instead of
38176 grub_strtoul.
38177 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38178 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38179 respectively.
38180
fe6b695a 38181 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38182 return value is signed.
38183 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38184 test if OFFSET is less than zero, as OFFSET is unsigned now.
38185
38186 * kern/disk.c (struct grub_disk_cache): Change the type of
38187 "sector" to grub_disk_addr_t.
38188 (grub_disk_cache_get_index): Change the type of SECTOR to
38189 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38190 unsigned after shifting.
38191 (grub_disk_cache_invalidate): Change the type of SECTOR to
38192 grub_disk_addr_t.
38193 (grub_disk_cache_unlock): Likewise.
38194 (grub_disk_cache_store): Likewise.
38195 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38196 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38197 grub_disk_addr_t and grub_uint64_t, respectively.
38198 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38199 body, as the value of OFFSET is tweaked by
38200 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38201 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38202 respectively.
38203 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38204 body, as the value of OFFSET is tweaked by
38205 grub_disk_check_range. Change the types of LEN and N to
38206 grub_size_t.
38207
38208 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38209 and "saved_offset" to grub_off_t.
38210 (test_header): Cast BUF to char *.
38211 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38212 to char *.
38213 (grub_gzio_read): Change the types of OFFSET and SIZE to
38214 grub_off_t and grub_size_t, respectively.
38215
38216 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38217 Removed.
38218 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38219 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38220 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38221 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38222 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38223
38224 * include/grub/types.h (grub_off_t): Unconditionally set to
38225 grub_uint64_t.
38226 (grub_disk_addr_t): Changed to grub_uint64_t.
38227
38228 * include/grub/partition.h (struct grub_partition): Change the
38229 types of "start", "len" and "offset" to grub_disk_addr_t,
38230 grub_uint64_t and grub_disk_addr_t, respectively.
38231 (grub_partition_get_start): Return grub_disk_addr_t.
38232 (grub_partition_get_len): Return grub_uint64_t.
38233
38234 * include/grub/misc.h (grub_strtoull): New prototype.
38235 (grub_divmod64): Likewise.
38236
38237 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38238 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38239 grub_off_t, respectively.
38240 All callers and references changed.
38241
38242 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38243 grub_size_t in "read".
38244 All callers and references changed.
38245
38246 * include/grub/file.h (struct grub_file): Change the types of
38247 "offset" and "size" to grub_off_t and grub_off_t,
38248 respectively. Change the type of SECTOR to grub_disk_addr_t in
38249 "read_hook".
38250 (grub_file_read): Change the type of LEN to grub_size_t.
38251 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38252 grub_off_t.
38253 (grub_file_size): Return grub_off_t.
38254 (grub_file_tell): Likewise.
38255 All callers and references changed.
38256
38257 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38258 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38259 "write".
38260 (struct grub_disk): Change the type of "total_sectors" to
38261 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38262 "read_hook".
524a1e6a 38263 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38264 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38265 (grub_disk_write): Likewise.
38266 All callers and references changed.
38267
38268 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38269 char * for grub_strncmp to silence gcc.
38270 (grub_iso9660_mount): Likewise.
38271 (grub_iso9660_mount): Likewise.
38272 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38273 return statement.
38274 (grub_iso9660_iterate_dir): Likewise.
38275 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38276
38277 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38278 LEN to grub_disk_addr_t and grub_size_t, respectively.
38279
38280 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38281
38282 * fs/jfs.c (grub_jfs_read_file): Likewise.
38283
38284 * fs/minix.c (grub_jfs_read_file): Likewise.
38285
38286 * fs/sfs.c (grub_jfs_read_file): Likewise.
38287
38288 * fs/ufs.c (grub_jfs_read_file): Likewise.
38289
38290 * fs/xfs.c (grub_jfs_read_file): Likewise.
38291
38292 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38293 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38294 respectively.
38295
38296 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38297 BLKNR to -1 instead of returning GRUB_ERRNO.
38298 (grub_ext2_read_file): Change the types of SECTOR and
38299 LEN to grub_disk_addr_t and grub_size_t, respectively.
38300
38301 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38302 LEN to grub_disk_addr_t and grub_size_t, respectively.
38303
38304 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38305 grub_file_read.
38306
38307 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38308 string. Do not cast SECTOR explicitly.
38309
38310 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38311 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38312 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38313 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38314 over 2TB and LBA mode is not supported, raise an error.
38315 (get_safe_sectors): New function.
38316 (grub_biosdisk_read): Use get_safe_sectors.
38317 (grub_biosdisk_write): Likewise.
38318
38319 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38320 (grub_efidisk_write): Likewise.
38321
38322 * disk/loopback.c (delete_loopback): Cosmetic changes.
38323 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38324 correctly.
38325 (grub_loopback_open): Likewise.
38326 (grub_loopback_read): Likewise. Also, change the type of POS to
38327 grub_off_t, and fix the usage of grub_memset.
38328
38329 * commands/i386/pc/play.c: Include grub/machine/time.h.
38330
38331 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38332 print FILE->SIZE.
38333
38334 * commands/configfile.c: Include grub/env.h.
38335
38336 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38337 GRUB_ERRNO directly instead. Change the type of POS to
38338 grub_off_t. Follow the coding standard.
38339
38340 * commands/blocklist.c: Include grub/partition.h.
38341 (grub_cmd_blocklist): Return an error if the underlying device is
38342 not a disk. Take the starting sector of a partition into account,
38343 if a partition is used.
38344
38345 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38346 a length field.
38347 (lba_mode): Support 64-bit addresses.
38348 (chs_mode): Likewise.
38349 (copy_buffer): Adapted to the new offsets of a length field and a
38350 segment field.
38351 (blocklist_default_start): Allocate 64-bit space.
38352
38353 * boot/i386/pc/boot.S (force_lba): Removed.
38354 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38355 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38356 space.
38357 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38358 is useless.
38359 (lba_mode): Refactored to support a 64-bit address. More size
38360 optimization.
38361 (setup_sectors): Likewise.
38362
53af98ad 383632006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38364
38365 * DISTLIST: Added include/grub/i386/linux.h. Removed
38366 include/grub/i386/pc/linux.h
38367
38368 * configure.ac (AC_INIT): Bumped to 1.94.
38369
38370 * config.guess: Updated from gnulib.
38371 * config.sub: Likewise.
38372 * install-sh: Likewise.
38373 * mkinstalldirs: Likewise.
38374
b4c1940a 383752006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38376
38377 * conf/common.rmk (grub_modules_init.lst): Depended on
38378 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38379 MODSRCFILES.
38380
38381 * genmk.rb (PModule::rule): Reverted the previous change.
38382
cfca1cfd 383832006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38384
38385 * conf/common.rmk (grub_modules_init.lst): Depends on
38386 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38387 that the target does not exist before producing.
38388 (grub_modules_init.h): Remove the target before generating.
38389 (grub_emu_init.c): Likewise.
38390
38391 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38392
aa6d7826 383932006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38394
38395 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38396 for the target-specific tests. Make sure that we also have the
38397 up-to-date target variables for those tests.
38398
26c607b9 383992006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38400
38401 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38402 (PModule::rule): Likewise.
38403
0162321a 384042006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38405
38406 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38407 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38408 target-specific flags should be prefixed.
38409 (PModule::rule): Likewise.
38410
6c826348 384112006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38412
38413 * configure.ac (CMP): Check if cmp is available explicitly.
38414
b977bf01 384152006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38416
38417 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38418 (target_cpu): New variable.
38419 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38420
b977bf01 38421 * util/i386/pc/grub-install.in (host_cpu): Removed.
38422 (target_cpu): New variable.
38423 (pkglibdir): Use target_cpu instead of host_cpu.
38424
38425 * util/genmoddep.c: Removed.
f19dbdb7 38426
b977bf01 38427 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38428 instead of GRUB_HOST_SIZEOF_VOID_P.
38429 * kern/dl.c: Likewise.
38430
38431 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38432 ...
38433 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38434 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38435 (GRUB_TARGET_SIZEOF_LONG): ... this.
38436 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38437 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38438 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38439 to ...
38440 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38441 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38442 (GRUB_TARGET_SIZEOF_LONG): ... this.
38443 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38444 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38445 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38446 to ...
38447 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38448 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38449 (GRUB_TARGET_SIZEOF_LONG): ... this.
38450 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38451 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38452
38453 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38454 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38455 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38456 instead of GRUB_HOST_SIZEOF_LONG.
38457 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38458 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38459 GRUB_CPU_WORDS_BIGENDIAN.
38460 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38461 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38462 grub_host_ssize_t.
38463
38464 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38465 (genmoddep_SOURCES): Likewise.
38466 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38467 (genmoddep_SOURCES): Likewise.
38468 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38469 (genmoddep_SOURCES): Likewise.
38470 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38471 Likewise.
38472 (genmoddep_SOURCES): Likewise.
38473
38474 * genmoddep.awk: New file.
38475
38476 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38477 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38478 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38479 (PModule::rule): Likewise.
38480 (Program::rule): Likewise.
38481 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38482 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38483 respectively.
38484
38485 * configure.ac: Rewritten intensively to use host and target
38486 instead of build and host, respectively.
38487
38488 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38489 (host_cpu): Removed.
38490 (target_cpu): New variable.
38491 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38492 (BUILD_CC): Removed.
38493 (BUILD_CFLAGS): Likewise.
38494 (BUILD_CPPFLAGS): Likewise.
38495 (TARGET_CC): New variable.
38496 (TARGET_CFLAGS): Likewise.
38497 (TARGET_CPPFLAGS): Likewise.
38498 (TARGET_LDFLAGS): Likewise.
38499 (AWK): Likewise.
38500 (include): Use target_cpu instead of host_cpu.
38501 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38502
b977bf01 38503 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38504
f09771a1 385052006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38506
38507 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38508 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38509 field 'false' to 'exec_on_false'.
38510 (grub_script_create_cmdif): Renamed argument names to reflect above
38511 changes.
38512
38513 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38514
38515 * normal/script.c (grub_script_create_cmdif): Likewise.
38516
118f4fb3 385172006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38518
38519 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38520 top.
38521 (grub_hfsplus_btree_recptr): Likewise.
38522 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38523 FILEBLOCK both to pass a block number and store next block
38524 number.
38525 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38526 overflow file correctly. Specify errors appropriately, because
38527 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38528 grub_hfsplus_btree_recptr to get the pointer to a found key.
38529 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38530 is found.
38531
38532 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38533 linux.mod.
38534 (_linux_mod_SOURCES): New variable.
38535 (_linux_mod_CFLAGS): Likewise.
38536 (_linux_mod_LDFLAGS): Likewise.
38537 (linux_mod_SOURCES): Likewise.
38538 (linux_mod_CFLAGS): Likewise.
38539 (linux_mod_LDFLAGS): Likewise.
38540
38541 * DISTLIST: Added loader/i386/efi/linux.c,
38542 loader/i386/efi/linux_normal.c and
38543 include/grub/i386/efi/loader.h.
38544
38545 * loader/i386/efi/linux.c: New file.
38546 * loader/i386/efi/linux_normal.c: Likewise.
38547 * include/grub/i386/efi/loader.h: Likewise.
38548
89a7d726 385492006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38550
38551 * commands/blocklist.c: New file.
38552
38553 * DISTLIST: Added commands/blocklist.c.
38554
38555 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38556 color for the background, and a darker color for the foreground.
89a7d726 38557 (grub_console_checkkey): Return READ_KEY.
38558 (grub_console_cls): Set the background to
38559 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38560
38561 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38562
38563 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38564 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38565
38566 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38567 prototype.
38568
38569 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38570 BG. The spec is wrong again.
38571
38572 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38573 prototype.
38574 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38575
38576 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38577 commands/blocklist.c.
38578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38579
89a7d726 38580 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38581 (blocklist_mod_SOURCES): New variable.
38582 (blocklist_mod_CFLAGS): Likewise.
38583 (blocklist_mod_LDFLAGS): Likewise.
38584
75c8f258 385852006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38586
38587 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38588 duplication.
38589 (lba_mode): Use %eax more intensively to reduce the code size.
38590
da2eb181 385912006-05-20 Marco Gerards <marco@gnu.org>
38592
38593 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38594
38595 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38596 for `menuentry'.
38597 (script): Accept leading newlines.
38598 (newlines): New rule to describe 0 or more newlines.
38599 (commands): Accept `command' with trailing newline. Fixed the
38600 order in which arguments were passed to `grub_script_add_cmd'.
38601 Accept commands separated by newlines.
38602 (function): Changed to accept newlines.
38603 (menuentry) Rewritten.
38604
38605 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38606 front of the list, instead of to the end.
38607
577b4050 386082006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38609
38610 * util/i386/pc/grub-install.in (bindir): New variable.
38611 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38612 Shaver <lbgwjl@gmail.com>.
38613
0d6e1189 386142006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38615
38616 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38617 grub/machine/linux.h
38618 * loader/i386/pc/linux.c: Likewise.
38619
38620 * include/grub/i386/pc/linux.h: Moved to ...
38621 * include/grub/i386/linux.h: ... here.
38622
38623 * include/grub/i386/linux.h (struct linux_kernel_params): New
38624 struct.
f19dbdb7 38625
31b86e9f 386262006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38627
38628 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38629 checking.
38630 (grub_video_vbe_blit_glyph): Likewise.
38631 (grub_video_vbe_blit_bitmap): Likewise.
38632 (grub_video_vbe_blit_render_target): Likewise.
38633
83b984de 386342006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38635
38636 * configure.ac (--with-platform): Properly quote the square
38637 brackets.
38638
5f0413bd 386392006-05-08 Marco Gerards <marco@gnu.org>
38640
38641 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38642 this...
38643 (kernel_elf_HEADERS): ...to this. Updated all users.
38644 (grubof_symlist.c): Renamed from this...
38645 (kernel_elf_symlist.c): ...to this. Updated all users.
38646 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38647 (grubof_SOURCES): Renamed from this...
38648 (kernel_elf_SOURCES): ...to this.
38649 (grubof_HEADERS): Renamed from this...
38650 (kernel_elf_HEADERS): ...to this.
38651 (grubof_CFLAGS): Renamed from this...
38652 (kernel_elf_CFLAGS): ...to this.
38653 (grubof_ASFLAGS): Renamed from this...
38654 (kernel_elf_ASFLAGS): ...to this.
38655 (grubof_LDFLAGS): Renamed from this...
38656 (kernel_elf_LDFLAGS): ...to this.
38657
38658 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38659 this...
38660 (kernel_elf_HEADERS): ...to this. Updated all users.
38661 (grubof_symlist.c): Renamed from this...
38662 (kernel_elf_symlist.c): ...to this. Updated all users.
38663 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38664 (grubof_SOURCES): Renamed from this...
38665 (kernel_elf_SOURCES): ...to this.
38666 (grubof_HEADERS): Renamed from this...
38667 (kernel_elf_HEADERS): ...to this.
38668 (grubof_CFLAGS): Renamed from this...
38669 (kernel_elf_CFLAGS): ...to this.
38670 (grubof_ASFLAGS): Renamed from this...
38671 (kernel_elf_ASFLAGS): ...to this.
38672 (grubof_LDFLAGS): Renamed from this...
38673 (kernel_elf_LDFLAGS): ...to this.
38674
38675 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38676 `kernel.elf' instead of `grubof'.
38677
05568c2e 386782006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38679
38680 Add --with-platform to configure. Use pkglibdir instead of
38681 pkgdatadir. This is reported by Roger Leigh.
38682
38683 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38684 (host_vendor): Likewise.
38685 (host_os): Likewise.
38686 (pkgdatadir): Likewise.
38687 (platform): New variable.
38688 (pkglibdir): Likewise.
38689 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38690
05568c2e 38691 * util/i386/pc/grub-install.in (datadir): Removed.
38692 (host_vendor): Likewise.
38693 (host_os): Likewise.
38694 (pkgdatadir): Likewise.
38695 (platform): New variable.
38696 (pkglibdir): Likewise.
38697 Use PKGLIBDIR instead of PKGDATADIR.
38698
38699 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38700 instead of GRUB_DATADIR.
38701 (main): Likewise.
38702 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38703 (main): Likewise.
38704 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38705 (main): Likewise.
38706
38707 * configure.ac (--with-platform): New option.
38708 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38709
38710 * Makefile.in: Include a makefile based on PLATFORM instead of
38711 HOST_VENDOR.
38712 (pkgdatadir): Not appended by the machine type.
38713 (pkglibdir): Appended by the machine type.
38714 (host_vendor): Removed.
38715 (platform): New variable.
38716 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38717 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38718 (uninstall): Likewise.
38719
4e93851c 387202006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38721
38722 Use the environment context in the menu. Remove the commands
38723 "default" and "timeout", and use variables instead.
f19dbdb7 38724
4e93851c 38725 * normal/menu.c: Include grub/env.h.
38726 (print_entry): Cast TITLE to silence gcc.
38727 (get_timeout): New function.
38728 (set_timeout): Likewise.
38729 (get_entry_number): Likewise.
38730 (run_menu): Use a default entry, a fallback entry and a timeout
38731 in the environment variables "default", "fallback" and
38732 "timeout". Also, tweak the default entry if it is not within the
38733 current menu entries.
38734 (grub_menu_run): Use a fallback entry in the environment variable
38735 "fallback".
38736
38737 * normal/main.c (read_config_file): Do not initialize
38738 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38739 NEWMENU->TIMEOUT.
38740 (grub_normal_execute): Use a data slot to store the menu.
38741
38742 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38743 fallback_entry and timeout.
38744 (struct grub_menu_list): Removed.
38745 (grub_menu_list_t): Likewise.
38746 (struct grub_context): Likewise.
38747 (grub_context_t): Likewise.
38748 (grub_context_get): Likewise.
38749 (grub_context_get_current_menu): Likewise.
38750 (grub_context_push_menu): Likewise.
38751 (grub_context_pop_menu): Likewise.
38752 (grub_default_init): Likewise.
38753 (grub_default_fini): Likewise.
38754 (grub_timeout_init): Likewise.
38755 (grub_timeout_fini): Likewise.
38756
38757 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38758 and timeout.mod.
38759 (normal_mod_SOURCES): Removed normal/context.c.
38760
38761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38762 commands/default.c, commands/timeout.c and normal/context.c.
38763 (normal_mod_SOURCES): Removed normal/context.c.
38764
38765 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38766 commands/timeout.c and normal/context.c.
38767 (normal_mod_SOURCES): Removed normal/context.c.
38768
38769 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38770 commands/default.c, commands/timeout.c and normal/context.c.
38771 (normal_mod_SOURCES): Removed normal/context.c.
38772
38773 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38774 timeout.mod.
38775 (default_mod_SOURCES): Removed.
38776 (default_mod_CFLAGS): Likewise.
38777 (default_mod_LDFLAGS): Likewise.
38778 (timeout_mod_SOURCES): Removed.
38779 (timeout_mod_CFLAGS): Likewise.
38780 (timeout_mod_LDFLAGS): Likewise.
38781
38782 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38783 normal/context.c.
38784
38785 * commands/default.c: Removed.
38786 * commands/timeout.c: Likewise.
38787 * normal/context.c: Likewise.
38788
1eb9cc1d 387892006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38790
38791 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38792
385bd9c1 387932006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38794
38795 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38796 "next" to "prev" for readability.
38797 (struct grub_env_sorted_var): New struct.
38798 (grub_env_context): Renamed to ...
38799 (initial_context): ... this.
38800 (grub_env_var_context): Renamed to ...
38801 (current_context): ... this.
38802 (grub_env_find): Look only at CURRENT_CONTEXT.
38803 (grub_env_context_open): Rewritten to copy exported variables from
38804 previous context.
38805 (grub_env_context_close): Rewritten according to the new
38806 scheme. Also, add an assertion to prevent the initial context from
38807 removed.
38808 (grub_env_insert): Removed the code for the sorted list.
38809 (grub_env_remove): Likewise.
38810 (grub_env_export): Simply mark the variable with
38811 GRUB_ENV_VAR_GLOBAL.
38812 (grub_env_set): A cosmetic change for naming consistency.
38813 (grub_env_get): Likewise.
38814 (grub_env_unset): Likewise.
38815 (grub_env_iterate): Rewritten to sort variables within this
38816 function.
38817 (grub_register_variable_hook): Fixed for naming consistency. Call
38818 grub_env_find again, only if NAME is not found at the first time.
38819 (mangle_data_slot_name): New function.
38820 (grub_env_set_data_slot): Likewise.
38821 (grub_env_get_data_slot): Likewise.
38822 (grub_env_unset_data_slot): Likewise.
38823
38824 * include/grub/env.h (grub_env_var_type): New enum.
38825 (GRUB_ENV_VAR_LOCAL): New constant.
38826 (GRUB_ENV_VAR_GLOBAL): Likewise.
38827 (GRUB_ENV_VAR_DATA): Likewise.
38828 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38829 "type".
38830 (grub_env_set): Replace VAR with NAME for consistency.
38831 (grub_register_variable_hook): Likewise.
38832 (grub_env_export): Specify the name of the argument.
38833 (grub_env_set_data_slot): New prototype.
38834 (grub_env_get_data_slot): Likewise.
38835 (grub_env_unset_data_slot): Likewise.
38836
7f362539 388372006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38838
38839 Extend the loader so that GRUB can accept a loader which comes
38840 back to GRUB when a loaded image exits. Also, this change adds
38841 support for a chainloader on EFI.
f19dbdb7 38842
7f362539 38843 * term/efi/console.c: Include grub/misc.h.
38844 (grub_console_checkkey): Display a scan code on the top for
38845 debugging. This will be removed once the EFI port gets stable.
38846 Correct the scan code mapping.
38847
38848 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38849 allocate memory from larger regions, in order to reduce the number
38850 of allocated regions. Otherwise, the MacOSX loader panics.
38851 (filter_memory_map): Avoid less than 1MB for compatibility with
38852 other loaders.
38853 (add_memory_regions): Allocate from the tail of a region, if
38854 possible, to avoid allocating a region near to 1MB, for the MacOSX
38855 loader.
38856
38857 * kern/efi/init.c (grub_efi_set_prefix): Specify
38858 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38859
38860 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38861 argument IMAGE_HANDLE and specify it to get a loaded image.
38862 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38863 grub_efi_get_loaded_image.
fe6b695a 38864 (grub_efi_get_filename): Divide the length by the size of
7f362539 38865 grub_efi_char16_t.
38866 (grub_efi_get_device_path): New function.
38867 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38868 the length by the size of grub_efi_char16_t for a file path device
38869 path node.
38870
38871 * kern/loader.c (grub_loader_noreturn): New variable.
38872 (grub_loader_set): Accept a new argument NORETURN. Set
38873 GRUB_LOADER_NORETURN to NORETURN.
38874 All callers changed.
38875 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38876 grub_machine_fini.
38877
38878 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38879 prototype.
38880 (grub_efi_get_loaded_image): Take an argument to specify an image
38881 handle.
38882
38883 * include/grub/loader.h (grub_loader_set): Added one more argument
38884 NORETURN.
38885
38886 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38887 instead of grub_efi_open_protocol.
38888 (grub_efidisk_get_device_name): Likewise.
38889 (grub_efidisk_close): Print a newline.
38890 (grub_efidisk_get_device_handle): Fixed to use
38891 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38892 GRUB_EFI_DEVICE_PATH_TYPE.
38893
38894 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38895 * kern/efi/efi.c (device_path_guid): ... here.
38896
38897 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38898 chain.mod.
38899 (kernel_mod_HEADERS): Added efi/disk.h.
38900 (_chain_mod_SOURCES): New variable.
38901 (_chain_mod_CFLAGS): Likewise.
38902 (_chain_mod_LDFLAGS): Likewise.
38903 (chain_mod_SOURCES): Likewise.
38904 (chain_mod_CFLAGS): Likewise.
38905 (chain_mod_LDFLAGS): Likewise.
38906
38907 * DISTLIST: Added include/grub/efi/chainloader.h,
38908 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38909
38910 * include/grub/efi/chainloader.h: New file.
38911 * loader/efi/chainloader.c: Likewise.
38912 * loader/efi/chainloader_normal.c: Likewise.
38913
c0111d6e 389142006-04-30 Marco Gerards <marco@gnu.org>
38915
38916 * commands/configfile.c (grub_cmd_source): New function.
38917 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38918 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38919
df5341da 389202006-04-30 Marco Gerards <marco@gnu.org>
38921
38922 * normal/execute.c (grub_script_execute_cmd): Change the return
38923 type to `grub_err_t'. Correctly return the error.
38924 (grub_script_execute_cmdline): In case a command line is not a
38925 command or a function, try to interpret it as an assignment.
38926
f85934bd 389272006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38928
38929 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38930 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38931 skip a node whose name is obviously invalid as UTF-16,
38932 i.e. contains a NUL character. Stop the iteration when the last
38933 directory entry is found. Instead of using the return value of
38934 grub_hfsplus_btree_iterate_node, store the value in RET and use
38935 it, because the iterator can be stopped by the last directory
38936 entry.
38937
8f8a2cf8 389382006-04-30 Marco Gerards <marco@gnu.org>
38939
38940 * include/grub/env.h (grub_env_export): New prototype. Reported
38941 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38942
a27e84ce 389432006-04-30 Marco Gerards <marco@gnu.org>
38944
38945 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38946 size of the extents in a catalog file record.
38947
eaef0553 389482006-04-29 Marco Gerards <marco@gnu.org>
38949
38950 * commands/configfile.c (grub_cmd_configfile): Execute the
38951 configfile within its own context.
38952
38953 * include/grub/env.h (grub_env_context_open): New prototype.
38954 (grub_env_context_close): Likewise.
38955
38956 * kern/env.c (grub_env): Removed.
38957 (grub_env_sorted): Likewise.
38958 (grub_env_context): New variable.
38959 (grub_env_var_context): Likewise.
38960 (grub_env_find): Search both the active context and the global
38961 context.
38962 (grub_env_context_open): New function.
38963 (grub_env_context_close): Likewise.
38964 (grub_env_insert): Likewise.
38965 (grub_env_remove): Likewise.
38966 (grub_env_export): Likewise.
38967 (grub_env_set): Changed to use helper functions to avoid code
38968 duplication.
38969 (grub_env_iterate): Rewritten so both the current context and the
38970 global context are being used.
38971
38972 * normal/command.c (export_command): New function.
38973 (grub_command_init): Register the `export' function.
38974
7b455f4d 389752006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38976
38977 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38978 explicitly to suppress gcc's warnings.
38979 * fs/fat.c (grub_fat_find_dir): Likewise.
38980 (grub_fat_label): Likewise.
38981 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38982 (grub_xfs_mount): Likewise.
38983 (grub_xfs_label): Likewise.
38984 * fs/affs.c (grub_affs_mount): Likewise.
38985 (grub_affs_label): Likewise.
38986 (grub_affs_iterate_dir): Likewise.
38987 * fs/sfs.c (grub_sfs_mount): Likewise.
38988 (grub_sfs_iterate_dir): Likewise.
38989 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38990 * fs/hfs.c (grub_hfs_mount): Likewise.
38991 (grub_hfs_cmp_catkeys): Likewise.
38992 (grub_hfs_find_dir): Likewise.
38993 (grub_hfs_dir): Likewise.
38994 (grub_hfs_label): Likewise.
38995 * fs/jfs.c (grub_jfs_mount): Likewise.
38996 (grub_jfs_opendir): Likewise.
38997 (grub_jfs_getent): Likewise.
38998 (grub_jfs_lookup_symlink): Likewise.
38999 (grub_jfs_label): Likewise.
39000 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39001 (grub_hfsplus_iterate_dir): Likewise.
39002 (grub_hfsplus_btree_iterate_node): Made static.
39003
39004 * util/grub-emu.c (prefix): New variable.
39005 (grub_machine_set_prefix): New function.
39006 (main): Do not set the environment variable "prefix" here. Only
39007 set PREFIX, which is used later by grub_machine_set_prefix.
39008
39009 * include/grub/video.h: Do not include grub/symbol.h.
39010 (grub_video_register): Not exported. This symbol is not defined in
39011 the kernel.
39012 (grub_video_unregister): Likewise.
39013 (grub_video_iterate): Likewise.
39014 (grub_video_setup): Likewise.
39015 (grub_video_restore): Likewise.
39016 (grub_video_get_info): Likewise.
39017 (grub_video_get_blit_format): Likewise.
39018 (grub_video_set_palette): Likewise.
39019 (grub_video_get_palette): Likewise.
39020 (grub_video_set_viewport): Likewise.
39021 (grub_video_get_viewport): Likewise.
39022 (grub_video_map_color): Likewise.
39023 (grub_video_map_rgb): Likewise.
39024 (grub_video_map_rgba): Likewise.
39025 (grub_video_fill_rect): Likewise.
39026 (grub_video_blit_glyph): Likewise.
39027 (grub_video_blit_bitmap): Likewise.
39028 (grub_video_blit_render_target): Likewise.
39029 (grub_video_scroll): Likewise.
39030 (grub_video_swap_buffers): Likewise.
39031 (grub_video_create_render_target): Likewise.
39032 (grub_video_delete_render_target): Likewise.
39033 (grub_video_set_active_render_target): Likewise.
39034
39035 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39036 Undefined.
39037 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39038
39039 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39040 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39041 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39042 instead of $(srcdir)/genkernsyms.sh.
39043
39044 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39045 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39046 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39047 instead of $(srcdir)/genkernsyms.sh.
39048
39049 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39050 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39051 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39052 instead of $(srcdir)/genkernsyms.sh.
39053
39054 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39055 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39056 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39057 instead of $(srcdir)/genkernsyms.sh.
39058
39059 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39060 genkernsyms.sh.
39061
39062 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39063 genkernsyms.sh.
39064 (gensymlist.sh): New target.
39065 (genkernsyms.sh): Likewise.
39066
39067 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39068 genkernsyms.sh.in and gensymlist.sh.in.
39069
39070 * genkernsyms.sh: Removed.
39071 * gensymlist.sh: Likewise.
f19dbdb7 39072
7b455f4d 39073 * genkernsyms.sh.in: New file.
39074 * gensymlist.sh.in: Likewise.
39075
1885bb27 390762006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39077
39078 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39079 clobber "prefix", since we may have already set it manually.
39080
71538dff 390812006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39082
39083 * kern/misc.c (abort): New alias for grub_abort.
39084
2965c7cc 390852006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39086
39087 A new machine-specific function "grub_machine_set_prefix" is
39088 defined. This is called after loading modules, so that a prefix
39089 initialization can use modules. Also, this change adds an
39090 intensive debugging feature for the memory manager via the
39091 configure option "--enable-mm-debug".
f19dbdb7 39092
2965c7cc 39093 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39094 PART.LEN.
39095
39096 * kern/sparc64/ieee1275/init.c (abort): Removed.
39097 (grub_stop): Likewise.
39098 (grub_exit): New function.
39099 (grub_set_prefix): Renamed to ...
39100 (grub_machine_set_prefix): ... this.
39101 (grub_machine_init): Do not call grub_set_prefix.
39102
39103 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39104 (grub_machine_set_prefix): ... this.
39105 (grub_machine_init): Do not call grub_set_prefix.
39106
39107 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39108 (grub_machine_init): Do not set the prefix here.
39109
39110 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39111
39112 * kern/efi/init.c: Include grub/mm.h.
39113 (grub_efi_set_prefix): New function.
39114
39115 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39116 (grub_efi_get_filename): New function.
39117 (grub_print_device_path): Renamed to ...
39118 (grub_efi_print_device_path): ... this.
39119
39120 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39121 [MM_DEBUG] (grub_realloc): Likewise.
39122 [MM_DEBUG] (grub_free): Likewise.
39123 [MM_DEBUG] (grub_memalign): Likewise.
39124 [MM_DEBUG] (grub_mm_debug): New variable.
39125 [MM_DEBUG] (grub_debug_malloc): New function.
39126 [MM_DEBUG] (grub_debug_free): New function.
39127 [MM_DEBUG] (grub_debug_realloc): New function.
39128 [MM_DEBUG] (grub_debug_memalign): New function.
39129
39130 * kern/misc.c (grub_abort): Print a newline to distinguish
39131 the message.
39132
39133 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39134 grub_set_root_dev after loading modules. This is necessary when
39135 setting a prefix depends on modules.
39136
39137 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39138 (grub_efi_print_device_path): ... this.
39139 (grub_efi_get_filename): New prototype.
39140 (grub_efi_set_prefix): Likewise.
39141
39142 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39143 and grub/disk.h.
39144 (grub_efidisk_get_device_handle): New prototype.
39145 (grub_efidisk_get_device_name): Likewise.
39146
39147 * include/grub/mm.h: Include config.h.
39148 (MM_DEBUG): Removed.
39149 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39150 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39151 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39152 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39153 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39154 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39155 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39156 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39157 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39158
39159 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39160
39161 * disk/efi/efidisk.c: Include grub/partition.h.
39162 (iterate_child_devices): New function.
39163 (add_device): First, compare only last device path nodes, so that
39164 devices are sorted by the types.
39165 (grub_efidisk_get_device_handle): New function.
39166 (grub_efidisk_get_device_name): Likewise.
39167
39168 * configure.ac (--enable-mm-debug): New option to enable the
39169 memory manager debugging feature. This makes the binary much
39170 bigger, so is disabled by default.
39171
9cacaa17 391722006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39173
39174 Use grub_abort instead of grub_stop, and grub_exit must be
39175 define in each architecture now. Also, this change adds support
39176 for EFI disks.
f19dbdb7 39177
9cacaa17 39178 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39179 (grub_getkey): New function.
39180 (grub_term_get_current): Likewise.
39181
39182 * util/i386/pc/grub-setup.c: Include grub/term.h.
39183 (grub_getkey): New function.
39184 (grub_term_get_current): Likewise.
39185
39186 * util/misc.c (grub_stop): Renamed to ...
39187 (grub_exit): ... this.
39188
39189 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39190 (grub_exit): ... this.
39191 (grub_machine_init): Use grub_abort instead of abort.
39192 (grub_stop): Removed.
39193
39194 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39195 abort.
39196
39197 * kern/i386/pc/startup.S (grub_exit): New function.
39198 (cold_reboot): New label.
39199
39200 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39201 (grub_efi_init): Call grub_efidisk_init.
39202 (grub_efi_fini): Call grub_efidisk_fini.
39203
39204 * kern/efi/efi.c: Include grub/mm.h.
39205 (grub_efi_console_control_guid): Renamed to ...
39206 (console_control_guid): ... this.
39207 (grub_efi_loaded_image_guid): Renamed to ...
39208 (loaded_image_guid): ... this.
39209 (grub_efi_locate_handle): New function.
39210 (grub_efi_open_protocol): Likewise.
39211 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39212 GRUB_EFI_CONSOLE_CONTROL_GUID.
39213 (grub_efi_exit): Removed.
39214 (grub_stop): Likewise.
39215 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39216 (grub_exit): New function.
39217 (grub_print_device_path): Likewise.
39218
39219 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39220 (grub_enter_rescue_mode): Register "exit".
39221
39222 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39223 (grub_abort): New function.
39224
39225 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39226
39227 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39228
39229 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39230
39231 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39232 (grub_print_device_path): New prototype.
39233 (grub_efi_locate_handle): Likewise.
39234 (grub_efi_open_protocol): Likewise.
39235
39236 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39237 * disk/efi/efidisk.c: Likewise.
39238
39239 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39240
39241 * include/grub/efi/console_control.h
39242 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39243
39244 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39245 last 8 bytes as an array.
39246 (GRUB_EFI_DISK_IO_GUID): New macro.
39247 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39248 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39249 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39250 grub_uint8_t.
39251 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39252 (struct grub_efi_device_path): Rename the member "sub_type" to
39253 "subtype".
39254 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39255 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39256 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39257 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39258 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39259 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39260 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39261 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39262 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39263 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39264 (struct grub_efi_pci_device_path): New structure.
39265 (grub_efi_pci_device_path_t): New type.
39266 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39267 (struct grub_efi_pccard_device_path): New structure.
39268 (grub_efi_pccard_device_path_t): New type.
39269 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39270 (struct grub_efi_memory_mapped_device_path): New structure.
39271 (grub_efi_memory_mapped_device_path_t): New type.
39272 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39273 (struct grub_efi_vendor_device_path): New structure.
39274 (grub_efi_vendor_device_path_t): New type.
39275 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39276 (struct grub_efi_controller_device_path): New structure.
39277 (grub_efi_controller_device_path_t): New type.
39278 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39279 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39280 (struct grub_efi_acpi_device_path): New structure.
39281 (grub_efi_acpi_device_path_t): New type.
39282 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39283 (struct grub_efi_expanded_acpi_device_path): New structure.
39284 (grub_efi_expanded_acpi_device_path_t): New type.
39285 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39286 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39287 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39288 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39289 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39290 (struct grub_efi_atapi_device_path): New structure.
39291 (grub_efi_atapi_device_path_t): New type.
39292 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39293 (struct grub_efi_fibre_channel_device_path): New structure.
39294 (grub_efi_fibre_channel_device_path_t): New type.
39295 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39296 (struct grub_efi_1394_device_path): New structure.
39297 (grub_efi_1394_device_path_t): New type.
39298 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39299 (struct grub_efi_usb_device_path): New structure.
39300 (grub_efi_usb_device_path_t): New type.
39301 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39302 (struct grub_efi_usb_class_device_path): New structure.
39303 (grub_efi_usb_class_device_path_t): New type.
39304 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39305 (struct grub_efi_i2o_device_path): New structure.
39306 (grub_efi_i2o_device_path_t): New type.
39307 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39308 (struct grub_efi_mac_address_device_path): New structure.
39309 (grub_efi_mac_address_device_path_t): New type.
39310 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39311 (struct grub_efi_ipv4_device_path): New structure.
39312 (grub_efi_ipv4_device_path_t): New type.
39313 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39314 (struct grub_efi_ipv6_device_path): New structure.
39315 (grub_efi_ipv6_device_path_t): New type.
39316 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39317 (struct grub_efi_infiniband_device_path): New structure.
39318 (grub_efi_infiniband_device_path_t): New type.
39319 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39320 (struct grub_efi_uart_device_path): New structure.
39321 (grub_efi_uart_device_path_t): New type.
39322 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39323 (struct grub_efi_vendor_messaging_device_path): New structure.
39324 (grub_efi_vendor_messaging_device_path_t): New type.
39325 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39326 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39327 (struct grub_efi_hard_drive_device_path): New structure.
39328 (grub_efi_hard_drive_device_path_t): New type.
39329 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39330 (struct grub_efi_cdrom_device_path): New structure.
39331 (grub_efi_cdrom_device_path_t): New type.
39332 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39333 (struct grub_efi_vendor_media_device_path): New structure.
39334 (grub_efi_vendor_media_device_path_t): New type.
39335 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39336 (struct grub_efi_file_path_device_path): New structure.
39337 (grub_efi_file_path_device_path_t): New type.
39338 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39339 (struct grub_efi_protocol_device_path): New structure.
39340 (grub_efi_protocol_device_path_t): New type.
39341 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39342 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39343 (struct grub_efi_bios_device_path): New structure.
39344 (grub_efi_bios_device_path_t): New type.
39345 (struct grub_efi_disk_io): New structure.
39346 (grub_efi_disk_io_t): New type.
39347 (struct grub_efi_block_io_media): New structure.
39348 (grub_efi_block_io_media_t): New type.
39349 (struct grub_efi_block_io): New structure.
39350 (grub_efi_block_io_t): New type.
39351
39352 * include/grub/misc.h (grub_stop): Removed.
39353 (grub_exit): New prototype.
39354 (grub_abort): Likewise.
39355
39356 * include/grub/disk.h (enum grub_disk_dev_id): Added
39357 GRUB_DISK_DEVICE_EFIDISK_ID.
39358
39359 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39360 disk/efi/efidisk.c.
39361 (kernel_syms.lst): Remove the target if an error occurs.
39362
49986a9f 393632006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39364
39365 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39366 as it was simply too buggy.
39367
970d3b8a 393682006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39369
39370 * kern/misc.c (grub_lltoa): New function.
39371 (grub_vsprintf): Added support for the long long suffix,
39372 i.e. "ll".
39373
ff04ec24 393742006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39375
39376 * Makefile.in (LDFLAGS): Add variable.
39377 (LD): Remove variable.
39378 * configure.ac: Add -m32 to LDFLAGS.
39379 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39380 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39381 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39382 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39383 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39384 variables.
39385 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39386 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39387 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39388
37e5e1a4 393892006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39390
39391 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39392 length for unknown glyph.
39393
c352d8dd 393942006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39395
2eab1c0d 39396 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39397
2eab1c0d 39398 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39399 completely. Accept one more argument DIR. The caller has changed.
39400
39401 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39402
39403 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39404 (grub_efi_loaded_image_guid): New variable.
39405 (grub_efi_get_loaded_image): New function.
39406 (grub_arch_modules_addr): Likewise.
39407
39408 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39409 prototype.
39410
39411 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39412 (struct grub_efi_loaded_image): New structure.
39413 (grub_efi_loaded_image_t): New type.
39414
394152006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39416
c352d8dd 39417 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39418 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39419 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39420
6d01d6b4 394212006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39422
39423 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39424
976a4ea0 394252006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39426
39427 * DISTLIST: Added include/grub/efi/console.h,
39428 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39429 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39430
39431 * include/grub/efi/console.h: New file.
39432 * include/grub/efi/time.h: Likewise.
39433 * include/grub/i386/efi/kernel.h: Likewise.
39434 * kern/efi/init.c: Likewise.
39435 * kern/efi/mm.c: Likewise.
39436 * term/efi/console.c: Likewise.
f19dbdb7 39437
976a4ea0 39438 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39439 (grub_stop): Removed.
39440 (grub_get_rtc): Likewise.
39441 (grub_machine_init): Simply call grub_efi_init.
39442 (grub_machine_fini): Call grub_efi_fini.
39443
39444 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39445 (grub_efi_output_string): Removed.
39446 (grub_efi_stall): New function.
39447 (grub_stop): Likewise.
39448 (grub_get_rtc): Likewise.
39449
39450 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39451 (grub_efi_stall): New prototype.
39452 (grub_efi_allocate_pages): Likewise.
39453 (grub_efi_free_pages): Likewise.
39454 (grub_efi_get_memory_map): Likewise.
39455 (grub_efi_mm_init): Likewise.
39456 (grub_efi_mm_fini): Likewise.
39457 (grub_efi_init): Likewise.
39458 (grub_efi_fini): Likewise.
39459
39460 * include/grub/i386/efi/time.h: Do not include
39461 grub/symbol.h. Include grub/efi/time.h.
39462 (GRUB_TICKS_PER_SECOND): Removed.
39463 (grub_get_rtc): Likewise.
39464
39465 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39466 Added padding. The EFI spec is buggy.
39467 (GRUB_EFI_BLACK): New macro.
39468 (GRUB_EFI_BLUE): Likewise.
39469 (GRUB_EFI_GREEN): Likewise.
39470 (GRUB_EFI_CYAN): Likewise.
39471 (GRUB_EFI_RED): Likewise.
39472 (GRUB_EFI_MAGENTA): Likewise.
39473 (GRUB_EFI_BROWN): Likewise.
39474 (GRUB_EFI_LIGHTGRAY): Likewise.
39475 (GRUB_EFI_BRIGHT): Likewise.
39476 (GRUB_EFI_DARKGRAY): Likewise.
39477 (GRUB_EFI_LIGHTBLUE): Likewise.
39478 (GRUB_EFI_LIGHTGREEN): Likewise.
39479 (GRUB_EFI_LIGHTCYAN): Likewise.
39480 (GRUB_EFI_LIGHTRED): Likewise.
39481 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39482 (GRUB_EFI_YELLOW): Likewise.
39483 (GRUB_EFI_WHITE): Likewise.
39484 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39485 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39486 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39487 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39488 (GRUB_EFI_BACKGROUND_RED): Likewise.
39489 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39490 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39491 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39492 (GRUB_EFI_TEXT_ATTR): Likewise.
39493
39494 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39495 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39496 (kernel_mod_HEADERS): Added efi/time.h.
39497
83709125 394982006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39499
39500 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39501 include/grub/efi/api.h, include/grub/efi/console_control.h,
39502 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39503 include/grub/i386/efi/time.h, kern/efi/efi.c,
39504 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39505 and util/i386/efi/grub-mkimage.c.
39506
39507 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39508
39509 * genmk.rb (PModule#rule): Do not export symbols if
39510 #{prefix}_EXPORTS is set to "no".
39511
39512 * conf/i386-efi.mk: New file.
39513 * conf/i386-efi.rmk: Likewise.
39514 * include/grub/efi/api.h: Likewise.
39515 * include/grub/efi/console_control.h: Likewise.
39516 * include/grub/efi/efi.h: Likewise.
39517 * include/grub/efi/pe32.h: Likewise.
39518 * include/grub/i386/efi/time.h: Likewise.
39519 * kern/efi/efi.c: Likewise.
39520 * kern/i386/efi/init.c: Likewise.
39521 * kern/i386/efi/startup.S: Likewise.
39522 * util/i386/efi/grub-mkimage.c: Likewise.
39523
395242006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39525
39526 * include/grub/script.h: Include <grub/parser.h> and
39527 "grub_script.tab.h".
39528 (struct grub_lexer_param): New struct.
39529 (struct grub_parser_param): Likewise.
39530 (grub_script_create_arglist): Pass the state in an argument.
39531 (grub_script_add_arglist): Likewise.
39532 (grub_script_create_cmdline): Likewise.
39533 (grub_script_create_cmdblock): Likewise.
39534 (grub_script_create_cmdif): Likewise.
39535 (grub_script_create_cmdmenu): Likewise.
39536 (grub_script_add_cmd): Likewise.
39537 (grub_script_arg_add): Likewise.
39538 (grub_script_lexer_ref): Likewise.
39539 (grub_script_lexer_deref): Likewise.
39540 (grub_script_lexer_record_start): Likewise.
39541 (grub_script_lexer_record_stop): Likewise.
39542 (grub_script_mem_record): Likewise.
39543 (grub_script_mem_record_stop): Likewise.
39544 (grub_script_malloc): Likewise.
39545 (grub_script_yylex): Likewise.
39546 (grub_script_yyparse): Likewise.
39547 (grub_script_yyerror): Likewise.
39548 (grub_script_yylex): Likewise.
39549 (grub_script_lexer_init): Return the state.
39550
39551 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39552 (grub_script_lexer_done): Likewise.
39553 (grub_script_lexer_getline): Likewise.
39554 (grub_script_lexer_refs): Likewise.
39555 (script): Likewise.
39556 (newscript): Likewise.
39557 (record): Likewise.
39558 (recording): Likewise.
39559 (recordpos): Likewise.
39560 (recordlen): Likewise.
39561 (grub_script_lexer_init): Return the state instead of setting
39562 global variables.
39563 (grub_script_lexer_ref): Use the newly added argument for state
39564 instead of globals.
39565 (grub_script_lexer_deref): Likewise.
39566 (grub_script_lexer_record_start): Likewise.
39567 (grub_script_lexer_record_stop): Likewise.
39568 (recordchar): Likewise.
39569 (nextchar): Likewise.
39570 (grub_script_yylex2): Likewise.
39571 (grub_script_yylex): Likewise.
39572 (grub_script_yyerror): Likewise.
39573
39574 * normal/parser.y (func_mem): Removed variable.
39575 (menu_entry): Likewise.
39576 (err): Likewise.
39577 (%lex-param): New parser option.
39578 (%parse-param): Likewise.
39579 (script): Always return the AST.
39580 (argument): Pass the state around.
39581 (arguments): Likewise.
39582 (grubcmd): Likewise.
39583 (commands): Likewise.
39584 (function): Likewise.
39585 (menuentry): Likewise.
39586 (if_statement): Likewise.
39587 (if): Likewise.
39588
39589 * normal/script.c (grub_script_memused): Removed variable.
39590 (grub_script_parsed): Likewise.
39591 (grub_script_malloc): Added a state argument. Use that instead of
39592 global variables.
39593 (grub_script_mem_record): Likewise.
39594 (grub_script_mem_record_stop): Likewise.
39595 (grub_script_arg_add): Likewise.
39596 (grub_script_add_arglist): Likewise.
39597 (grub_script_create_cmdline): Likewise.
39598 (grub_script_create_cmdif): Likewise.
39599 (grub_script_create_cmdmenu): Likewise.
39600 (grub_script_add_cmd): Likewise.
39601 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39602
e2a8c904 396032006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39604
39605 * normal/command.c (grub_command_init): Remove the title command.
39606
39607 * normal/lexer.c (grub_script_yylex): Renamed from this...
39608 (grub_script_yylex2): ... to this.
39609 (grub_script_yylex): New function. Temporary
39610 introduced to filter some tokens.
39611 (grub_script_yyerror): Print a newline.
39612
39613 * normal/main.c (read_config_file): Output information about the
39614 lines that contain errors. Wait for a key after all lines have
39615 been processed. Don't return an empty menu.
39616
39617 * normal/parser.y (func_mem): Don't initialize.
39618 (menu_entry): Likewise.
39619 (err): New variable.
39620 (script): Don't return anything when an error was encountered.
39621 (ws, returns): Removed rules.
39622 (argument): Disabled concatenated variable support.
39623 (arguments): Remove explicit separators.
39624 (grubcmd): Likewise.
39625 (function): Likewise.
39626 (menuentry): Likewise.
39627 (if): Likewise.
39628 (commands): Likewise. Add error handling.
39629
39630 * normal/script.c (grub_script_create_cmdline): If
39631 `grub_script_parsed' is 0, assume the parser encountered an error.
39632
c9a86192 396332006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39634
39635 * configure.ac: Add support for EFI. Fix the typo
39636 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39637
70f3b243 396382006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39639
39640 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39641 foreign multibyte characters should be shown correctly.
39642
65f201ad 396432006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39644
39645 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39646 calculation.
39647 (read_config_file): Made it to close file before returning.
39648
b4b93674 396492006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39650
39651 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39652 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39653 video/i386/pc/vbefill.c.
39654
39655 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39656 video/i386/pc/vbefill.c.
39657
39658 * include/grub/video.h (grub_video_blit_format): New enum.
39659 (grub_video_mode_info): Added new member blit_format.
39660 (grub_video_get_blit_format): New function prototype.
39661
39662 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39663 function prototype.
39664 (grub_video_vbe_map_rgb): Likewise.
39665 (grub_video_vbe_unmap_color): Likewise.
39666
39667 * include/grub/i386/pc/vbeblit.h: New file.
39668
39669 * include/grub/i386/pc/vbefill.h: New file.
39670
39671 * video/video.c (grub_video_get_blit_format): New function.
39672 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39673 (grub_video_vbe_map_rgb): Likewise.
39674 (grub_video_vbe_unmap_color): Likewise.
39675
39676 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39677 optimized fills.
39678 (grub_video_vbe_blit_render_target): Changed to use more optimized
39679 blits.
39680 (grub_video_vbe_setup): Added detection for optimized settings.
39681 (grub_video_vbe_create_render_target): Likewise.
39682
39683 * video/i386/pc/vbeblit.c: New file.
39684
39685 * video/i386/pc/vbefill.c: New file.
39686
c2379b9c 396872006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39688
39689 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39690 here...
39691
39692 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39693 parsing to support both hex and dec ranges. If filename was missing
39694 show usage information.
39695
bd0d7896 396962006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39697
39698 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39699 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39700
39701 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39702 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39703 (video_mod_SOURCES): Added.
39704 (video_mod_CFLAGS): Likewise.
39705 (video_mod_LDFLAGS): Likewise.
39706 (gfxterm_mod_SOURCES): Likewise.
39707 (gfxterm_mod_CFLAGS): Likewise.
39708 (gfxterm_mod_LDFLAGS): Likewise.
39709 (videotest_mod_SOURCES): Likewise.
39710 (videotest_mod_CFLAGS): Likewise.
39711 (videotest_mod_LDFLAGS): Likewise.
39712 (vesafb_mod_SOURCES): Removed.
39713 (vesafb_mod_CFLAGS): Likewise.
39714 (vesafb_mod_LDFLAGS): Likewise.
39715 (vga_mod_SOURCES): Likewise.
39716 (vga_mod_CFLAGS): Likewise.
39717 (vga_mod_LDFLAGS): Likewise.
39718
39719 * commands/videotest.c: New file.
39720
39721 * font/manager.c (fill_with_default_glyph): Modified to use
39722 grub_font_glyph.
39723 (grub_font_get_glyph): Likewise.
39724 (fontmanager): Renamed from this...
39725 (font_manager): ... to this.
39726
39727 * include/grub/font.h (grub_font_glyph): Added new structure.
39728 (grub_font_get_glyph): Modified to use grub_font_glyph.
39729
39730 * include/grub/misc.h (grub_abs): Added as inline function.
39731
39732 * include/grub/video.h: New file.
39733
39734 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39735 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39736 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39737 (grub_vbe_get_controller_info): Renamed from this...
39738 (grub_vbe_bios_get_controller_info): ... to this.
39739 (grub_vbe_get_mode_info): Renamed from this...
39740 (grub_vbe_bios_get_mode_info): ... to this.
39741 (grub_vbe_set_mode): Renamed from this...
39742 (grub_vbe_bios_set_mode): ... to this.
39743 (grub_vbe_get_mode): Renamed from this...
39744 (grub_vbe_bios_get_mode): ... to this.
39745 (grub_vbe_set_memory_window): Renamed from this...
39746 (grub_vbe_bios_set_memory_window): ... to this.
39747 (grub_vbe_get_memory_window): Renamed from this...
39748 (grub_vbe_bios_get_memory_window): ... to this.
39749 (grub_vbe_set_scanline_length): Renamed from this...
39750 (grub_vbe_set_scanline_length): ... to this.
39751 (grub_vbe_get_scanline_length): Renamed from this...
39752 (grub_vbe_bios_get_scanline_length): ... to this.
39753 (grub_vbe_set_display_start): Renamed from this...
39754 (grub_vbe_bios_set_display_start): ... to this.
39755 (grub_vbe_get_display_start): Renamed from this...
39756 (grub_vbe_bios_get_display_start): ... to this.
39757 (grub_vbe_set_palette_data): Renamed from this...
39758 (grub_vbe_bios_set_palette_data): ... to this.
39759 (grub_vbe_set_pixel_rgb): Removed.
39760 (grub_vbe_set_pixel_index): Likewise.
39761
39762 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39763 from this...
39764 (grub_vbe_bios_get_controller_info): ... to this.
39765 (grub_vbe_get_mode_info): Renamed from this...
39766 (grub_vbe_bios_get_mode_info): ... to this.
39767 (grub_vbe_set_mode): Renamed from this...
39768 (grub_vbe_bios_set_mode): ... to this.
39769 (grub_vbe_get_mode): Renamed from this...
39770 (grub_vbe_bios_get_mode): ... to this.
39771 (grub_vbe_set_memory_window): Renamed from this...
39772 (grub_vbe_bios_set_memory_window): ... to this.
39773 (grub_vbe_get_memory_window): Renamed from this...
39774 (grub_vbe_bios_get_memory_window): ... to this.
39775 (grub_vbe_set_scanline_length): Renamed from this...
39776 (grub_vbe_set_scanline_length): ... to this.
39777 (grub_vbe_get_scanline_length): Renamed from this...
39778 (grub_vbe_bios_get_scanline_length): ... to this.
39779 (grub_vbe_set_display_start): Renamed from this...
39780 (grub_vbe_bios_set_display_start): ... to this.
39781 (grub_vbe_get_display_start): Renamed from this...
39782 (grub_vbe_bios_get_display_start): ... to this.
39783 (grub_vbe_set_palette_data): Renamed from this...
39784 (grub_vbe_bios_set_palette_data): ... to this.
39785 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39786 getting corrupted after calling it. Added more pushes and pops.
39787 (grub_vbe_bios_set_mode): Likewise.
39788 (grub_vbe_bios_get_mode): Likewise.
39789 (grub_vbe_bios_get_memory_window): Likewise.
39790 (grub_vbe_bios_set_scanline_length): Likewise.
39791 (grub_vbe_bios_get_scanline_length): Likewise.
39792 (grub_vbe_bios_get_display_start): Likewise.
39793 (grub_vbe_bios_set_palette_data): Likewise.
39794
39795 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39796 (cl_insert): Likewise.
39797 (cl_delete): Likewise.
39798
39799 * term/gfxterm.c: New file.
39800
39801 * term/i386/pc/vesafb.c: Removed file.
39802
39803 * video/video.c: New file.
39804
39805 * video/i386/pc/vbe.c (real2pm): Added new function.
39806 (grub_video_vbe_draw_pixel): Likewise.
39807 (grub_video_vbe_get_video_ptr): Likewise.
39808 (grub_video_vbe_get_pixel): Likewise
39809 (grub_video_vbe_init): Likewise.
39810 (grub_video_vbe_fini): Likewise.
39811 (grub_video_vbe_setup): Likewise.
39812 (grub_video_vbe_get_info): Likewise.
39813 (grub_video_vbe_set_palette): Likewise.
39814 (grub_video_vbe_get_palette): Likewise.
39815 (grub_video_vbe_set_viewport): Likewise.
39816 (grub_video_vbe_get_viewport): Likewise.
39817 (grub_video_vbe_map_color): Likewise.
39818 (grub_video_vbe_map_rgb): Likewise.
39819 (grub_video_vbe_map_rgba): Likewise.
39820 (grub_video_vbe_unmap_color): Likewise.
39821 (grub_video_vbe_fill_rect): Likewise.
39822 (grub_video_vbe_blit_glyph): Likewise.
39823 (grub_video_vbe_blit_bitmap): Likewise.
39824 (grub_video_vbe_blit_render_target): Likewise.
39825 (grub_video_vbe_scroll): Likewise.
39826 (grub_video_vbe_swap_buffers): Likewise.
39827 (grub_video_vbe_create_render_target): Likewise.
39828 (grub_video_vbe_delete_render_target): Likewise.
39829 (grub_video_vbe_set_active_render_target): Likewise.
39830 (grub_vbe_set_pixel_rgb): Remove function.
39831 (grub_vbe_set_pixel_index): Likewise.
39832 (index_color_mode): Remove static variable.
39833 (active_mode): Likewise.
39834 (framebuffer): Likewise.
39835 (bytes_per_scan_line): Likewise.
39836 (grub_video_vbe_adapter): Added new static variable.
39837 (framebuffer): Likewise.
39838 (render_target): Likewise.
39839 (initial_mode): Likewise.
39840 (mode_in_use): Likewise.
39841 (mode_list): Likewise.
39842
5f97350b 398432006-03-10 Marco Gerards <marco@gnu.org>
39844
39845 * configure.ac (AC_INIT): Bumped to 1.93.
39846
39847 * DISTLIST: Added `include/grub/hfs.h'.
39848
a3c5c6f8 398492006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39850
39851 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39852 18H, which might help the BIOS falling back to next boot media.
39853
6de53d26 398542006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39855
39856 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39857 Poe Chen <poe.poechen@gmail.com>.
39858
77c4a393 398592006-01-17 Marco Gerards <marco@gnu.org>
39860
39861 * include/grub/normal.h: Include <grub/script.h>.
39862 (grub_command_list): Removed struct.
39863 (grub_command_list_t): Removed type.
39864 (grub_menu_entry): Remove members `num' and `command_list'. Add
39865 members `commands' and `sourcecode'.
39866 * include/grub/script.h: Add inclusion guards.
39867 (grub_script_cmd_menuentry): New struct.
39868 (grub_script_execute_menuentry): New prototype.
39869 (grub_script_lexer_record_start): Likewise.
39870 (grub_script_lexer_record_stop): Likewise.
39871 * normal/execute.c (grub_script_execute_menuentry): New function.
39872 * normal/lexer.c (record, recording, recordpos, recordlen): New
39873 variables.
39874 (grub_script_lexer_record_start): New function.
39875 (grub_script_lexer_record_stop): Likewise.
39876 (recordchar): Likewise.
39877 (nextchar): Likewise.
39878 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39879 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39880 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39881 (current_menu): New variable.
39882 (free_menu): Mainly rewritten.
39883 (grub_normal_menu_addentry): New function.
39884 (read_config_file): Rewritten.
39885 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39886 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39887 the menu entry.
39888 (run): Mainly rewritten.
39889 * normal/parser.y (menu_entry): New variable.
39890 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39891 (menuentry): New rule.
39892 (command): Add `menuentry'.
39893 (if_statement): Allow additional returns before `fi'.
39894 * normal/script.c (grub_script_create_cmdmenu): New function.
39895
144f1f98 398962006-01-03 Marco Gerards <marco@gnu.org>
39897
39898 * INSTALL: GNU Bison is required.
39899 * configure.ac: Rewritten the test to detect Bison.
39900 * Makefile.in (YACC): New variable. Reported by Xun Sun
39901 <xun.sun.cn@gmail.com>.
39902
af4b2d89 399032006-01-03 Marco Gerards <marco@gnu.org>
39904
39905 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39906 the HFS+ filesystem to filesystem blocks.
39907 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39908 GCC warning is silenced.
39909
15643b71 399102006-01-03 Marco Gerards <marco@gnu.org>
39911
39912 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39913 read from disk from big endian to host byte order.
39914
00905879 399152006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39916
39917 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39918 documentation.
39919 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39920 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39921 embedded HFS+ filesystem.
39922 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39923 (grub_hfs_sblock): Move from here...
39924 * include/grub/hfs.h: To here... New file.
39925 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39926 documentation.
39927 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39928 New macros.
39929 (grub_hfsplus_volheader): Change type of member `magic' to
39930 `grub_uint16_t'.
39931 (grub_hfsplus_data): Add new member `embedded_offset'.
39932 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39933 returned block.
39934 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39935 Calculate the offset.
39936
8899bc3e 399372005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39938
39939 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39940 Removed.
39941 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39942
ae8c0277 399432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39944
39945 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39946 ENV->NAME is NULL after allocating ENV->VALUE.
39947
07084456 399482005-12-25 Marco Gerards <marco@gnu.org>
39949
39950 * kern/env.c (grub_env_set): Rewritten the error handling code.
39951
4750f5f1 399522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39953
39954 * geninit.sh: Made more robust, and more portable.
39955
50214199 399562005-12-25 Marco Gerards <marco@gnu.org>
39957
39958 Add support for Apple HFS+ filesystems.
f19dbdb7 39959
50214199 39960 * fs/hfsplus.c: New file.
39961
39962 * DISTLIST: Added `fs/hfsplus.c'.
39963
39964 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39965 (hfsplus_mod_SOURCES): New variable.
39966 (hfsplus_mod_CFLAGS): Likewise.
39967 (hfsplus_mod_LDFLAGS): Likewise.
39968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39969 (grub_setup_SOURCES): Likewise.
39970 (grub_mkdevicemap_SOURCES): Likewise.
39971 (grub_emu_SOURCES): Likewise.
39972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39973
39974 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39975
39976 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39977
befaed6c 399782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39979
39980 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39981 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39982 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39983 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39984 normal/lexer.c, normal/parser.y, normal/script.c, and
39985 partmap/gpt.c.
39986 Removed kern/sparc64/cache.c.
39987
39988 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39989 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39990 grub_emu_init.c.
39991
39992 * configure.ac (AC_INIT): Bumped to 1.92.
39993
6a124103 399942005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39995
39996 * kern/err.c (grub_error_push): Added new function to support error
39997 stacks.
39998 (grub_error_pop): Likewise.
39999 (grub_error_stack_items): New local variable to support error stacks.
40000 (grub_error_stack_pos): Likewise.
40001 (grub_error_stack_assert): Likewise.
40002 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40003 stack depth.
40004 (grub_print_error): Added support to print errors from error stack.
40005
40006 * include/grub/err.h (grub_error_push): Added function prototype.
40007 (grub_error_pop): Likewise.
40008
be973c1b 400092005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40010
40011 * configure.ac: Accept `powerpc64' as host_cpu.
40012 (amd64): Rename to `biarch32'.
40013
40014 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40015 non-cacheline-aligned addresses.
40016
40017 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40018 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40019 if `size' is non-zero.
40020
b04216ab 400212005-12-03 Marco Gerards <mgerards@xs4all.nl>
40022
40023 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40024 and `cd' to make sure the filename is not prefixed with a
40025 directory name.
40026 (pkgdata_MODULES): Add `gpt.mod'.
40027 (gpt_mod_SOURCES): New variable.
40028 (gpt_mod_CFLAGS): Likewise.
40029 (gpt_mod_LDFLAGS): Likewise.
40030
40031 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40032
40033 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40034 New macro.
40035
40036 * partmap/gpt.c: New file.
40037
40038 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40039 GPT partition map is detected.
40040
41730ed9 400412005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40042
40043 * commands/i386/pc/play.c: New file.
40044 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40045 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40046 macros.
f19dbdb7 40047
95dc3643 400482005-11-27 Marco Gerards <mgerards@xs4all.nl>
40049
40050 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40051 ((unused))' to silence gcc warning.
40052
1569ec51 400532005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40054
40055 * configure.ac: Correct `AC_PROG_YACC' test.
40056
9abde152 400572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40058
40059 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40060 check before installing files.
40061
44b83271 400622005-11-22 Mike Small <smallm@panix.com>
40063
40064 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40065 number regex so multidigit numbers are recognized correctly.
40066
400672005-11-22 Mike Small <smallm@panix.com>
40068
40069 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40070 debugging message before attempting to claim memory.
40071 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40072 multiple addresses in case of failure.
40073
9c12956b 400742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40075
40076 * term/tparm.c (get_space): Remove empty `if' statement.
40077
40078 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40079
40080 * kern/parser.c (check_varstate): Rename `state' to 's'.
40081
aeaf81d9 400822005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40083
40084 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40085 variable definitions to the beginning of each function. Sort stack
40086 variables by size.
40087 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40088 `buf' argument to `char *'.
40089
79bbb63f 400902005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40091
40092 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40093 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40094 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40095 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40096 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40097 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40098 configfile.mod, search.mod, gzio.mod and test.mod.
40099 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40100 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40101 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40102 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40103 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40104 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40105 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40106 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40107 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40108 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40109 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40110 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40111 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40112 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40113 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40114 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40115 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40116 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40117 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40118 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40119 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40120 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40121 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40122
40123 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40124 `grep --include'.
40125 (pkgdata_MODULES): Add test.mod.
40126
233b1628 401272005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40128
40129 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40130 appending to variables with "+=".
40131 (PModule): Use full pathname to generate *.lst filenames.
40132
40133 * Makefile.in: Fixed list rules moved from genmk.rb.
40134 (.DELETE_ON_ERROR): New special target.
40135 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40136
40137 * conf/i386-pc.rmk: Include conf/common.mk.
40138 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40139 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40140 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40141 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40142 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40143 configfile.mod, search.mod, gzio.mod and test.mod.
40144 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40145 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40146 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40147 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40148 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40149 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40150 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40151 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40152 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40153 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40154 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40155 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40156 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40157 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40158 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40159 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40160 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40161 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40162 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40163 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40164 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40165 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40166 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40167 here...
40168 * conf/common.rmk: ... to here. New file.
40169
40170 * conf/common.mk: New file.
40171
16f820c8 401722005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40173
40174 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40175 (grub_script.tab.c): ... here.
40176
40177 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40178 (grub_script.tab.c): ... here.
40179
40180 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40181 (grub_script.tab.c): ... here.
40182
40183 * normal/command.c (grub_command_find): Fixed a memory leak of
40184 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40185
63ba1554 401862005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40187
40188 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40189 "@" which marks the start of a comment on ARM.
40190 (VARIABLE): Likewise.
40191
7f67dc13 401922005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40193
79bbb63f 40194 Add support for Linux/ADFS partition tables.
7f67dc13 40195
40196 * partmap/acorn.c: New file.
40197
40198 * include/grub/acorn_filecore.h: Likewise.
40199
40200 * DISTLIST: Added `partmap/acorn.c' and
40201 `include/grub/acorn_filecore.h'.
f19dbdb7 40202
7f67dc13 40203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40204 `partmap/acorn.c'.
40205 (pkgdata_MODULES): Add `acorn.mod'.
40206 (acorn_mod_SOURCES): New variable.
40207 (acorn_mod_CFLAGS): Likewise.
40208
40209 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40210 `partmap/acorn.c'.
40211 (pkgdata_MODULES): Add `acorn.mod'.
40212 (acorn_mod_SOURCES): New variable.
40213 (acorn_mod_CFLAGS): Likewise.
40214
40215 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40216 (pkgdata_MODULES): Add `acorn.mod'.
40217 (acorn_mod_SOURCES): New variable.
40218 (acorn_mod_CFLAGS): Likewise.
40219 (acorn_mod_LDFLAGS): Likewise.
40220
40221 * include/types.h (grub_disk_addr_t): New typedef.
40222
6d099807 402232005-11-13 Marco Gerards <mgerards@xs4all.nl>
40224
40225 * geninit.sh: New file.
40226
40227 * geninitheader.sh: Likewise.
40228
40229 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40230 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40231 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40232 * commands/configfile.c (grub_configfile_init)
40233 (grub_configfile_fini): Likewise.
40234 * commands/default.c (grub_default_init, grub_default_fini):
40235 Likewise.
40236 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40237 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40238 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40239 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40240 Likewise.
40241 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40242 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40243 Likewise.
40244 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40245 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40246 Likewise.
40247 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40248 Likewise.
fe6b695a 40249 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40250 Likewise.
40251 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40252 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40253 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40254 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40255 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40256 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40257 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40258 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40259 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40260 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40261 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40262 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40263 * partmap/amiga.c (grub_amiga_partition_map_init)
40264 (grub_amiga_partition_map_fini): Likewise.
40265 * partmap/apple.c (grub_apple_partition_map_init)
40266 (grub_apple_partition_map_fini): Likewise.
40267 * partmap/pc.c (grub_pc_partition_map_init)
40268 (grub_pc_partition_map_fini): Likewise.
40269 * partmap/sun.c (grub_sun_partition_map_init,
40270 grub_sun_partition_map_fini): Likewise.
40271 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40272 Likewise.
40273
40274 * util/grub-emu.c: Include <grub_modules_init.h>.
40275 (main): Don't initialize and de-initialize any modules directly,
40276 use `grub_init_all' and `grub_fini_all' instead.
40277
40278 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40279 `grub_vesafb_mod_init'.
40280 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40281 all users.
40282 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40283 `grub_vga_mod_init'. Updated all users.
40284 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40285
6d099807 40286 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40287 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40288 rules.
40289
40290 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40291 Generate a function to initialize the module in utilities.
40292 Updated all callers.
40293 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40294 initialize the module in utilities. Updated all callers.
40295
9046bcf0 402962005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40297
40298 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40299 escape sequence and a literal ^L to clear the screen.
40300
40301 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40302 when returning from Open Firmware.
40303
d13ea639 403042005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40305
40306 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40307 (grub_ofconsole_height): Likewise.
40308 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40309 manually insert a '\n'.
40310 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40311 `grub_ofconsole_height'. Return early if these are already set.
40312
a8fcf206 403132005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40314
40315 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40316 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40317 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40318 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40319 and `normal/script.c'.
40320 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40321 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40322 (test_mod_SOURCES): New variable.
40323 (test_mod_CFLAGS): Likewise.
40324 (test_mod_LDFLAGS): Likewise.
40325 (pkgdata_MODULES): Add `test.mod'.
40326 (grub_script.tab.c): New rule.
40327 (grub_script.tab.h): Likewise.
40328
b6b32745 403292005-11-07 Marco Gerards <mgerards@xs4all.nl>
40330
40331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40332 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40333 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40334 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40335 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40336 (test_mod_SOURCES): New variable.
40337 (test_mod_CFLAGS): Likewise.
40338 (pkgdata_MODULES): Add `test.mod'.
40339 (grub_script.tab.c): New rule.
40340 (grub_script.tab.h): Likewise.
40341
daac212a 403422005-11-06 Marco Gerards <mgerards@xs4all.nl>
40343
40344 Add initial scripting support.
40345
40346 * commands/test.c: New file.
40347 * include/grub/script.h: Likewise.
40348 * normal/execute.c: Likewise.
40349 * normal/function.c: Likewise.
40350 * normal/lexer.c: Likewise.
40351 * normal/parser.y: Likewise.
40352 * normal/script.c: Likewise.
40353
40354 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40355
daac212a 40356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40357 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40358 `normal/function.c' and `normal/script.c'.
40359 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40360 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40361 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40362 variables.
daac212a 40363 (pkgdata_MODULES): Add `test.mod'.
40364 (grub_script.tab.c): New rule.
40365 (grub_script.tab.h): Likewise.
40366
40367 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40368
40369 * include/grub/normal.h (grub_test_init): New prototype.
40370 (grub_test_fini): Likewise.
f19dbdb7 40371
daac212a 40372 * normal/command.c: Include <grub/script.h>.
40373 (grub_command_execute): Rewritten.
f19dbdb7 40374
daac212a 40375 * util/grub-emu.c (main): Call `grub_test_init' and
40376 `grub_test_fini'.
40377
77500b2b 403782005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40379
40380 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40381 to 0.
40382 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40383 there are no pending characters.
40384
e45deb9e 403852005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40386
40387 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40388 `grub_strndup' to drop device arguments. Replace unnecessary
40389 `grub_strndup' with `grub_strdup'.
40390
4ce32619 403912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40392
40393 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40394 `debug' environment variable has been set.
40395
403962005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40397
4ce32619 40398 * Makefile.in (install-local): Use $(DATA).
40399 (uninstall): Likewise.
40400 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40401 (sbin_UTILITIES): ... to here.
40402 (sbin_SCRIPTS): New variable.
40403 (grub_install_SOURCES): New variable.
40404 * util/powerpc/ieee1275/grub-install.in: New file.
40405 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40406 variable.
40407 (add_segments): Call `grub_util_get_path'.
40408
25fe6f03 404092005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40410
40411 From Timothy Baldwin:
40412 * commands/ls.c (grub_ls_list_files): Close FILE with
40413 grub_file_close.
40414 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40415
04ccf3ec 404162005-10-24 Marco Gerards <mgerards@xs4all.nl>
40417
40418 * include/grub/parser.h: New file.
40419
40420 * kern/parser.c: Likewise.
40421
40422 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40423 (grub_setup_SOURCES): Likewise.
40424 (grub_probefs_SOURCES): Likewise.
40425 (grub_emu_SOURCES): Likewise.
40426 (kernel_img_HEADERS): Add `parser.h'.
40427
40428 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40429 (grub_emu_SOURCES): Add `kern/parser.c'.
40430 (grubof_SOURCES): Likewise.
40431
40432 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40433 (grubof_SOURCES): Add `kern/parser.c'.
40434
40435 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40436
40437 * kern/misc.c (grub_split_cmdline): Removed function.
40438
40439 * kern/rescue.c: Include <grub/parser.h>.
40440 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40441 of `grub_split_cmdline'.
40442
40443 * normal/command.c: Include <grub/parser.h>.
40444 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40445 of `grub_split_cmdline'.
40446
40447 * normal/completion.c: Include <grub/parser.h>.
40448 (cmdline_state): New variable.
40449 (iterate_dir): End the filename with a quote depending on the
40450 command line state.
40451 (get_state): new function.
40452 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40453 split the arguments and determine the current argument. When the
40454 argument string is not quoted, escape all spaces.
40455
6d8f4b0e 404562005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40457
40458 * normal/sparc64/setjmp.S: New file.
40459
15cf03ed 404602005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40461
40462 * include/grub/sparc64/libgcc.h: New file.
40463 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40464 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40465 normal/sparc64/setjmp.c.
40466
03e8661a 404672005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40468
40469 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40470 * kern/sparc64/cache.S: New file.
40471 * kern/sparc64/cache.c: Removed.
40472 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40473 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40474 -mtune=ultrasparc.
40475 (COMMON_LDFLAGS): Add -melf64_sparc.
40476 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40477 (grubof_SOURCES): Use cache.S instead of cache.c.
40478 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40479 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40480 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40481 commented though.
40482 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40483 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40484 (linux_mod_CFLAGS): Commented out.
40485 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40486 out because module isn't built.
40487 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40488 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40489 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40490 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40491 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40492 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40493 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40494 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40495 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40496 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40497 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40498 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40499 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40500 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40501
34eeec8a 405022005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40503
40504 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40505 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40506 longer, because HFS should not be used on PC.
40507
708367a3 405082005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40509
40510 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40511 consistently within the loop.
40512
6fa1251a 405132005-10-15 Marco Gerards <mgerards@xs4all.nl>
40514
40515 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40516 directory can not be read.
40517
4801580b 405182005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40519
40520 * configure.ac (AC_INIT): Increase the version number to 1.91.
40521
40522 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40523 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40524 term/i386/pc/serial.c.
40525
219ad426 405262005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40527
40528 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40529 file size must be permitted.
40530
40531 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40532 between %ah and %al.
40533
688e5699 405342005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40535
40536 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40537 grub_uint64_t.
40538 Call the hook with a NUL-terminated filename.
40539 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40540 grub_cpu_to_be32.
40541
40542 * kern/term.c (cursor_state): New variable.
40543 (grub_term_set_current): Reset the cursor state on a new
40544 terminal.
40545 (grub_setcursor): Rewritten to use CURSOR_STATE.
40546 (grub_getcursor): New function.
40547
40548 * include/grub/term.h (grub_getcursor): New prototype.
40549
40550 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40551 integers on ARM. Reported by Timothy Baldwin
40552 <T.E.Baldwin99@members.leeds.ac.uk>.
40553
bb34586c 405542005-10-11 Marco Gerards <mgerards@xs4all.nl>
40555
40556 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40557 allocated.
40558 (grub_sfs_dir): Likewise.
40559
9a909877 405602005-10-09 Marco Gerards <mgerards@xs4all.nl>
40561
40562 Add support for the SFS filesystem.
40563
40564 * fs/sfs.c: New file.
40565
40566 * DISTLIST: Added `fs/sfs.c'.
40567
40568 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40569 (grub_probefs_SOURCES): Likewise.
40570 (grub_emu_SOURCES): Likewise.
40571 (pkgdata_MODULES): Add `sfs.mod'.
40572 (sfs_mod_SOURCES): New variable.
40573 (sfs_mod_CFLAGS): Likewise.
40574 (sfs_mod_LDFLAGS): Likewise.
40575
40576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40577 (pkgdata_MODULES): Add `sfs.mod'.
40578 (sfs_mod_SOURCES): New variable.
40579 (sfs_mod_CFLAGS): Likewise.
40580
40581 * util/grub-emu.c (main): Call `grub_sfs_init' and
40582 `grub_sfs_fini'.
40583
40584 * include/grub/fs.h (grub_sfs_init): New prototype.
40585 (grub_sfs_fini): Likewise.
40586
57bdbde3 405872005-10-07 Marco Gerards <mgerards@xs4all.nl>
40588
40589 Add support for the AFFS filesystem.
40590
40591 * fs/affs.c: New file.
40592
40593 * DISTLIST: Added `fs/affs.c'.
40594
40595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40596 (grub_probefs_SOURCES): Likewise.
40597 (grub_emu_SOURCES): Likewise.
40598 (pkgdata_MODULES): Add `affs.mod'.
40599 (affs_mod_SOURCES): New variable.
40600 (affs_mod_CFLAGS): Likewise.
40601 (affs_mod_LDFLAGS): Likewise.
40602
40603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40604 (pkgdata_MODULES): Add `affs.mod'.
40605 (affs_mod_SOURCES): New variable.
40606 (affs_mod_CFLAGS): Likewise.
40607
40608 * util/grub-emu.c (main): Call `grub_affs_init' and
40609 `grub_affs_fini'.
40610
40611 * include/grub/fs.h (grub_affs_init): New prototype.
40612 (grub_affs_fini): Likewise.
40613
047b67e0 406142005-10-01 Marco Gerards <mgerards@xs4all.nl>
40615
40616 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40617
59b8208a 406182005-10-01 Marco Gerards <mgerards@xs4all.nl>
40619
40620 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40621 `-m32' to CFLAGS.
40622
40623 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40624 linking.
f19dbdb7 40625
59b8208a 40626 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40627 (COMMON_LDFLAGS): New variable.
40628 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40629 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40630 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40631 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40632 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40633 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40634 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40635 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40636 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40637 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40638 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40639 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40640 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40641 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40642 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40643 variables.
40644 (normal_mod_ASFLAGS): Add `-m32'.
40645
40646 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40647 (grub_host_size_t, grub_host_ssize_t): New types.
40648 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40649 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40650 `GRUB_HOST_SIZEOF_VOID_P'.
40651
40652 * include/grub/kernel.h (struct grub_module_header): Type of
40653 member offset changed to `grub_host_off_t'. Type of member size
40654 changed to `grub_host_size_t'.
40655 (struct grub_module_info): Type of member offset changed to
40656 `grub_host_off_t'. Type of member size changed to
40657 `grub_host_size_t'.
40658
b4093103 406592005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40660
40661 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40662
b4093103 40663 * kern/i386/pc/startup.S (multiboot_header): New label.
40664 (multiboot_entry): Likewise.
40665 (multiboot_trampoline): Likewise.
40666
40667 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40668 Increased to 0x4A0.
40669
40670 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40671 put parentheses after a question mark.
40672 [!GRUB_UTIL] (my_mod): New variable.
40673
40674 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40675
b2499b29 406762005-09-28 Marco Gerards <mgerards@xs4all.nl>
40677
40678 Adds support for the XFS filesystem. Btrees are not supported
40679 yet.
40680
40681 * fs/xfs.c: New file.
40682
40683 * DISTLIST: Added `fs/xfs.c'.
40684
40685 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40686 (grub_probefs_SOURCES): Likewise.
40687 (grub_emu_SOURCES): Likewise.
40688 (pkgdata_MODULES): Add `xfs.mod'.
40689 (xfs_mod_SOURCES): New variable.
40690 (xfs_mod_CFLAGS): Likewise.
40691
40692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40693 (pkgdata_MODULES): Add `xfs.mod'.
40694 (xfs_mod_SOURCES): New variable.
40695 (xfs_mod_CFLAGS): Likewise.
40696
40697 * util/grub-emu.c (main): Call `grub_xfs_init' and
40698 `grub_xfs_fini'.
40699
40700 * include/grub/fs.h (grub_xfs_init): New prototype.
40701 (grub_xfs_fini): Likewise.
40702
f19dbdb7 40703
83d37a62 407042005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40705
40706 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40707 color modes, allow greater than 16 colors to be configured as
40708 a default palette.
40709
47d2d65e 407102005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40711
40712 * normal/completion.c (complete_arguments): Add the qualifier
40713 const into OPTIONS.
40714
40715 From Omniflux <omniflux+lists@omniflux.com>:
40716 * include/grub/terminfo.h: New file.
40717 * include/grub/tparm.h: Likewise.
40718 * include/grub/i386/pc/serial.h: Likewise.
40719 * term/terminfo.c: Likewise.
40720 * term/tparm.c: Likewise.
40721 * term/i386/pc/serial.c: Likewise.
40722 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40723 serial.mod.
40724 (terminfo_mod_SOURCES): New variable.
40725 (terminfo_mod_CFLAGS): Likewise.
40726 (serial_mod_SOURCES): Likewise.
40727 (serial_mod_CFLAGS): Likewise.
40728
48b671ff 407292005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40730
40731 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40732 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40733 and kern/powerpc/ieee1275/cmain.c, respectively.
40734
40735 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40736 * kern/powerpc/ieee1275/crt0.S: ... here.
40737
40738 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40739 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40740
48b671ff 40741 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40742 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40743 instead of boot/powerpc/ieee1275/crt0.S and
40744 boot/powerpc/ieee1275/cmain.c, respectively.
40745
40746 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40747 sectors. It was not used anyway.
40748
09fc77a7 407492005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40750
40751 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40752 `unused parameter' warning.
40753
003789c7 407542005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40755
40756 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40757 function.
40758 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40759 getcharwidth.
40760
67f44c86 407612005-08-28 Marco Gerards <metgerards@student.han.nl>
40762
40763 * include/grub/normal.h (enum grub_completion_type): Added
40764 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40765
40766 * normal/cmdline.c (print_completion): Handle
40767 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40768 * normal/menu_entry.c (store_completion): Likewise.
40769
40770 * normal/completion.c (complete_arguments): New function.
40771 (grub_normal_do_completion): Call `complete_arguments' when the
40772 current words start with a dash.
40773
0b5abe02 407742005-08-27 Marco Gerards <metgerards@student.han.nl>
40775
40776 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40777 `gzio.mod' instead of `io.mod').
40778
d9864ee1 407792005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40780
40781 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40782 (DISTDIRS): Added io and video.
40783 Rewrite the search routine to make an output consistently.
40784
40785 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40786 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40787 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40788 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40789 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40790 util/powerpc/ieee1275/misc.c.
f19dbdb7 40791
d9864ee1 40792 * include/grub/gzio.h: New file.
40793 * io/gzio.c: Likewise.
f19dbdb7 40794
d9864ee1 40795 * kern/file.c (grub_file_close): Call grub_device_close only if
40796 FILE->DEVICE is not NULL.
40797
40798 * include/grub/mm.h [!NULL] (NULL): New macro.
40799
40800 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40801
40802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40803 (pkgdata_MODULES): Added gzio.mod.
40804 (gzio_mod_SOURCES): New variable.
40805 (gzio_mod_CFLAGS): Likewise.
40806
40807 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40808 (pkgdata_MODULES): Added gzio.mod.
40809 (gzio_mod_SOURCES): New variable.
40810 (gzio_mod_CFLAGS): Likewise.
40811
40812 * commands/cat.c: Include grub/gzio.h.
40813 (grub_cmd_cat): Use grub_gzfile_open instead of
40814 grub_file_open.
f19dbdb7 40815
d9864ee1 40816 * commands/cmp.c: Include grub/gzio.h.
40817 (grub_cmd_cmp): Use grub_gzfile_open instead of
40818 grub_file_open.
40819
40820 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40821 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40822 grub_file_open.
40823 (grub_rescue_cmd_module): Likewise.
40824
fa46f4b5 408252005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40826
40827 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40828 kern/sparc64/ieee1275/init.c because it contains _start.
40829 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40830
e9211b5d 408312005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40832
40833 * configure.ac: Add support for sparc64 host with ieee1275
40834 firmware.
40835 * configure: Generated from configure.ac.
40836 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40837 instead of int.
40838 (grub_ofdisk_read): Likewise.
40839 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40840 pointers as (void *) to remove a warning.
40841 (grub_ofdisk_close): Likewise.
40842 (grub_ofdisk_read): Likewise.
40843 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40844 returns, so make it return void to remove a warning.
40845 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40846 Corresponding prototype change.
40847 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40848 values, and cast the pointers as (void *) to remove a warning.
40849 (grub_mm_dump): Likewise.
40850 * conf/sparc64-ieee1275.mk: New file.
40851 * conf/sparc64-ieee1275.rmk: Likewise.
40852 * include/grub/sparc64/setjmp.h: Likewise.
40853 * include/grub/sparc64/types.h: Likewise.
40854 * include/grub/sparc64/ieee1275/console.h: Likewise.
40855 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40856 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40857 * include/grub/sparc64/ieee1275/time.h: Likewise.
40858 * kern/sparc64/cache.c: Likewise.
40859 * kern/sparc64/dl.c: Likewise.
40860 * kern/sparc64/ieee1275/init.c: Likewise.
40861 * kern/sparc64/ieee1275/openfw.c: Likewise.
40862
385c6a92 408632005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40864
40865 * util/console.c (grub_ncurses_putchar): If C is greater than
40866 0x7f, set C to a question mark.
40867 (grub_ncurses_getcharwidth): New function.
40868 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40869 getcharwidth.
40870
40871 * normal/menu.c (print_entry): Made aware of Unicode. First,
40872 convert TITLE to UCS-4, and predict the cursor position by
40873 grub_getcharwidth.
40874
40875 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40876 const to SRC.
40877 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40878
16ccb8b1 408792005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40880
40881 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40882 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40883 grub_strcat.
40884
40885 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40886 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40887 grub_strcpy and grub_strlen. Take it into account that a space
40888 character is inserted as a delimiter.
40889
6a85ce79 408902005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40891
40892 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40893 invalid magic in the error.
6a85ce79 40894
40895 * commands/search.c: New file.
f19dbdb7 40896
6a85ce79 40897 * util/grub-emu.c (main): Call grub_search_init and
40898 grub_search_fini.
40899
40900 * kern/rescue.c (grub_rescue_print_disks): Removed.
40901 (grub_rescue_print_devices): New function.
40902 (grub_rescue_cmd_ls): Use grub_device_iterate with
40903 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40904 grub_rescue_print_disks.
40905
40906 * kern/partition.c (grub_partition_iterate): Return the result of
40907 PARTMAP->ITERATE instead of GRUB_ERRNO.
40908
40909 * kern/device.c: Include grub/partition.h.
40910 (grub_device_iterate): New function.
40911
40912 * include/grub/partition.h (grub_partition_iterate): Return int
40913 instead of grub_err_t.
40914
40915 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40916 prototype.
40917 [GRUB_UTIL] (grub_search_fini): Likewise.
40918
40919 * include/grub/device.h (grub_device_iterate): New prototype.
40920
40921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40922 commands/search.c.
40923 (pkgdata_MODULES): Added search.mod.
40924 (search_mod_SOURCES): New variable.
40925 (search_mod_CFLAGS): Likewise.
40926
40927 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40928 (pkgdata_MODULES): Added search.mod.
40929 (search_mod_SOURCES): New variable.
40930 (search_mod_CFLAGS): Likewise.
40931
40932 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40933 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40934 All callers changed.
40935
40936 * DISTLIST: Added commands/search.c.
40937
ef095434 409382005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40939
40940 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40941 conversion.
40942 (grub_getcharwidth): New function.
40943
40944 * kern/misc.c (grub_utf8_to_ucs4): New function.
40945
40946 * include/grub/term.h (struct grub_term): Added a new member
40947 "getcharwidth".
40948 (grub_getcharwidth): New prototype.
40949
40950 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40951
40952 * term/i386/pc/console.c (map_char): New function. Segregated from
40953 grub_console_putchar.
40954 (grub_console_putchar): Use map_char.
40955 (grub_console_getcharwidth): New function.
40956 (grub_console_term): Specified grub_console_getcharwidth as
40957 getcharwidth.
40958
40959 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40960 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40961
40962 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40963 GRUB_ERRNO.
40964 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40965 on grub_strtoul completely.
40966 (write_char): Declare local variables in the beginning of the
40967 function.
40968 (grub_vesafb_getcharwidth): New function.
40969 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40970 getcharwidth.
40971
1f0a95e4 409722005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40973
40974 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40975 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40976 commands/i386/pc/vbetest.c.
40977
40978 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40979 call grub_vbe_get_controller_info again, because the returned
40980 information is volatile.
40981 (grub_vbe_set_video_mode): Mostly rewritten.
40982 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40983 grub_vbe_status_t correctly.
40984 (grub_vbe_get_video_mode_info): Likewise.
40985 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40986 several if statements.
40987
40988 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40989 * commands/i386/pc/vbeinfo.c: ... this.
40990
40991 * commands/i386/pc/vbe_test.c: Renamed to ...
40992 * commands/i386/pc/vbetest.c: ... this.
40993
40994 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40995 ...
40996 (grub_cmd_vbeinfo): ... this. Save video modes before
40997 iterating. Skip a video mode, if it is not available, not enough
40998 information is given or it is monochrome. Show the memory
40999 model. Leave the interpretation of MODEVAR to grub_strtoul
41000 completely.
41001 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41002 (GRUB_MOD_FINI): Likewise.
41003
41004 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41005 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41006 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41007 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41008 grub_strtoul completely.
41009 (real2pm): Removed.
41010 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41011 (GRUB_MOD_FINI): Likewise.
41012
41013 * normal/misc.c: Include grub/mm.h.
41014
41015 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41016 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41017 (vbe_list_modes_mod_SOURCES): Removed.
41018 (vbe_list_modes_mod_CFLAGS): Likewise.
41019 (vbe_test_mod_SOURCES): Likewise.
41020 (vbe_test_mod_CFLAGS): Likewise.
41021 (vbeinfo_mod_SOURCES): New variable.
41022 (vbeinfo_mod_CFLAGS): Likewise.
41023 (vbetest_mod_SOURCES): Likewise.
41024 (vbetest_mod_CFLAGS): Likewise.
41025
992ffbbe 410262005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41027
41028 * normal/misc.c: New file.
41029
41030 * DISTLIST: Added normal/misc.c.
f19dbdb7 41031
992ffbbe 41032 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41033 DISK to HOOK. Call HOOK with DISK.
41034 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41035 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41036 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41037
41038 * normal/menu_entry.c (struct screen): Added a new member
41039 "completion_shown".
41040 (completion_buffer): New global variable.
41041 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41042 (store_completion): New function.
41043 (complete): Likewise.
41044 (clear_completions): Likewise.
41045 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41046 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41047 a tab, call complete.
41048
41049 * normal/completion.c (disk_dev): Removed.
41050 (print_simple_completion): Likewise.
41051 (print_partition_completion): Likewise.
41052 (print_func): New global variable.
41053 (add_completion): Do not take the arguments WHAT or PRINT any
41054 longer. Added a new argument TYPE. Instead of printing directly,
41055 call PRINT_FUNC if not NULL.
41056 All callers changed.
41057 (complete_device): Use a local variable DEV instead of
41058 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41059 (grub_normal_do_completion): Take a new argument HOOK. Do not
41060 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41061 empty string, return NULL instead.
41062 All callers changed.
41063
41064 * normal/cmdline.c (print_completion): New function.
41065
41066 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41067 to HOOK.
41068 All callers changed.
41069
41070 * kern/disk.c (grub_print_partinfo): Removed.
41071
41072 * include/grub/partition.h (struct grub_partition_map): Add a new
41073 argument DISK into HOOK of ITERATE.
41074 (grub_partition_iterate): Add a new argument DISK to HOOK.
41075
41076 * include/grub/normal.h (enum grub_completion_type): New enum.
41077 (grub_completion_type_t): New type.
41078 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41079 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41080 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41081 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41082 (grub_normal_do_completion): Added a new argument HOOK.
41083 (grub_normal_print_device_info): New prototype.
41084
41085 * include/grub/disk.h (grub_print_partinfo): Removed.
41086
41087 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41088 (normal_mod_SOURCES): Likewise.
41089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41090 (normal_mod_SOURCES): Likewise.
41091
41092 * commands/ls.c (grub_ls_list_disks): Use
41093 grub_normal_print_device_info instead of grub_print_partinfo. Free
41094 PNAME.
41095 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41096 duplicating the code.
41097
0bd41162 410982005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41099
41100 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41101 follow GCS more precisely.
41102 * commands/i386/pc/vbe_test.c: Likewise.
41103 * include/grub/i386/pc/vbe.h: Likewise.
41104 * term/i386/pc/vesafb.c: Likewise.
41105 * video/i386/pc/vbe.c: Likewise.
0bd41162 41106
6323696a 411072005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41108
41109 * DISTLIST: Added term/i386/pc/vesafb.c
41110 DISTLIST: Added video/i386/pc/vbe.c
41111 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41112 DISTLIST: Added commands/i386/pc/vbe_test.c.
41113 * commands/i386/pc/vbe_list_modes.c: New file.
41114 * commands/i386/pc/vbe_test.c: Likewise.
41115 * term/i386/pc/vesafb.c: Likewise.
41116 * video/i386/pc/vbe.c: Likewise.
41117 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41118 (grub_vbe_probe) Added prototype.
41119 (grub_vbe_set_video_mode) Likewise.
41120 (grub_vbe_get_video_mode) Likewise.
41121 (grub_vbe_get_video_mode_info) Likewise.
41122 (grub_vbe_set_pixel_rgb) Likewise.
41123 (grub_vbe_set_pixel_index) Likewise.
41124 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41125 (pkgdata_MODULES): Added vesafb.mod.
41126 (pkgdata_MODULES): Added vbe_list_modes.mod.
41127 (pkgdata_MODULES): Added vbe_test.mod.
41128 (vbe_mod_SOURCES): Added.
41129 (vbe_mod_CFLAGS): Likewise.
41130 (vesafb_mod_SOURCES): Likewise.
41131 (vesafb_mod_CFLAGS): Likewise.
41132 (vbe_list_modes_mod_SOURCES): Likewise.
41133 (vbe_list_modes_mod_CFLAGS): Likewise.
41134 (vbe_test_mod_SOURCES): Likewise.
41135 (vbe_test_mod_CFLAGS): Likewise.
41136
0a74e62f 411372005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41138
0a74e62f 41139 * normal/command.c (grub_command_execute): If INTERACTIVE is
41140 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41141 CMDLINE. Disable the pager if INTERACTIVE is true.
41142 All callers are changed.
41143
41144 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41145 before reading a config file.
41146 * normal/main.c (read_config_file): Even if a command is not
41147 found, register it if it is within an entry.
41148
41149 * util/grub-emu.c: Include sys/types.h and unistd.h.
41150 (options): Added --hold.
41151 (struct arguments): Added a new member "hold".
41152 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41153 missing.
41154 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41155 cleared by a debugger, if it is not zero.
41156
41157 * include/grub/normal.h (grub_command_execute): Add an argument
41158 INTERACTIVE.
41159
e51f85ae 411602005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41161
41162 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41163
e9c6f39b 411642005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41165
41166 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41167 program with another one, because the old one didn't detect a bug
41168 in gcc-3.4. Always use regparm 2, because the new test is still
41169 not enough for gcc-4.0. Someone must investigate a simple test
41170 case which detects a bug in gcc-4.0.
41171
8de3495c 411722005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41173
41174 * DISTLIST: Added normal/completion.c.
41175
41176 * normal/completion.c: New file.
f19dbdb7 41177
8de3495c 41178 * term/i386/pc/console.c (grub_console_getwh): New function.
41179 (grub_console_term): Assign grub_console_getwh to getwh.
41180
41181 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41182 function is defined in normal/completion.c as
41183 grub_normal_do_completion.
41184 (grub_cmdline_get): Use grub_normal_do_completion instead of
41185 grub_tab_complete.
41186
41187 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41188 returns non-zero, otherwise return 0.
41189 (grub_partition_iterate): First, probe the partition map. Then,
41190 call ITERATE only for this partition map.
41191
41192 * kern/misc.c (grub_strncmp): Rewritten.
41193
41194 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41195 returns non-zero. Otherwise return 0.
41196
41197 * include/grub/partition.h (grub_partition_map_iterate): Return
41198 int instead of void.
41199
41200 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41201
41202 * include/grub/misc.h (grub_strncmp): Change the type of N to
41203 grub_size_t.
41204
41205 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41206 of void.
41207
41208 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41209 unsigned explicitly before comparing it with I.
8de3495c 41210
41211 * kern/main.c (grub_env_write_root): Add the attribute unused into
41212 VAR.
41213
41214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41215 normal/completion.c.
41216 (normal_mod_SOURCES): Likewise.
41217 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41218 (normal_mod_SOURCES): Likewise.
41219
41220 * normal/command.c (grub_iterate_commands): If ITERATE returns
41221 non-zero, return one immediately.
41222
e85e144b 412232005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41224
41225 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41226 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41227 descriptions.
41228 (grub_vbe_get_controller_info): New function.
41229 (grub_vbe_get_mode_info): Likewise.
41230 (grub_vbe_set_mode): Likewise.
41231 (grub_vbe_get_mode): Likewise.
41232 (grub_vbe_set_memory_window): Likewise.
41233 (grub_vbe_get_memory_window): Likewise.
41234 (grub_vbe_set_scanline_length): Likewise.
41235 (grub_vbe_get_scanline_length): Likewise.
41236 (grub_vbe_set_display_start): Likewise.
41237 (grub_vbe_get_display_start): Likewise.
41238 (grub_vbe_set_palette_data): Likewise.
41239 * include/grub/i386/pc/vbe.h: New file.
41240
c46153d2 412412005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41242
41243 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41244 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41245 * DISTLIST: Likewise.
41246 * kern/ieee1275/of.c: Moved to ...
41247 * kern/ieee1275/ieee1275.c: ... here.
41248
0cb90c45 412492005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41250
41251 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41252 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41253 Pass 0 as `end' parameter to grub_strtoul().
41254
a19fb360 412552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41256
41257 * include/grub/powerpc/ieee1275/console.h: Do not include
41258 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41259 ifdef.
41260 (grub_console_cur_color): Remove i386-specific prototype.
41261 (grub_console_real_putchar): Likewise.
41262 (grub_console_checkkey): Likewise.
41263 (grub_console_getkey): Likewise.
41264 (grub_console_getxy): Likewise.
41265 (grub_console_gotoxy): Likewise.
41266 (grub_console_cls): Likewise.
41267 (grub_console_setcursor): Likewise.
41268 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41269 Include <grub/machine/console.h>.
41270 * term/ieee1275/ofconsole.c: Likewise.
41271
4ac9bd04 412722005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41273
41274 * Makefile.in (LIBLZO): New variable.
41275
41276 * configure.ac: Check for LZO version 2.
41277
41278 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41279 lzo/lzo1x.h instead of lzo1x.h.
41280
41281 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41282 of -llzo.
41283
41284 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41285 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41286
41287 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41288 copying the data from PARTITION to P.
41289
f4917dfd 412902005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41291
41292 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41293 negative, unload the module.
41294
41295 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41296 map is "pc_partition_map" but not "pc".
41297 (usage): Fix the description. The options are --boot-image and
41298 --core-image but not --boot-file or --core-file.
41299 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41300 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41301 DEFAULT_DIRECTORY.
41302
41303 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41304 --core-file. Specify INSTALL_DEVICE as an argument.
41305
41306 * util/console.c: Include config.h.
41307 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41308 [HAVE_NCURSES_H]: Include ncurses.h.
41309 [HAVE_CURSES_H]: Include curses.h.
41310 [!A_NORMAL] (A_NORMAL): Defined as zero.
41311 [!A_STANDOUT] (A_STANDOUT): Likewise.
41312
41313 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41314 -lncurses.
41315 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41316
41317 * configure.ac: Check for curses libraries and headers.
41318
41319 * Makefile.in (LIBCURSES): New variable.
41320
41321 * genmk.rb (Script::rule): Set the executable bits.
41322
41323 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41324 name of the PC partition map is "pc_partition_map" but not "pc".
41325
0e143073 413262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41327
41328 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41329 (modules): Likewise.
41330 (usage): Added descriptions for --modules and --grub-probefs.
41331 Handle --modules and --grub-probefs. Save the arguments in MODULES
41332 and GRUB_PROBEFS, respectively.
41333 Auto-detect a filesystem module against GRUBDIR. If the result is
41334 empty and modules are not specified explicitly, abort the
41335 installation. Add the result to MODULES.
41336
41337 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41338 disk/powerpc/ieee1275/ofdisk.c,
41339 include/grub/powerpc/ieee1275/init.h and
41340 term/powerpc/ieee1275/ofconsole.c.
41341 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41342 term/ieee1275/ofconsole.c.
41343
41344 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41345
41346 * COPYING: Upgraded to the latest version. Only the address of the
41347 FSF office has changed.
f19dbdb7 41348
efd6e6d5 413492005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41350
41351 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41352 kern/ieee1275.c with kern/ieee1275/of.c.
41353
41354 * kern/ieee1275.c: Moved to ...
41355 * kern/ieee1275/of.c: ... here.
41356
8ceafda2 413572005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41358
41359 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41360 readability.
8ceafda2 41361
41362 * config.guess: Updated to the latest version from gnulib.
41363 * config.sub: Likewise.
41364 * install.sh: Likewise.
41365 * mkinstalldirs: Likewise.
41366
41367 * include/grub/console.h: Removed. This file is arch-specific. Do
41368 not put this in include/grub.
41369
41370 * include/grub/i386/pc/console.h: Resurrected.
41371
41372 * util/console.c: Include grub/machine/console.h instead of
41373 grub/console.h.
41374 * util/grub-emu.c: Likewise.
41375
267f6cd9 413762005-08-04 Marco Gerards <metgerards@student.han.nl>
41377
41378 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41379 hardcoded value.
f19dbdb7 41380
267f6cd9 41381 From Vincent Pelletier <subdino2004@yahoo.fr>
41382 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41383 Redefined to use grub_getwh.
41384 (grub_term): New member named getwh.
41385 (grub_getwh): New prototype.
41386 * kern/term.c (grub_getwh): New function.
41387 * term/i386/pc/console.c (grub_console_getwh): New function.
41388 (grub_console_term): New member `getwh'.
41389 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41390 (grub_vga_term): New member `getwh'.
0b5abe02 41391 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41392 grub_ssize_t.
41393 (grub_ofconsole_getw): New function.
41394 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41395 (grub_ofconsole_term): New field named getwh and new initial
41396 value.
41397
3be7266d 413982005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41399
41400 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41401 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41402 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41403 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41404 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41405 of <grub/machine/ieee1275.h>.
41406 * commands/ieee1275/reboot.c: Likewise.
41407 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41408 * kern/ieee1275.c: ... to here. All users updated. Change all
41409 parameter structs to use new type `grub_ieee1275_cell_t'.
41410 * term/powerpc/ieee1275/ofconsole.c: Move ...
41411 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41412 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41413 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41414 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41415 to return int.
41416 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41417 Remove unused prototypes. All users updated.
41418 * include/grub/powerpc/ieee1275/console.h: Removed.
41419 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41420 `grub_ieee1275_cell_t'.
41421 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41422 Cast comparisons with -1 to the correct type.
41423 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41424 type to match `grub_ieee1275_entry_fn'.
41425
8b5f3938 414262005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41427
41428 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41429
41430 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41431 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41432 partmap/sun.c.
41433 (grub_probefs_SOURCES): New variable.
41434
41435 * util/i386/pc/grub-probefs.c: New file.
41436
41437 * util/i386/pc/grub-setup.c (main): Call
41438 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41439 grub_hfs_init and grub_jfs_init to initialize the system. Call
41440 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41441 grub_pc_partition_map_fini to finish the system.
41442
ea409713 414432005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41444
41445 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41446 function.
41447 (grub_multiboot_load_elf32): Likewise.
41448 (grub_multiboot_is_elf64): Likewise.
41449 (grub_multiboot_load_elf64): Likewise.
41450 (grub_multiboot_load_elf): Likewise.
41451 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41452 an ELF32 or ELF64 file.
41453 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41454
41455 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41456 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41457 NULL before calling FS->LABEL.
41458 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41459 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41460 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41461 before calling FS->LABEL.
41462
141a288b 414632005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41464
41465 * util/i386/pc/grub-install.in (datadir): New variable.
41466 (libdir): Removed.
41467 (pkgdatadir): New variable.
41468 (pkglibdir): Removed.
41469
0d5f8a54 414702005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41471
41472 * DISTLIST: Added util/i386/pc/grub-install.in.
41473
41474 * util/i386/pc/grub-install.in: New file.
41475
41476 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41477 (grub_install_SOURCES): Likewise.
41478
41479 * genmk.rb: Added support for scripts.
41480 (Script): New class.
41481 (scripts): New variable.
41482
41483 * Makefile.in (install-local): Install sbin_SCRIPTS by
41484 INSTALL_SCRIPT.
41485 (uninstall): Remove sbin_SCRIPTS.
41486
41487 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41488 device, try to get a GRUB device by
41489 grub_util_biosdisk_get_grub_dev.
41490 Free DEST_DEV.
41491
41492 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41493 description for --device-map.
41494
5f968e1e 414952005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41496
41497 Change the semantics of variable hooks. They now return strings
41498 instead of error values.
f19dbdb7 41499
5f968e1e 41500 * util/i386/pc/grub-setup.c: Include grub/env.h.
41501 (setup): Use grub_device_set_root instead of grub_env_set.
41502
41503 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41504 grub_env_get instead of grub_device_set_root and
41505 grub_device_get_root, respectively.
41506
41507 * kern/main.c (grub_env_write_root): New function.
41508 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41509 grub_env_set instead of grub_device_set_root.
41510
41511 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41512 many variables.
41513 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41514 rather than calling ENV->WRITE_HOOK afterwards.
41515 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41516 passing a pointer of a pointer.
41517 (grub_register_variable_hook): Change the types of "read_hook" and
41518 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41519 respectively.
41520 Allocate the default empty string on the heap, because this string
41521 may be freed later.
41522
41523 * kern/device.c: Include grub/env.h.
41524 (grub_device_set_root): Removed.
41525 (grub_device_get_root): Likewise.
41526 (grub_device_open): Use grub_env_get instead of
41527 grub_device_get_root.
41528
41529 * include/grub/env.h (grub_env_read_hook_t): New type.
41530 (grub_env_write_hook_t): Likewise.
41531 (grub_env_var): Change the types of "read_hook" and "write_hook"
41532 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41533 (grub_register_variable_hook): Likewise.
41534
41535 * include/grub/device.h (grub_device_set_root): Removed.
41536 (grub_device_set_root): Likewise.
41537
41538 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41539 make sure that DIRNAME terminates with '/', so that
41540 grub_fat_find_dir will fail if PATH is not a directory.
41541
41542 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41543 from DIRNAME.
41544 Use the qualifier auto for print_files and print_files_long.
41545 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41546 as a regular file.
41547 Put a newline only if there is no error.
41548 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41549 used.
41550
896f0afd 415512005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41552
41553 * kern/partition.c (grub_partition_probe): Initialize PART to
41554 NULL. Otherwise, when no partition map is registered, this returns
41555 a garbage.
41556
b28b81b2 415572005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41558
41559 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41560 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41561 valid.
41562
5f3607e0 415632005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41564
41565 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41566 information on each device, if it does not have partitions. Print
41567 "Device" instead of "Disk", because this function is not specific
41568 to disk devices.
41569
41570 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41571 static to ensure that it is put on the memory rather than a
41572 register.
41573
502c87e8 415742005-07-17 Yoshinori Okuji <okuji@enbug.org>
41575
41576 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41577 (grub_cat_init): Likewise.
41578 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41579 (options): Likewise.
41580 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41581 (grub_configfile_init): Likewise.
41582 * font/manager.c (GRUB_MOD_INIT): Likewise.
41583 * commands/help.c (GRUB_MOD_INIT): Likewise.
41584 (grub_help_init): Likewise.
41585 * normal/command.c (grub_command_init): Likewise.
41586 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41587 * disk/loopback.c (grub_loop_init): Likewise.
41588 (GRUB_MOD_INIT): Likewise.
41589 * commands/ls.c (grub_ls_init): Likewise.
41590 (GRUB_MOD_INIT): Likewise.
41591 (options): Likewise.
41592 * commands/boot.c (grub_boot_init): Likewise.
41593 (GRUB_MOD_INIT): Likewise.
41594 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41595 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41596 (GRUB_MOD_INIT): Likewise.
41597 * commands/cmp.c (grub_cmp_init): Likewise.
41598 (GRUB_MOD_INIT): Likewise.
41599
41600 * normal/arg.c: Use <> instead of "" to include header files.
41601 (SHORT_ARG_HELP): New macro.
41602 (SHORT_ARG_USAGE): Likewise.
41603 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41604 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41605 descriptions.
41606 (find_short): Check if C is 'h' or 'u' explicitly.
41607 (grub_arg_show_help): Use space characters instead of tabs. Treat
41608 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41609 are shown with --help and --usage only if they are not used for
41610 the command itself.
41611 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41612 'h' and 'u'.
41613
41614 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41615 const into "longarg". Change the type of "shortarg" to int.
41616
f806d18e 416172005-07-17 Yoshinori Okuji <okuji@enbug.org>
41618
41619 * boot/i386/pc/boot.S (boot_drive_check): New label.
41620
41621 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41622 macro.
41623
41624 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41625 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41626
e293232b 416272005-07-17 Yoshinori Okuji <okuji@enbug.org>
41628
41629 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41630 When turning off Gate A20, skip the check and return immediately,
41631 because this is not fatal usually.
41632
ebedfd00 416332005-07-17 Yoshinori Okuji <okuji@enbug.org>
41634
41635 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41636 be 0x7C00 instead of 0x8000.
41637
41638 * boot/i386/pc/pxeboot.S: Rewritten.
41639
41640 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41641 EXT_C.
41642 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41643 result.
41644
654fc59f 416452005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41646
41647 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41648 robustness. This routine now supports a BIOS call and System
41649 Control Port A to modify the gate A20.
41650
41651 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41652 Increased to 0x440.
41653
09f9923f 416542005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41655
41656 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41657 device path and resulting ihandle.
41658 (grub_ofdisk_close): dprintf the ihandle being closed.
41659 (grub_ofdisk_read): dprintf function parameters.
41660 * kern/mm.c (grub_mm_init_region): Likewise.
41661 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41662 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41663 size, and boot arguments.
41664 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41665 before loading into memory.
41666 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41667 before loading into memory.
41668
7ef504d8 416692005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41670
41671 * kern/mm.c: Added much documentation.
41672 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41673 8, set to 5 instead of 8.
41674
e0f050c2 416752005-07-10 Yoshinori Okuji <okuji@enbug.org>
41676
41677 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41678
41679 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41680 (grub_mkdevicemap_SOURCES): New variable.
41681
41682 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41683 lib/device.c of GRUB Legacy.
41684
7224189a 416852005-07-10 Yoshinori Okuji <okuji@enbug.org>
41686
41687 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41688 instead of PATH is NULL.
41689
68c864eb 416902005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41691
41692 * commands/cmp.c (BUFFER_SIZE): New macro.
41693 (grub_cmd_cmp): Close the right file at the right time. Compare
41694 only data just read. Don't report files of different size as
41695 identical. Dynamically allocate buffers. Move variable
41696 declarations at the beginning of function.
41697
e6f3e614 416982005-07-09 Yoshinori Okuji <okuji@enbug.org>
41699
41700 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41701 reverse.
41702
f8f1559a 417032004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41704
41705 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41706 when backspace is pressed at beginning of line.
41707
39c9d41d 417082005-07-03 Yoshinori Okuji <okuji@enbug.org>
41709
41710 * DISTLIST: Added genfslist.sh.
41711
41712 * normal/main.c (fs_module_list): New variable.
41713 (autoload_fs_module): New function.
41714 (read_fs_list): Likewise.
41715 (grub_normal_execute): Call read_fs_list.
41716
41717 * kern/fs.c (grub_fs_autoload_hook): New variable.
41718 (grub_fs_probe): Added support for auto-loading.
41719
41720 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41721 (grub_fs_module_list_t): New type.
41722
41723 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41724 (grub_fs_autoload_hook): New prototype.
41725
41726 * genfslist.sh: New file.
f19dbdb7 41727
39c9d41d 41728 * genmk.rb: Added a rule to generate a filesystem list.
41729
121c1d83 417302005-06-30 Marco Gerards <metgerards@student.han.nl>
41731
41732 * configure.ac: Fix the test for cross-compiling.
41733
41734 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41735 define GRUB_UTIL anymore.
41736
41737 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41738 so this function works on other systems than just big endian.
41739 (load_modules): Likewise.
41740 (add_segments): Likewise.
41741
e75d76e1 417422005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41743
41744 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41745 contains `l' modifier, get a long from va_arg().
41746
50b5a0a7 417472005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41748
41749 * kern/mm.c (grub_free): If the next free block which is being
41750 merged is the first free block, set the first block to the block
41751 being freed.
41752 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41753
89371b20 417542005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41755
41756 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41757 `grub_ieee1275_chosen'.
41758
168d6e58 417592005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41760
41761 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41762 (grub_ieee1275_chosen): New variable.
41763 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41764 `chosen'.
41765 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41766 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41767 Rename first argument to `phandle' for consistency.
41768 (grub_ieee1275_get_property_length): Likewise.
41769 (grub_ieee1275_next_property): Likewise. Change type of first argument
41770 to grub_ieee1275_phandle_t.
41771 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41772 Move export next to declaration.
41773 (grub_ieee1275_chosen): New variable.
41774 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41775 Correct cosmetic typo.
41776 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41777 `grub_ieee1275_chosen'.
41778 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41779 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41780 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41781 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41782 `grub_ieee1275_chosen'.
41783
ca5baa3f 417842005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41785
41786 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41787 /chosen/bootargs.
41788 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41789 /chosen/bootargs as "variable=value" pairs.
41790
708b345f 417912005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41792
41793 * include/grub/misc.h (grub_dprintf): New macro.
41794 (grub_real_dprintf): New prototype.
41795 (grub_strword): Likewise.
41796 (grub_iswordseparator): Likewise.
41797 * kern/misc.c (grub_real_dprintf): New function.
41798 (grub_strword): Likewise.
41799 (grub_iswordseparator): Likewise.
41800
f4c5e67c 418012005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41802
41803 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41804 (roundup): Remove macro.
41805 (grub_ieee1275_flags): Make static.
41806 (grub_ieee1275_realmode): Remove.
41807 (grub_ieee1275_test_flag): New function.
41808 (grub_ieee1275_set_flag): Likewise.
41809 (find_options): Rename to `grub_ieee1275_find_options'; update
41810 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41811 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41812 (cmain): New prototype.
41813 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41814 `grub_ieee1275_flags' directly.
41815 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41816 machine/biosdisk.h.
41817 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41818 Don't include grub/machine/init.h.
41819 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41820 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41821 Remove prototype.
41822 (grub_ieee1275_realmode): Likewise.
41823 (grub_ieee1275_flag): New enum.
41824 (grub_ieee1275_test_flag): New prototype.
41825 (grub_ieee1275_set_flag): New prototype.
41826 * include/grub/powerpc/ieee1275/init.h: Remove file.
41827 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41828 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41829 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41830 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41831 comment.
41832 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41833 `grub_ieee1275_test_flag'.
41834 (grub_ieee1275_encode_devname): Likewise.
41835
ed16607e 418362005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41837
41838 * include/grub/powerpc/ieee1275/ieee1275.h
41839 (grub_ieee1275_encode_devname): New prototype.
41840 (grub_ieee1275_get_filename): Likewise.
41841 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41842 function.
41843 (grub_set_prefix): Likewise.
41844 (grub_machine_init): Call grub_set_prefix.
41845 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41846 (grub_parse_type): New enum.
41847 (grub_ieee1275_get_devargs): New function.
41848 (grub_ieee1275_get_devname): Likewise.
41849 (grub_ieee1275_parse_args): Likewise.
41850 (grub_ieee1275_get_filename): Likewise.
41851 (grub_ieee1275_encode_devname): Likewise.
41852
be369920 418532005-03-30 Marco Gerards <metgerards@student.han.nl>
41854
41855 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41856 `grub_loader_unset'.
41857
a5ce3a4a 418582005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41859
41860 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41861 instead of grub_ieee1275_interpret.
41862 (grub_halt_init): New function.
41863 (grub_halt_fini): Likewise.
41864 (GRUB_MOD_INIT): Correct message grammar.
41865 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41866 instead of grub_ieee1275_interpret.
41867 (grub_reboot_init): New function.
41868 (grub_reboot_fini): Likewise.
41869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41870 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41871 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41872 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41873 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41874 function.
41875 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41876 Add prototype.
41877 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41878 prototype.
41879 (grub_halt): Likewise.
41880 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41881 (cmain): Remove __attribute__((unused)).
41882 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41883 (grub_heap_len): Likewise.
41884 (grub_machine_fini): New function.
41885 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41886 (grub_halt): Likewise.
41887 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41888 function.
41889 * util/powerpc/ieee1275/misc.c: New file.
41890
0058f771 418912005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41892
41893 * DISTLIST: New file.
41894 * gendistlist.sh: Likewise.
f19dbdb7 41895
0058f771 41896 * Makefile.in (COMMON_DISTFILES): Removed.
41897 (BOOT_DISTFILES): Likewise.
41898 (CONF_DISTFILES): Likewise.
41899 (DISK_DISTFILES): Likewise.
41900 (FS_DISTFILES): Likewise.
41901 (INCLUDE_DISTFILES): Likewise.
41902 (KERN_DISTFILES): Likewise.
41903 (LOADER_DISTFILES): Likewise.
41904 (TERM_DISTFILES): Likewise.
41905 (UTIL_DISTFILES): Likewise.
41906 (DISTFILES): Likewise.
41907 (uninstall): Uninstall files in $(pkgdata_DATA).
41908 (DISTLIST): New target.
41909 (distdir): Use the contents of the file DISTLIST to get a list of
41910 distributed files.
41911
46b3b8a5 419122005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41913
41914 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41915 descriptor. This is ported from GRUB Legacy.
41916
41917 * gencmdlist.sh: Added an extra semicolon to make it work with
41918 old sed versions. Reported by Robert Bihlmeyer
41919 <robbe@orcus.priv.at>.
41920
5822ff87 419212005-03-08 Yoshinori Okuji <okuji@enbug.org>
41922
41923 Automatic loading of commands is supported.
f19dbdb7 41924
5822ff87 41925 * normal/main.c (read_command_list): New function.
41926 (grub_normal_execute): Call read_command_list.
41927
41928 * normal/command.c (grub_register_command): Return zero or CMD.
41929 Allocate CMD->NAME from the heap.
41930 Initialize CMD->MODULE_NAME to zero.
41931 Find the same name as well. If the same command is found and it is
41932 a dummy command, overwrite members. If it is not a dummy command,
41933 return zero.
41934 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41935 (grub_command_find): If a dummy command is found, load a module
41936 and retry to find a command only once.
41937
41938 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41939 make sure that each command is loaded.
41940
41941 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41942 macro.
41943 (struct grub_command): Remove const from the member `name'.
41944 Add a new member `module_name'.
41945 (grub_register_command): Return grub_command_t.
41946
41947 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41948 sure that each command is loaded.
41949
41950 * genmk.rb (PModule::rule): Specify a module name without the
41951 suffix ".mod" to gencmdlist.sh.
41952
7b1f4b57 419532005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41954
41955 * gencmdlist.sh: New file.
f19dbdb7 41956
7b1f4b57 41957 * genmk.rb (PModule::rule): Generate a rule for a command list.
41958 Clean command.lst.
41959 Generate command.lst from $(COMMANDFILES).
41960
41961 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41962 (DATA): Added $(pkgdata_DATA).
41963 (install-local): Install files in $(pkgdata_DATA).
41964
062aaf39 419652005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41966
41967 * term/i386/pc/vga.c (debug_command): Removed.
41968 (GRUB_MOD_INIT): Do not register the command "debug".
41969
41970 From Hollis Blanchard:
41971 * commands/configfile.c: New file.
41972 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41973 commands/configfile.c.
41974 (pkgdata_MODULES): Added configfile.mod.
41975 (configfile_mod_SOURCES): New variable.
41976 (configfile_mod_CFLAGS): Likewise.
41977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41978 commands/configfile.c.
41979 (pkgdata_MODULES): Added configfile.mod.
41980 (configfile_mod_SOURCES): New variable.
41981 (configfile_mod_CFLAGS): Likewise.
41982 * util/grub-emu.c (main): Call grub_configfile_init and
41983 grub_configfile_fini.
41984 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41985 prototype.
41986 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41987
cee01aa6 419882005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41989
41990 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41991 address.
41992
41993 * commands/help.c (grub_cmd_help): Do not print newlines after
41994 the last command in print_command_help.
41995
93f3a1d8 419962005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41997
41998 * commands/default.h: New file.
41999 * commands/timeout.h: Likewise.
42000 * normal/context.c: Likewise.
f19dbdb7 42001
93f3a1d8 42002 * util/misc.c: Do not include sys/times.h.
42003 Include sys/time.h and grub/machine/time.h.
42004 (grub_get_rtc): Rewritten with gettimeofday.
42005
42006 * util/grub-emu.c (main): Call grub_default_init and
42007 grub_timeout_init before grub_normal_init, and call
42008 grub_timeout_fini and grub_default_fini after grub_main.
42009
42010 * util/console.c (grub_ncurses_checkkey): Return the read
42011 character or -1.
42012
42013 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42014 timeouts.
42015
42016 * normal/main.c (read_config_file): Push MENU. If this fails,
42017 print an error and wait for a user input.
42018 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42019 If a menu is empty or an error occurs, pop MENU.
42020 (grub_normal_execute): Pop and free MENU after grub_menu_run
42021 returns.
42022
42023 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42024
42025 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42026 include time.h.
42027 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42028 without GRUB_UTIL.
42029 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42030 time.h.
42031 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42032 without GRUB_UTIL.
42033
42034 * include/grub/normal.h (struct grub_menu_list): New struct.
42035 (grub_menu_list_t): New type.
42036 (struct grub_context): New struct.
42037 (grub_context_t): New type.
42038 (grub_register_command): Got rid of EXPORT_FUNC.
42039 (grub_unregister_command): Likewise.
42040 (grub_context_get): New prototype.
42041 (grub_context_get_current_menu): Likewise.
42042 (grub_context_push_menu): Likewise.
42043 (grub_context_pop_menu): Likewise.
42044 [GRUB_UTIL] (grub_default_init): Likewise.
42045 [GRUB_UTIL] (grub_default_fini): Likewise.
42046 [GRUB_UTIL] (grub_timeout_init): Likewise.
42047 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42048
42049 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42050 commands/timeout.c and normal/context.c.
42051 (pkgdata_MODULES): Added default.mod and timeout.mod.
42052 (normal_mod_SOURCES): Added normal/context.c.
42053 (default_mod_SOURCES): New variable.
42054 (default_mod_CFLAGS): Likewise.
42055 (timeout_mod_SOURCES): Likewise.
42056 (timeout_mod_CFLAGS): Likewise.
42057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42058 conf/i386-pc.rmk.
42059 (pkgdata_MODULES): Added default.mod and timeout.mod.
42060 (normal_mod_SOURCES): Added normal/context.c.
42061 (default_mod_SOURCES): New variable.
42062 (default_mod_CFLAGS): Likewise.
42063 (timeout_mod_SOURCES): Likewise.
42064 (timeout_mod_CFLAGS): Likewise.
42065
42066 * Makefile.in (all-local): Added $(MKFILES).
42067
4ed2e1dd 420682005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42069
42070 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42071 (grub_emu_SOURCES): Likewise.
42072 (pkgdata_MODULES): Add `sun.mod'.
42073 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42075 `partmap/sun.c'.
42076 (pkgdata_MODULES): Add `sun.mod'.
42077 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42078 * include/grub/partition.h (grub_sun_partition_map_init): New
42079 prototype.
42080 (grub_sun_partition_map_fini): Likewise.
42081 * partmap/sun.c: New file.
42082 * util/grub-emu.c (main): Initialize and de-initialize the sun
42083 partitionmap support.
42084
4d4e372e 420852005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42086
42087 This implements an Emacs-like menu entry editor.
f19dbdb7 42088
4d4e372e 42089 * normal/menu_entry.c: New file.
f19dbdb7 42090
4d4e372e 42091 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42092 characters to ASCII.
42093 (saved_char): New variable.
42094 (grub_ncurses_checkkey): Rewritten completely.
42095 (grub_ncurses_getkey): Likewise.
42096 (grub_ncurses_init): Call raw instead of cbreak.
42097
42098 * normal/menu.c (print_entry): Do not put a space.
42099 (init_page): Renamed to ...
42100 (grub_menu_init_page): ... this. All callers changed.
42101 (edit_menu_entry): Removed.
42102 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42103
42104 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42105
42106 * kern/misc.c (grub_vprintf): Call grub_refresh.
42107
42108 * normal/menu.c (DISP_LEFT): Renamed to ...
42109 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42110 * normal/menu.c (DISP_UP): Renamed to ...
42111 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42112 * normal/menu.c (DISP_RIGHT): Renamed to ...
42113 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42114 * normal/menu.c (DISP_DOWN): Renamed to ...
42115 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42116 * normal/menu.c (DISP_HLINE): Renamed to ...
42117 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42118 * normal/menu.c (DISP_VLINE): Renamed to ...
42119 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42120 * normal/menu.c (DISP_UL): Renamed to ...
42121 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42122 * normal/menu.c (DISP_UR): Renamed to ...
42123 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42124 * normal/menu.c (DISP_LL): Renamed to ...
42125 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42126 * normal/menu.c (DISP_LR): Renamed to ...
42127 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42128 * normal/menu.c (TERM_WIDTH): Renamed to ...
42129 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42130 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42131 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42132 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42133 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42134 * normal/menu.c (TERM_MARGIN): Renamed to ...
42135 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42136 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42137 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42138 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42139 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42140 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42141 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42142 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42143 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42144 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42145 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42146 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42147 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42148 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42149 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42150 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42151 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42152 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42153 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42154 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42155 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42156 All callers changed.
42157
42158 * include/grub/normal.h: New prototype.
42159
42160 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42161 normal/menu_entry.c.
42162 (normal_mod_SOURCES): Likewise.
42163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42164 (normal_mod_SOURCES): Likewise.
42165
e6b92c8a 421662005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42167
42168 * include/grub/normal.h (grub_halt_init): New prototype.
42169 (grub_halt_fini): Likewise.
42170 (grub_reboot_init): Likewise.
42171 (grub_reboot_fini): Likewise.
42172
42173 * util/grub-emu.c: Include signal.h.
42174 (main_env): New global variable.
42175 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42176 catch C-c.
42177 (grub_machine_fini): New function.
42178 (main): Call grub_halt_init and grub_reboot_init before
42179 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42180 Call setjmp with MAIN_ENV to go back afterwards.
42181 Call grub_machine_fini right before return.
42182
42183 * include/grub/util/misc.h: Include setjmp.h.
42184 (main_env): New prototype.
42185
42186 * include/grub/kernel.h (grub_machine_fini): New prototype.
42187 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42188 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42189
42190 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42191 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42192 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42193
e6b92c8a 42194 * util/i386/pc/misc.c: New file.
f19dbdb7 42195
e6b92c8a 42196 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42197 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42198 commands/i386/pc/reboot.c.
42199
c642636f 422002005-02-14 Guillem Jover <guillem@hadrons.org>
42201
42202 * include/grub/dl.h (grub_dl_check_header): New prototype.
42203 (grub_arch_dl_check_header): Change return type to grub_err_t,
42204 remove size parameter and export function. Update all callers.
42205 * kern/dl.c (grub_dl_check_header): New function.
42206 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42207 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42208 are inside the core.
42209 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42210 independent ELF header checks.
42211 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42212 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42213 `grub_dl_check_header' instead of explicit checks. Check for the
42214 ELF type.
42215 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42216 `grub_dl_check_header' instead of explicit checks. Remove arch
42217 specific ELF header checks.
42218
e6b92c8a 42219 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42220 argument SIZE.
42221
5eabe94b 422222005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42223
42224 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42225 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42226
1b14a681 422272005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42228
42229 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42230 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42231 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42232 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42233 * partmap/amiga.c (amiga_partition_map_iterate): Return
42234 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42235 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42236
aca108aa 422372005-02-01 Guillem Jover <guillem@hadrons.org>
42238
42239 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42240 help info.
42241
c9f9c556 422422005-01-31 Marco Gerards <metgerards@student.han.nl>
42243
42244 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42245 Removed prototype.
42246 (grub_rescue_cmd_linux): New prototype.
42247 (grub_rescue_cmd_initrd): Likewise.
42248 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42249 `bi_rec'.
42250 (grub_linux_release_mem): Release the memory for the initrd.
42251 (grub_load_linux): Renamed from this...
42252 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42253 Changed `entry' not to be static. Loop over memory regions to
42254 find another one when the default fails.
42255 (grub_rescue_cmd_initrd): New function.
42256 (grub_linux_init): Remove function.
42257 (grub_linux_fini): Likewise.
42258 (GRUB_MOD_INIT): Register `initrd'.
42259 (GRUB_MOD_FINI): Unregister `initrd'.
42260 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42261 Function removed.
42262 (grub_linux_normal_fini): Likewise.
42263 (GRUB_MOD_INIT): Register `initrd'.
42264 (GRUB_MOD_FINI): Unregister `initrd'.
42265
990cf3aa 422662005-01-31 Marco Gerards <metgerards@student.han.nl>
42267
42268 * commands/help.c: New file.
42269 * normal/arg.c (show_help): Renamed to...
42270 (grub_arg_show_help): ... this.
42271 * commands/i386/pc/halt.c: New file.
42272 * commands/i386/pc/reboot.c: Likewise.
42273 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42274 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42275 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42276 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42277 variables.
42278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42279 `commands/help.c'.
42280 (pkgdata_MODULES): Add `help.mod'.
42281 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42282 * grub/i386/pc/init.h (grub_reboot): New prototype.
42283 (grub_halt): Likewise.
42284 * include/grub/normal.h (grub_arg_show_help): New prototype.
42285 (grub_help_init): Likewise.
42286 (grub_help_fini): Likewise.
42287 * util/grub-emu.c (main): Initialize and deinitialize the help
42288 command.
42289
42290 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42291
42292 * normal/command.c (grub_command_init): Fixed the description of
42293 the `set' and `unset' commands.
42294
422952005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42296
42297 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42298 function.
42299 * commands/ieee1275/halt.c: New file.
42300 * commands/ieee1275/reboot.c: Likewise.
42301 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42302 `__attribute__ ((unused))'. Some GCS related fixed.
42303 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42304 (grub_suspend_fini): Likewise.
42305 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42306 and `halt.mod'.
42307 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42308 (halt_mod_CFLAGS): New variables.
42309 * include/grub/powerpc/ieee1275/ieee1275.h
42310 (grub_ieee1275_interpret): New prototype.
42311
1ab09cc7 423122005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42313
42314 * include/grub/misc.h (memmove): New prototype.
42315 (memcpy): Likewise.
42316
8b8cbdb2 423172005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42318
42319 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42320 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42321
e3741a27 423222005-01-22 Marco Gerards <metgerards@student.han.nl>
42323
42324 * kern/misc.c (grub_strndup): Function rewritten.
42325
776bd780 423262005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42327
42328 * normal/menu.c (TERM_WIDTH): Macro redefined.
42329 (TERM_TOP_BORDER_Y): Likewise.
42330 (draw_border): Replaced while-loop by a for-loop. Make the number
42331 of lines consistent with the number of lines displayed in
42332 print_entries. Added a margin below the rectangle.
42333 (print_entry): Make the entry fit in the rectangle.
42334 (print_entries): Display the scroll arrows next to the right
42335 border.
42336
78026bce 423372005-01-21 Marco Gerards <metgerards@student.han.nl>
42338
42339 * fs/minix.c (grub_minix_find_file): Reserve more space for
42340 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42341 `grub_strncpy' to copy `path' into it.
42342
67bbaf0f 423432005-01-21 Marco Gerards <metgerards@student.han.nl>
42344
42345 Add the loopback device, a device via which files can be accessed
42346 as devices.
f19dbdb7 42347
67bbaf0f 42348 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42349 (pkgdata_MODULES): Add loopback.mod.
42350 (loopback_mod_SOURCES): New variable.
42351 (loopback_mod_CFLAGS): Likewise.
42352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42353 `disk/loopback.c'.
42354 (pkgdata_MODULES): Add loopback.mod.
42355 (loopback_mod_SOURCES): New variable.
42356 (loopback_mod_CFLAGS): Likewise.
42357 * disk/loopback.c: new file.
42358 * include/grub/normal.h (grub_loop_init): New prototype.
42359 (grub_loop_fini): New prototype.
42360 * util/grub-emu.c (main): Initialize and de-initialize loopback
42361 support.
42362 * include/grub/disk.h (grub_disk_dev_id): Add
42363 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42364
6f1c18bd 423652005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42366
42367 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42368 function.
42369 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42370 (suspend_mod_SOURCES): New variable.
42371 (suspend_mod_CFLAGS): Likewise.
42372 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42373 New prototype.
42374 * commands/ieee1275/suspend.c: New file.
42375
b38551da 423762005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42377
42378 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42379 ((unused))' to `__attribute__ ((used))'.
b38551da 42380 (GRUB_MOD_FINI): Likewise.
42381 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42382 * genmk.rb (PModule): Assign space to common symbols when linking
42383 modules.
42384
777aff39 423852005-01-20 Marco Gerards <metgerards@student.han.nl>
42386
42387 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42388 `unsigned' arguments to `grub_size_t'.
42389 (grub_malloc): Likewise.
42390 (grub_realloc): Likewise.
42391 (grub_memalign): Likewise.
42392 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42393 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42394 * util/misc.c (grub_malloc): Likewise.
42395 (grub_realloc): Likewise.
42396 * kern/mm.c (get_header_from_pointer): Change the casts to
42397 `unsigned' into a cast to `grub_size_t'.
42398
42399 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42400 point to `currnode' when `currnode' is changed.
42401
42402 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42403 Schottelius <nico-linux@schottelius.org>.
42404
d0ff18e1 424052005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42406
42407 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42408 (note_path): Remove variable.
42409 (GRUB_IEEE1275_NOTE_NAME): New macro.
42410 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42411 (grub_ieee1275_note_hdr): New structure.
42412 (grub_ieee1275_note_desc): Likewise.
42413 (grub_ieee1275_note): Likewise.
42414 (load_note): Remove `dir' argument. All callers updated. Remove
42415 `note_img' and `path'. Do not load a file from `note_path'.
42416 Initialize a struct grub_ieee1275_note and write that to `out'.
42417 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42418
4ca7004c 424192005-01-05 Marco Gerards <metgerards@student.han.nl>
42420
42421 * util/misc.c (grub_util_read_image): Revert last change. It
42422 called `grub_util_read_at', which seeks from the beginning of the
42423 file.
42424
0b412211 424252005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42426
42427 * TODO: Add note about endianness in grub-mkimage.
42428 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42429 section.
42430 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42431 (grub_mkimage_SOURCES): New target.
42432 * include/grub/kernel.h (grub_start_addr): Remove variable.
42433 (grub_end_addr): Likewise.
42434 (grub_total_module_size): Likewise.
42435 (grub_kernel_image_size): Likewise.
42436 (GRUB_MODULE_MAGIC): New constant.
42437 (grub_module_info): New structure.
42438 (grub_arch_modules_addr): New prototype.
42439 (grub_get_end_addr): Remove prototype.
42440 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42441 * include/grub/powerpc/ieee1275/kernel.h: New file.
42442 * include/grub/util/misc.h (grub_util_get_fp_size): New
42443 prototype.
42444 (grub_util_read_at): Likewise.
42445 (grub_util_write_image_at): Likewise.
42446 * kern/main.c (grub_get_end_addr): Remove function.
42447 (grub_load_modules): Call grub_arch_modules_addr instead of using
42448 grub_end_addr. Look for a grub_module_info struct in memory. Use
42449 the grub_module_info fields instead of calling grub_get_end_addr
42450 as loop conditions. Move grub_add_unused_region code here.
42451 (grub_add_unused_region): Remove function.
42452 * kern/i386/pc/init.c: Include grub/cache.h.
42453 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42454 one call to add_mem_region.
42455 (grub_arch_modules_addr): New function.
42456 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42457 (grub_total_module_size): Likewise.
42458 Include grub/machine/kernel.h.
42459 (grub_arch_modules_addr): New function.
42460 * util/grub-emu.c (grub_end_addr): Remove variable.
42461 (grub_total_module_size): Likewise.
42462 (grub_arch_modules_addr): New function.
42463 * util/misc.c: Include unistd.h.
42464 (grub_util_get_fp_size): New function.
42465 (grub_util_read_at): Likewise.
42466 (grub_util_write_image_at): Likewise.
42467 (grub_util_read_image): Call grub_util_read_at.
42468 (grub_util_write_image): Call grub_util_write_image_at.
42469 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42470 additional memory in kernel_img for a struct grub_module_info.
42471 Fill in that grub_module_info.
42472 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42473
458786f8 424742005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42475
42476 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42477 New function.
42478 * include/grub/powerpc/ieee1275/ieee1275.h
42479 (grub_ieee1275_milliseconds): New prototype.
42480 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42481 Change to 1000.
42482 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42483 grub_ieee1275_milliseconds.
42484
ac507d1b 424852005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42486
42487 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42488 variable.
42489 (find_options): New function.
42490 (cmain): Call find_options.
42491 * include/grub/powerpc/ieee1275/ieee1275.h
42492 (grub_ieee1275_realmode): New extern variable.
42493 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42494 grub_map if grub_ieee1275_realmode is false.
42495
6b8fd1c4 424962004-12-29 Marco Gerards <metgerards@student.han.nl>
42497
42498 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42499 lines are inserted and make it work like readline. Reported by
42500 Vincent Pelletier <subdino2004@yahoo.fr>.
42501
8514a1e0 425022004-12-28 Marco Gerards <metgerards@student.han.nl>
42503
42504 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42505
42506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42507 `kern/powerpc/cache.S'.
42508
924b6140 425092004-12-27 Marco Gerards <metgerards@student.han.nl>
42510
42511 * genmk.rb: Handle the `Program' class in the main loop. Written
42512 by Johan Rydberg <jrydberg@gnu.org>.
42513 (Program): New class.
42514 (programs): New variable.
42515 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42516 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42517 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42518 (help_arch): Function removed.
42519 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42520 `powerpc/libgcc.h' and `loader.h'.
42521 (pkgdata_PROGRAMS): New variable.
42522 (sbin_UTILITIES): Variable removed.
42523 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42524 (grubof_SOURCES): Variable re-defined so it only includes the
42525 core functionality.
42526 (grubof_CFLAGS): Remove `-DGRUBOF'.
42527 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42528 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42529 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42530 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42531 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42532 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42533 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42534 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42535 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42536 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42537 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42538 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42539 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42540 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42541 (pc_mod_CFLAGS): New variables.
42542 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42543 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42544 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42545 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42546 Moved from here...
42547 * include/grub/i386/pc/init.h (grub_os_area_addr)
42548 (rub_os_area_size): ... to here.
42549 * include/grub/powerpc/ieee1275/ieee1275.h
42550 (grub_ieee1275_entry_fn): Export symbol.
42551 * include/grub/powerpc/ieee1275/init.h: New file.
42552 * include/grub/powerpc/libgcc.h: Likewise.
42553 * include/grub/cache.h: Likewise.
42554 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42555 <hollis@penguinppc.org>.
42556 * kern/dl.c: Include <grub/cache.h>.
42557 (grub_dl_flush_cache): New function.
42558 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42559 for this module.
42560 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42561 (grub_console_init): Removed prototypes.
42562 (grub_machine_init): Don't initialize the modules anymore.
42563 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42564 static.
42565 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42566 Macro undef removed.
42567 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42568 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42569 relocation `R_PPC_REL32'. Return an error when the relocation is
42570 unknown.
42571 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42572 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42573 * util/misc.c (grub_arch_sync_caches): Likewise.
42574
e4b47e0c 425752004-12-19 Marco Gerards <metgerards@student.han.nl>
42576
42577 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42578 `symlist.c', add `grubof_symlist.c'.
42579 (symlist.c): Variable removed.
42580 (grubof_HEADERS): Variable added.
42581 (grubof_symlist.c): New target.
42582 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42583 `kernel_img_HEADERS'.
42584 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42585 * kern/powerpc/dl.c: New file.
42586 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42587 Function removed.
42588 (grub_arch_dl_relocate_symbols): Likewise.
42589 (grub_register_exported_symbols): Likewise.
42590
4ceb3636 425912004-12-13 Marco Gerards <metgerards@student.han.nl>
42592
42593 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42594 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42595 to fail instead. Reported by Vincent Pelletier
42596 <subdino2004@yahoo.fr>.
42597
42598 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42599 it is not allocated. Reported by Vincent Pelletier
42600 <subdino2004@yahoo.fr>.
42601
42602 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42603 output so the output looks better.
f19dbdb7 42604
3f1578fe 426052004-12-04 Marco Gerards <metgerards@student.han.nl>
42606
42607 Modulize the partition map support and add support for the amiga
42608 partition map.
f19dbdb7 42609
3f1578fe 42610 * commands/ls.c: Include <grub/partition.h> instead of
42611 <grub/machine/partition.h>.
42612 * kern/disk.c: Likewise.
42613 * kern/rescue.c: Likewise.
42614 * loader/i386/pc/chainloader.c: Likewise.
42615 * normal/cmdline.c: Likewise.
42616 * kern/powerpc/ieee1275/init.c: Likewise.
42617 (grub_machine_init): Call `grub_pc_partition_map_init',
42618 `grub_amiga_partition_map_init' and
42619 `grub_apple_partition_map_init'.
42620 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42621 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42622 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42623 `partition.h' and `pc_partition.h'.
42624 (grub_setup_SOURCES): Remove
42625 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42626 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42627 (grub_emu_SOURCES): Likewise.
42628 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42629 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42630 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42632 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42633 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42634 (grubof_SOURCES): Likewise.
42635 * disk/i386/pc/partition.c: File removed.
42636 * disk/powerpc/ieee1275/partition.c: Likewise.
42637 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42638 * include/grub/i386/pc/partition.h: Likewise.
42639 * kern/partition.c: New file.
42640 * partmap/amiga.c: Likewise.
42641 * partmap/apple.c: Likewise.
42642 * partmap/pc.c: Likewise.
42643 * include/grub/partition.h: Likewise..
42644 * include/grub/pc_partition.h: Likewise.
42645 * util/grub-emu.c: Include <grub/partition.h> instead of
42646 <grub/machine/partition.h>.
42647 (main): Call `grub_pc_partition_map_init',
42648 `grub_amiga_partition_map_init' and
42649 `grub_apple_partition_map_init' and deinitialize afterwards.
42650 * util/i386/pc/biosdisk.c: Include `#include
42651 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42652 `<grub/machine/partition.h>'.
42653 * util/i386/pc/grub-setup.c: Likewise.
42654 * util/i386/pc/biosdisk.c: Likewise.
42655 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42656 partition information in case of a PC partition.
42657 * util/i386/pc/grub-setup.c: Include `#include
42658 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42659 `<grub/machine/partition.h>'.
42660 (setup): Only access the PC specific partition information in case
42661 of a PC partition.
42662
0ef4ced9 426632004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42664
0ef4ced9 42665 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42666 (grub_longjmp): Likewise.
42667 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42668 20.
42669 * normal/powerpc/setjmp.S: New file.
42670 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42671 `normal/powerpc/setjmp.S'.
42672 (grubof_CFLAGS): Add `-DGRUBOF'.
42673 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42674 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42675
19950e29 426762004-11-16 Marco Gerards <metgerards@student.han.nl>
42677
42678 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42679 property named `name'. Correctly handle the error returned by
42680 `grub_ieee1275_finddevice' if a device can not be opened.
42681
a2fea427 426822004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42683
42684 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42685 `actual' for negativity.
42686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42687 kern/fshelp.c.
42688
41ea0ea3 426892004-11-01 Marco Gerards <metgerards@student.han.nl>
42690
42691 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42692 (PAGE_OFFSET): New macro.
42693 (CRTC_ADDR_PORT): Likewise.
42694 (CRTC_DATA_PORT): Likewise.
42695 (START_ADDR_HIGH_REGISTER): Likewise.
42696 (START_ADDR_LOW_REGISTER): Likewise.
42697 (GRAPHICS_ADDR_PORT): Likewise.
42698 (GRAPHICS_DATA_PORT): Likewise.
42699 (READ_MAP_REGISTER): Likewise.
42700 (INPUT_STATUS1_REGISTER): Likewise.
42701 (INPUT_STATUS1_VERTR_BIT): Likewise.
42702 (page): New variable.
42703 (wait_vretrace): New function.
42704 (set_read_map): Likewise.
42705 (set_start_address): Likewise.
42706 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42707 the right page.
42708 (check_vga_mem): Take the page into account.
42709 (write_char): Likewise.
42710 (write_cursor): Likewise.
42711 (scroll_up): Likewise. Copy the page to the page that is not
42712 shown and switch between both pages.
42713 (grub_vga_putchar): Fix off by one error.
42714 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42715 account.
42716
ad0bd20b 427172004-11-01 Marco Gerards <metgerards@student.han.nl>
42718
42719 Add support for iso9660 (including rockridge).
f19dbdb7 42720
ad0bd20b 42721 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42722 (iso9660_mod_SOURCES): New variable.
42723 (iso9660_mod_CFLAGS): Likewise.
42724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42725 * include/grub/fs.h (grub_iso9660_init): New prototype.
42726 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42727 * fs/iso9660.c: New file.
42728
42729 * include/grub/misc.h (grub_strncat): New prototype.
42730 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42731
ad0bd20b 42732 * fs/hfs.c (grub_hfs_mount): Translate the error
42733 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42734 * fs/jfs.c (grub_jfs_mount): Likewise.
42735 * fs/ufs.c (grub_ufs_mount): Likewise.
42736
a5477a59 427372004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42738
42739 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42740 which initialized BAT registers.
42741 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42742 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42743 Move from here...
42744 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42745 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42746 ... to here.
42747 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42748 (grub_mapclaim): Likewise.
42749 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42750 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42751 hand.
42752
9304c1f8 427532004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42754
42755 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42756 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42757 -ffreestanding and -msoft-float.
42758
86f4ae25 427592004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42760
42761 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42762 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42763 set in grub_ieee1275_flags.
42764
38912228 427652004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42766
42767 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42768 prototype.
42769 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42770 grub_console_init first.
42771 Change the memory range used for grub_ieee1275_claim and
42772 grub_mm_init_region.
42773 Print an error message if the claim fails.
42774 Include <grub/misc.h>.
42775
d1923dc8 427762004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42777
42778 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42779 Call grub_children_iterate for device nodes of type `scsi',
42780 `ide', or `ata'.
42781 (grub_ofdisk_open): Remove manual device alias resolution.
42782 Fix memory leak when device cannot be opened.
f19dbdb7 42783 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42784 (grub_children_iterate): New prototype.
42785 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42786 New function.
42787 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42788 Return -1 if args.size was -1.
42789
4512e4f3 427902004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42791
42792 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42793 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42794 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42795 Open Firmware's memory for it; claim memory from _start to _end.
42796 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42797 (_end): New extern.
42798 (_start): Zero BSS from __bss_start to _end.
42799 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42800 New extern.
42801 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42802
4d61feb0 428032004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42804
ad0bd20b 42805 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42806 -1 if args.base was -1.
4d61feb0 42807
026fa2f9 428082004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42809
42810 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42811 escape sequence instead of a literal ^L. Also call
42812 grub_ofconsole_gotoxy.
42813
9f2220ef 428142004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42815
42816 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42817 void * arguments to grub_addr_t. All callers updated. Also make
42818 the `result' argument optional.
42819 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42820 All callers updated.
42821
8a572cd7 428222004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42823
42824 * commands/ls.c (grub_ls_list_files): Use the string following the
42825 initial ')', if present, as the filesystem path.
42826 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42827
42828 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42829
18aa81f2 428302004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42831
42832 Make the source code of the menu interface more readable.
f19dbdb7 42833
18aa81f2 42834 * normal/menu.c: Include grub/mm.h.
42835 (TERM_WIDTH): New macro.
42836 (TERM_HEIGHT): Likewise.
42837 (TERM_INFO_HEIGHT): Likewise.
42838 (TERM_MARGIN): Likewise.
42839 (TERM_SCROLL_WIDTH): Likewise.
42840 (TERM_TOP_BORDER_Y): Likewise.
42841 (TERM_LEFT_BORDER_X): Likewise.
42842 (TERM_BORDER_WIDTH): Likewise.
42843 (TERM_MESSAGE_HEIGHT): Likewise.
42844 (TERM_BORDER_HEIGHT): Likewise.
42845 (TERM_NUM_ENTRIES): Likewise.
42846 (TERM_FIRST_ENTRY_Y): Likewise.
42847 (TERM_ENTRY_WIDTH): Likewise.
42848 (TERM_CURSOR_X): Likewise.
42849 (draw_border): Use macros instead of magic numbers.
42850 (print_entry): Likewise.
42851 (print_entries): Likewise.
42852 (run_menu): Likewise. Also, handle the key 'e'.
42853 (run_menu_entry): Ignore empty command lines.
42854 (print_message): Added a new argument EDIT. If EDIT is true,
42855 print a different message.
42856 (init_page): Likewise.
42857 (edit_menu_entry): New function. Not implemented yet.
42858
b47efe30 428592004-09-17 Marco Gerards <metgerards@student.han.nl>
42860
42861 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42862 can be loaded from normal mode.
f19dbdb7 42863
b47efe30 42864 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42865 `multiboot.mod'.
42866 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42867 (multiboot_mod_CFLAGS): New variables.
42868 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42869 * loader/i386/pc/multiboot_normal.c: Likewise.
42870
b47efe30 42871 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42872 attribute `unused'.
f19dbdb7 42873
b47efe30 42874 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42875 `fdiro' to read the mode information from instead of `diro'.
42876
42877 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42878 looking up a symlink.
42879
42880 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42881 macro.
42882 * normal/command.c (grub_command_execute): Don't parse the
42883 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42884 flags of the command.
42885
42886 * normal/menu.c (grub_menu_run): Fix typo.
42887
da75ac71 428882004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42889
42890 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42891
42892 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42893 `y + 1' instead of `y - 1'.
42894
42895 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42896
062b24c2 428972004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42898
42899 From Hollis Blanchard <hollis@penguinppc.org>:
42900 * kern/misc.c (memmove): New alias for grub_memmove.
42901 (memcmp): New alias for grub_memcmp.
42902 (memset): New alias for grub_memset.
f19dbdb7 42903 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42904 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42905 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42906 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42907
8ddad845 429082004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42909
42910 Added normal mode command `chainloader' as module chain.mod, which
42911 depends on normal.mod and _chain.mod.
f19dbdb7 42912
8ddad845 42913 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42914 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42915 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42916 Deleted prototype.
42917 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42918 but arguments parsing moved to ...
42919 (grub_chainloader_cmd): ... here. New function.
42920 * include/grub/i386/pc/chainloader.h: New file.
42921 * loader/i386/pc/chainloader_normal.c: Likewise.
42922
2c1f4ce3 429232004-09-11 Marco Gerards <metgerards@student.han.nl>
42924
42925 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42926 (grub_mkimage_LDFLAGS): Likewise.
42927 (grub_emu_SOURCES): Likewise.
42928 (kernel_img_HEADERS): Added fshelp.h.
42929 * fs/ext2.c: Include <grub/fshelp.h>.
42930 (FILETYPE_REG): New macro.
42931 (FILETYPE_INO_REG): Likewise.
42932 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42933 Changed all users.
42934 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42935 all users.
42936 (grub_fshelp_node): New struct.
42937 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42938 to a pointer.
42939 (grub_ext2_get_file_block): Removed function.
42940 (grub_ext2_read_block): New function.
42941 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42942 This function was written.
42943 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42944 (grub_ext2_find_file): Removed function.
42945 (grub_ext2_read_symlink): New function.
42946 (grub_ext2_iterate_dir): Likewise.
42947 (grub_ext2_open): Rewritten.
42948 (grub_ext2_dir): Rewritten.
42949 * include/grub/fshelp.h: New file.
42950 * fs/fshelp.c: Likewise.
42951
3c52136a 429522004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42953
42954 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42955 (print_message): Add a missing newline.
42956 (run_menu): Added timeout support.
42957 (run_menu_entry): New local function.
42958 (grub_menu_run): Added support for booting.
42959
42960 * kern/loader.c (grub_loader_is_loaded): New function.
42961
42962 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42963 (grub_get_rtc): Exported.
42964
42965 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42966 (grub_get_rtc): Exported.
42967
42968 * include/grub/normal.h (struct grub_command_list): Remove
42969 constant from the member `command'.
42970
42971 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42972
42973 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42974
42975 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42976
aa033560 429772004-08-28 Marco Gerards <metgerards@student.han.nl>
42978
42979 Add support for the JFS filesystem.
42980
42981 * fs/jfs.c: New file.
42982 * include/grub/fs.h (grub_jfs_init): New prototype.
42983 (grub_jfs_fini): New prototype.
42984 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42985 (grub_emu_SOURCES): Likewise.
42986 (pkgdata_MODULES): Add jfs.mod.
42987 (jfs_mod_SOURCES): New variable.
42988 (jfs_mod_CFLAGS): Likewise.
42989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42990 (grubof_SOURCES): Likewise.
42991 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42992
42993 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42994 endian to the host endian.
42995 (grub_fat_utf16_to_utf8): Move function from there...
42996 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42997 the endianness of the source string anymore.
aa033560 42998 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42999
94bc45af 430002004-08-24 Marco Gerards <metgerards@student.han.nl>
43001
43002 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43003 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43004 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43005 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43006
94bc45af 43007 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43008 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43009 for `node_found' and `it_dir'.
43010 (grub_hfs_dir): Add prototype for `dir_hook'.
43011
43012 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43013 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43014 and `indir32' to silence a gcc warning.
43015
43016 * include/grub/fs.h (grub_hfs_init): New prototype.
43017 (grub_hfs_fini): Likewise.
f19dbdb7 43018
43019
97543f08 430202004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43021
43022 Each disk device has its own id now. This is useful to make use
43023 of multiple disk devices.
f19dbdb7 43024
97543f08 43025 * include/grub/disk.h (grub_disk_dev_id): New enum.
43026 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43027 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43028
43029 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43030 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43031
43032 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43033 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43034
43035 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43036 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43037
43038 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43039 "id" which is used by the cache manager.
43040
43041 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43042 of just "GRUB".
43043
64372eb4 430442004-08-18 Marco Gerards <metgerards@student.han.nl>
43045
43046 * fs/hfs.c: New file.
43047 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43048 (grub_emu_SOURCES): Likewise.
43049 (pkgdata_MODULES): Add hfs.mod.
43050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43051 (grubof_SOURCES): Likewise.
43052 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43053
43054 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43055 * kern/misc.c (grub_strncasecmp): Add function.
43056
cc61b58f 430572004-08-14 Marco Gerards <metgerards@student.han.nl>
43058
43059 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43060 with parentheses.
43061
43062 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43063 (grub_ext2_dir): In case the directory entry type is unknown, read
43064 it from the inode.
43065
0ef123f6 430662004-08-02 Peter Bruin <pjbruin@dds.nl>
43067
43068 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43069 grub_load_linux instead of grub_rescue_cmd_linux as second
43070 argument of grub_rescue_register_command.
43071
43072 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43073
a447c5df 430742004-07-27 Marco Gerards <metgerards@student.han.nl>
43075
43076 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43077 function.
43078 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43079 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43080 `loader/powerpc/ieee1275/linux.c',
43081 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43082 * include/grub/powerpc/ieee1275/ieee1275.h
43083 (grub_ieee1275_release): New prototype.
43084 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43085 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43086 normal, boot, linux and linux_normal.
43087 * loader/powerpc/ieee1275/linux.c: New file.
43088 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43089
5a9e3546 430902004-07-12 Marco Gerards <metgerards@student.han.nl>
43091
43092 * normal/arg.c (grub_arg_parse): Correct error handling after
43093 reallocating the argumentlist (check if `argl' is not null instead
43094 of checking if `args' is not null).
43095 * kern/mm.c (grub_realloc): Return the same pointer when using the
43096 same region, instead of returning the header address.
43097
e15199cb 430982004-07-11 Marco Gerards <metgerards@student.han.nl>
43099
43100 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43101 one block instead of two when looking for the initial partition.
43102 (grub_partition_probe): Initialize the local variable `p' with 0.
43103 Use base 10 for the grub_strtoul call.
43104 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43105 need for one local variable.
43106 (grub_strtoul): Don't add the new value to `num', instead of that
43107 just assign it.
43108
020616c2 431092004-07-11 Marco Gerards <metgerards@student.han.nl>
43110
43111 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43112 (pxeboot_img_SOURCES): New variable.
43113 (pxeboot_img_ASFLAGS): Likewise.
43114 (pxeboot_img_LDFLAGS): Likewise.
43115 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43116 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43117 <lode_leroy@hotmail.com>.
43118
6c51eb64 431192004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43120
43121 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43122 there was no input.
43123
cfb12aff 431242004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43125
43126 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43127 the history buffer logic.
43128
6eabba74 431292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43130
43131 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43132 (FILETYPE_INO_SYMLINK): New macros.
43133 (grub_ext2_find_file): Check if the node is a directory using the
43134 inode stat information instead of using the filetype in the
43135 dirent. Exclude the first character of an absolute symlink.
43136 (grub_ext2_dir): Mask out the filetype part of the mode member of
43137 the inode.
43138
66e19ef8 431392004-05-24 Marco Gerards <metgerards@student.han.nl>
43140
43141 Add support for UFS version 1 and 2. Add support for the minix
43142 filesystem version 1 and 2, both the variants with 14 and 30 long
43143 filenames.
f19dbdb7 43144
66e19ef8 43145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43146 fs/minix.c.
43147 (grub_emu_SOURCES): Likewise.
43148 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43149 (ufs_mod_SOURCES): New variable.
43150 (ufs_mod_CFLAGS): Likewise.
43151 (minix_mod_SOURCES): Likewise.
43152 (minix_mod_CFLAGS): Likewise.
43153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43154 fs/minix.c.
43155 (grubof_SOURCES): Likewise.
43156 * fs/ufs.c: New file.
43157 * fs/minix.c: New file.
43158 * include/grub/fs.h (grub_ufs_init): New prototype.
43159 (grub_ufs_fini): Likewise.
43160 (grub_minix_init): Likewise.
43161 (grub_minix_fini): Likewise.
43162 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43163 minix fs.
43164
cc2e748a 431652004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43166
43167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43168 commands/ls.c, commands/terminal.c, commands/boot.c,
43169 commands/cmp.c and commands/cat.c.
43170 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43171
43172 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43173 "env.h"
43174
4b13b216 431752004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43176
43177 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43178 and grub_, respectively. Because the conversion is trivial and
43179 mechanical, I omit the details here. Please refer to the CVS
43180 if you need more information.
43181
6a142551 431822004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43183
43184 * include/pupa: Renamed to ...
43185 * include/grub: ... this.
43186 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43187 * util/i386/pc/grub-mkimage.c: ... this.
43188 * util/i386/pc/pupa-setup.c: Renamed to ...
43189 * util/i386/pc/grub-setup.c: ... this.
43190 * util/pupa-emu.c: Renamed to ...
43191 * util/grub-emu.c: ... this.
43192
e56cdf21 431932004-03-29 Marco Gerards <metgerards@student.han.nl>
43194
43195 Add support for the newworld apple macintosh (PPC). This has been
43196 tested on the powerbook 2000 only. It only adds support for
43197 generic ieee1275 functions, console and disk support. This should
43198 be easy to port to other architectures with support for Open
43199 Firmware.
f19dbdb7 43200
e56cdf21 43201 * configure.ac: Accept the powerpc as host_cpu. In the case of
43202 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43203 specific tests are only executed while building for the i386.
43204 Inverse test for crosscompile.
43205 * genmk.rb (Utility): Allow assembler files.
43206 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43207 * conf/powerpc-ieee1275.rmk: New file.
43208 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43209 * disk/powerpc/ieee1275/partition.c: Likewise.
43210 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43211 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43212 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43213 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43214 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43215 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43216 * include/pupa/powerpc/ieee1275/loader.h
43217 * include/pupa/powerpc/setjmp.h: Likewise.
43218 * include/pupa/powerpc/types.h: Likewise.
43219 * kern/powerpc/ieee1275/init.c: Likewise.
43220 * kern/powerpc/ieee1275/openfw.c: Likewise.
43221 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43222
43223 These files were written by Johan Rydberg
43224 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43225
e56cdf21 43226 * boot/powerpc/ieee1275/cmain.c: New file.
43227 * boot/powerpc/ieee1275/crt0.S: Likewise.
43228 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43229 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43230
8c8cc205 432312004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43232
43233 * Makefile.in: Update copyright.
43234 * genmodsrc.sh: Likewise.
43235 * gensymlist.sh: Likewise.
43236 * term/i386/pc/vga.c: Indent correctly.
43237
43238 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43239 bugreporting address.
43240 * util/i386/pc/pupa-setup.c (usage): Likewise,
43241 (main): Call pupa_ext2_init and pupa_ext2_fini.
43242
f19dbdb7 43243 * fs/fat.c (log2): Renamed to ...
8c8cc205 43244 (fat_log2): ... this.
43245 All callers changed.
43246 * kern/misc.c (memcpy): Alias to pupa_memmove.
43247 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43248 lvalue cast.
43249 * util/console.c (pupa_ncurses_fini): Return 0.
43250
43251 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43252 Move fail label here.
43253 [__GNU__]: Don't warn when using stat.
43254 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43255 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43256 long int. Use strtol instead of strtoul.
f19dbdb7 43257
db1771cf 432582004-03-14 Marco Gerards <metgerards@student.han.nl>
43259
43260 * commands/boot.c: New file.
43261 * commands/cat.c: Likewise.
43262 * commands/cmp.c: Likewise.
43263 * commands/ls.c: Likewise.
43264 * commands/terminal.c: Likewise.
43265 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43266 (pupa_register_command): Changed interface to match the new
43267 argument parser.
43268 (pupa_command_execute): Changed (almost rewritten) so it uses
43269 pupa_split_command. Added support for setting variables using the
43270 syntax `foo=bar'.
43271 (rescue_command): Changed to work with the new argument parser.
43272 (terminal_command): Moved from here to commands/terminal.c.
43273 (set_command): New function.
43274 (unset_command): New function.
43275 (insmod_command): New function.
43276 (rmmod_command): New function.
43277 (lsmod_command): New function.
43278 (pupa_command_init): Don't initialize the command terminal
43279 anymore. Initialize the commands set, unset, insmod, rmmod and
43280 lsmod.
43281 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43282 (kernel_img_HEADERS): Add arg.h and env.h.
43283 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43284 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43285 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43286 normal/arg.c.
43287 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43288 terminal.mod.
43289 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43290 (boot_mod_SOURCES): New variable.
43291 (terminal_mod_SOURCES): Likewise.
43292 (ls_mod_SOURCES): Likewise.
43293 (cmp_mod_SOURCES): Likewise.
43294 (cat_mod_SOURCES): Likewise.
43295
43296 * normal/arg.c: New file.
43297 * kern/env.c: Likewise.
43298 * include/pupa/arg.h: Likewise.
43299 * include/pupa/env.h: Likewise.
43300 * font/manager.c (font_command): Changed to match argument parsing
43301 interface changes.
43302 (PUPA_MOD_INIT): Likewise.
43303 * hello/hello.c (pupa_cmd_hello): Likewise.
43304 (PUPA_MOD_INIT): Likewise.
43305 * include/pupa/disk.h: Include <pupa/device.h>.
43306 (pupa_print_partinfo): New prototype.
43307 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43308 (pupa_dl_get_prefix): Likewise.
43309 * include/pupa/misc.h: Include <pupa/err.h>.
43310 (pupa_isgraph): New prototype.
43311 (pupa_isdigit): Likewise.
43312 (pupa_split_cmdline): Likewise.
43313 * include/pupa/normal.h: Include <pupa/arg.h>.
43314 (pupa_command): Changed the prototype of the member `func' to
43315 match the argument parsing interface. Added member `options'.
43316 (pupa_register_command): Updated to match function.
43317 (pupa_arg_parse): New prototype.
43318 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43319 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43320 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43321 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43322 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43323 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43324 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43325 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43326 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43327 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43328 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43329 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43330 * kern/disk.c: Include <pupa/file.h>.
43331 (pupa_print_partinfo): New function.
43332 * kern/dl.c: Include <pupa/env.h>.
43333 (pupa_dl_dir): Variable removed.
43334 (pupa_dl_load): Use the environment variable `prefix' instead of
43335 the variable pupa_dl_dir.
43336 (pupa_dl_set_prefix): Function removed.
43337 (pupa_dl_get_prefix): Likewise.
43338 * kern/i386/pc/init.c: Include <pupa/env.h>.
43339 (pupa_machine_init): Use the environment variable `prefix' instead of
43340 using pupa_dl_set_prefix to set the prefix.
43341 * kern/main.c: Include <pupa/env.h>.
43342 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43343 using pupa_dl_get_prefix to get the prefix.
43344 * kern/misc.c: Include <pupa/env.h>.
43345 (pupa_isdigit): New function.
43346 (pupa_isgraph): Likewise.
43347 (pupa_ftoa): Likewise.
43348 (pupa_vsprintf): Added support for printing values of the type
43349 `double'. Make it possible to format variable output when using
43350 formatting like `%1.2%f'.
43351 (pupa_split_cmdline): New function.
43352 * kern/rescue.c: Include <pupa/env.h>.
43353 (next_word): Removed function.
43354 (pupa_rescue_cmd_prefix): Likewise.
43355 (pupa_rescue_cmd_set): New function.
43356 (pupa_rescue_cmd_unset): New function.
43357 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43358 split the command line instead of splitting it here. Added
43359 support for setting variables using the syntax `foo=bar'. Don't
43360 initialize the prefix command anymore. Initialized the set and
43361 unset commands.
43362 * normal/cmdline.c: Include <pupa/env.h>.
43363 (pupa_tab_complete): Added prototypes for print_simple_completion,
43364 print_partition_completion, add_completion, iterate_commands,
43365 iterate_dev, iterate_part and iterate_dir. Moved code to print
43366 partition information from here to kern/disk.c.
fe6b695a 43367 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43368 * normal/main.c: Include <pupa/env.h>.
43369 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43370 instead of using pupa_dl_get_prefix to get the prefix.
43371 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43372 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43373 warning.
43374 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43375 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43376 ((unused))' to silence a gcc warning.
43377 (pupa_vga_setcolor): Likewise.
43378 (debug_command): Changed to match argument parsing
43379 interface changes.
43380 * util/pupa-emu.c: Include <pupa/env.h>.
43381 (options): Added 0's for unused fields to silence a gcc warning.
43382 (argp): Likewise.
43383 (main): Use the environment variable `prefix' instead of using
43384 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43385 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43386 and terminal.
43387
43388 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43389 * util/misc.c: Include <malloc.h>.
43390 (pupa_malloc): Rewritten so errors are correctly reported.
43391 (pupa_realloc): Likewise.
43392 (pupa_memalign): Likewise.
43393 (pupa_mm_init_region): Declare unused variables with
43394 `__attribute__ ((unused))' to silence a gcc warning.
43395 * normal/i386/setjmp.S: Remove tab at the end of the file to
43396 silence a gcc warning.
43397 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43398 variables with `__attribute__ ((unused))' to silence a gcc
43399 warning.
43400 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43401 local variable i unsigned to silence a gcc warning.
43402
43403 * kern/term.c: Include <pupa/misc.h>.
43404 (pupa_more_lines): New variable.
43405 (pupa_more): Likewise.
43406 (pupa_putcode): When the pager is active pause at the end of every
43407 screen.
43408 (pupa_set_more): New function.
43409 * include/pupa/term.h (pupa_set_more): New prototype.
43410
43411
3b1139cb 434122004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43413
43414 Now this project is GRUB 2 rather than PUPA. The location of
43415 the CVS repository was moved to GRUB's.
f19dbdb7 43416
3b1139cb 43417 * configure.ac: Use bug-grub as the reporting address.
43418 Use GRUB instead of PUPA.
43419 Change the version number to 1.90.
43420
8367695c 434212004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43422
43423 * genkernsyms.sh: Updated copyright information.
43424 * genmk.rb: Likewise.
43425 * genmodsrc.sh: Likewise.
43426 * gensymlist.sh: Likewise.
43427 * boot/i386/pc/boot.S: Likewise.
43428 * boot/i386/pc/diskboot.S: Likewise.
43429 * disk/i386/pc/biosdisk.c: Likewise.
43430 * disk/i386/pc/partition.c: Likewise.
43431 * font/manager.c: Likewise.
43432 * fs/ext2.c: Likewise.
43433 * fs/fat.c: Likewise.
43434 * include/pupa/boot.h: Likewise.
43435 * include/pupa/device.h: Likewise.
43436 * include/pupa/disk.h: Likewise.
43437 * include/pupa/dl.h: Likewise.
43438 * include/pupa/elf.h: Likewise.
43439 * include/pupa/err.h: Likewise.
43440 * include/pupa/file.h: Likewise.
43441 * include/pupa/font.h: Likewise.
43442 * include/pupa/fs.h: Likewise.
43443 * include/pupa/kernel.h: Likewise.
43444 * include/pupa/loader.h: Likewise.
43445 * include/pupa/misc.h: Likewise.
43446 * include/pupa/mm.h: Likewise.
43447 * include/pupa/net.h: Likewise.
43448 * include/pupa/normal.h: Likewise.
43449 * include/pupa/rescue.h: Likewise.
43450 * include/pupa/setjmp.h: Likewise.
43451 * include/pupa/symbol.h: Likewise.
43452 * include/pupa/term.h: Likewise.
43453 * include/pupa/types.h: Likewise.
43454 * include/pupa/i386/setjmp.h: Likewise.
43455 * include/pupa/i386/types.h: Likewise.
43456 * include/pupa/i386/pc/biosdisk.h: Likewise.
43457 * include/pupa/i386/pc/boot.h: Likewise.
43458 * include/pupa/i386/pc/console.h: Likewise.
43459 * include/pupa/i386/pc/init.h: Likewise.
43460 * include/pupa/i386/pc/kernel.h: Likewise.
43461 * include/pupa/i386/pc/linux.h: Likewise.
43462 * include/pupa/i386/pc/loader.h: Likewise.
43463 * include/pupa/i386/pc/memory.h: Likewise.
43464 * include/pupa/i386/pc/multiboot.h: Likewise.
43465 * include/pupa/i386/pc/partition.h: Likewise.
43466 * include/pupa/i386/pc/time.h: Likewise.
43467 * include/pupa/i386/pc/vga.h: Likewise.
43468 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43469 * include/pupa/util/getroot.h: Likewise.
43470 * include/pupa/util/misc.h: Likewise.
43471 * include/pupa/util/resolve.h: Likewise.
43472 * kern/device.c: Likewise.
43473 * kern/disk.c: Likewise.
43474 * kern/dl.c: Likewise.
43475 * kern/err.c: Likewise.
43476 * kern/file.c: Likewise.
43477 * kern/fs.c: Likewise.
43478 * kern/loader.c: Likewise.
43479 * kern/main.c: Likewise.
43480 * kern/misc.c: Likewise.
43481 * kern/mm.c: Likewise.
43482 * kern/rescue.c: Likewise.
43483 * kern/term.c: Likewise.
43484 * kern/i386/dl.c: Likewise.
43485 * kern/i386/pc/init.c: Likewise.
43486 * kern/i386/pc/lzo1x.S: Likewise.
43487 * kern/i386/pc/startup.S: Likewise.
43488 * loader/i386/pc/chainloader.c: Likewise.
43489 * loader/i386/pc/linux.c: Likewise.
43490 * loader/i386/pc/multiboot.c: Likewise.
43491 * normal/cmdline.c: Likewise.
43492 * normal/command.c: Likewise.
43493 * normal/main.c: Likewise.
43494 * normal/menu.c: Likewise.
43495 * normal/i386/setjmp.S: Likewise.
43496 * term/i386/pc/console.c: Likewise.
43497 * term/i386/pc/vga.c: Likewise.
43498 * util/console.c: Likewise.
43499 * util/genmoddep.c: Likewise.
43500 * util/misc.c: Likewise.
43501 * util/pupa-emu.c: Likewise.
43502 * util/resolve.c: Likewise.
43503 * util/unifont2pff.rb: Likewise.
43504 * util/i386/pc/biosdisk.c: Likewise.
43505 * util/i386/pc/getroot.c: Likewise.
43506 * util/i386/pc/pupa-mkimage.c: Likewise.
43507 * util/i386/pc/pupa-setup.c: Likewise.
43508
e6eced71 435092004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43510
43511 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43512 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43513 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43514 reading and reset it after reading.
43515 (pupa_ext2_close): Return PUPA_ERR_NONE.
43516
43517 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43518 Correct value.
43519 (struct linux_kernel_header): Add kernel_version and
43520 initrd_addr_max.
43521 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43522 pupa_file_read succeeds.
43523 (pupa_rescue_cmd_initrd): Implement.
43524
5aded270 435252003-12-03 Marco Gerards <metgerards@student.han.nl>
43526
43527 * fs/ext2.c (pupa_ext2_label): New function.
43528 (pupa_ext2_fs): Added label.
43529 * fs/fat.c (pupa_fat_label): New function.
43530 (pupa_fat_fs): Added label.
43531 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43532
43533 * kern/misc.c (pupa_strndup): New function.
43534 * include/pupa/misc.h (pupa_strndup): New prototype.
43535
43536 * include/pupa/normal.h: Include <pupa/err.h>.
43537 (pupa_set_history): New prototype.
43538 (pupa_iterate_commands): New prototype.
43539 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43540 <pupa/disk.h>, <pupa/file.h>.
43541 (hist_size): New variable.
43542 (hist_lines): Likewise.
43543 (hist_end): Likewise.
43544 (hist_used): Likewise.
43545 (pupa_set_history): New function.
43546 (pupa_history_get): Likewise.
43547 (pupa_history_add): Likewise.
43548 (pupa_history_replace): Likewise.
43549 (pupa_tab_complete): Likewise.
43550 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43551 completion shows partitionnames while completing partitions, this
43552 feature was suggested by Jeff Bailey.
43553 * normal/command.c (pupa_iterate_commands): New function.
43554 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43555 (pupa_normal_init): Initialize history buffer.
43556 (PUPA_MOD_INIT): Likewise.
43557 (pupa_normal_fini): Free the history buffer.
43558 (PUPA_MOD_FINI): Likewise.
43559
43560 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43561 key.
43562
43563 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43564 * configure.ac [i386]: Check for regparam bug.
43565 (NESTED_FUNC_ATTR) [! i386]: Defined.
43566
1f7315a3 435672003-11-17 Marco Gerards <metgerards@student.han.nl>
43568
43569 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43570 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43571 (pupa_emu_SOURCES): New variable.
43572 (pupa_emu_LDFLAGS): Likewise.
43573 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43574 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43575 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43576 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43577 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43578 (pupa_jmp_buf): New typedef.
43579 (pupa_setjmp) [PUPA_UTIL]: New macro.
43580 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43581 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43582 (pupa_refresh): New prototype.
43583 * include/pupa/util/getroot.h: New file.
43584 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43585 it.
43586 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43587 (pupa_rescue_cmd_cat): Likewise.
43588 (pupa_rescue_cmd_ls): Likewise.
43589 (pupa_rescue_cmd_testload): Likewise.
43590 (pupa_rescue_cmd_lsmod): Likewise.
43591 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43592 * normal/menu.c (run_menu): Likewise.
43593 * kern/term.c (pupa_cls): Likewise.
43594 (pupa_refresh): New function.
43595 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43596 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43597 * util/console.c: New file.
f19dbdb7 43598
1f7315a3 43599 * util/i386/pc/getroot.c: New file.
43600 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43601 (pupa_putchar): New function.
43602 (pupa_refresh): Likewise.
43603 (xgetcwd): Function moved to ...
43604 (strip_extra_slashes): Likewise.
43605 (get_prefix): Likewise.
f19dbdb7 43606 * util/i386/pc/getroot.c: ... here.
1f7315a3 43607 (find_root_device): Function moved and renamed to...
43608 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43609 Changed all callers.
43610 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43611 and renamed to...
43612 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43613 Changed all callers.
43614 * util/misc.c (pupa_memalign): New function.
43615 (pupa_mm_init_region): Likewise.
43616 (pupa_register_exported_symbols): Likewise.
43617 (pupa_putchar): Function removed.
43618 * util/pupa-emu.c: New file.
43619
9a5c1ade 436202003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43621
43622 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43623 (_multiboot_mod_SOURCES): New variable.
43624 (_multiboot_mod_CFLAGS): Likewise.
43625 * loader/i386/pc/multiboot.c: New file.
43626 * include/pupa/i386/pc/multiboot.h: Likewise.
43627 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43628 (pupa_multiboot_real_boot): New function.
43629 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43630 (pupa_multiboot_real_boot): New prototype.
43631 (pupa_rescue_cmd_multiboot): Likewise
43632 (pupa_rescue_cmd_module): Likewise.
43633
43634 * kern/loader.c (pupa_loader_set): Continue when
43635 pupa_loader_unload_func() fails.
43636 (pupa_loader_unset): New function.
43637 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43638
43639 * kern/misc.c (pupa_stpcpy): New function.
43640 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43641
8e72a9c0 436422003-11-12 Marco Gerards <metgerards@student.han.nl>
43643
43644 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43645 for available extensions.
43646
43647 * include/pupa/i386/pc/time.h: New file.
43648 * kern/disk.c: Include <pupa/machine/time.h>.
43649 (PUPA_CACHE_TIMEOUT): New macro.
43650 (pupa_last_time): New variable.
43651 (pupa_disk_open): Flush the cache when there was a timeout.
43652 (pupa_disk_close): Reset the timer.
43653 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43654 pupa_currticks.
43655 * util/misc.c: Include <sys/times.h>
43656 (pupa_get_rtc): New function.
43657
c4adbd32 436582003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43659
43660 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43661 as blocks.
43662 (pupa_ext2_get_file_block): Use blocks member.
43663
43664 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43665 first block. Return -1 instead of pupa_errno on error.
43666
bfd30f06 436672003-10-27 Marco Gerards <metgerards@student.han.nl>
43668
43669 * README: In the pupa-mkimage example use _chain instead of chain
43670 and ext2 instead of fat.
43671 * TODO: Replace ext2fs with jfs as an example. Add an item for
43672 adding journal playback for ext2fs.
43673 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43674 (pkgdata_MODULES): Added ext2.mod.
43675 (ext2_mod_SOURCES): New variable.
43676 (ext2_mod_CFLAGS): Likewise.
43677 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43678 * include/pupa/misc.h (pupa_strncpy): New prototype.
43679 (pupa_strcat): Likewise.
43680 (pupa_strncmp): Likewise.
43681 * kern/misc.c (pupa_strcat): Enable function.
43682 (pupa_strncpy): New function.
43683 (pupa_strncmp): Likewise.
43684 * fs/ext2.c: New file.
f19dbdb7 43685
bfd30f06 43686 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43687 when the read failed before retrying.
43688 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43689 (_FILE_OFFSET_BITS): Likewise.
43690 * configure.ac: Added AC_SYS_LARGEFILE.
43691
98d15063 436922003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43693
43694 * genmk.rb (PModule#rule): Make sure to get only symbol names
43695 from the output of nm.
59cad637 43696 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43697
18d9c7cd 436982003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43699
43700 I forgot to check in these changes for a long time. This adds
43701 incomplete support for VGA console, and this is still very
43702 buggy. Also, a lot of consideration is required for I18N,
43703 UNICODE, and VGA font issues. Therefore, assume that this is
43704 such that "better than nothing".
f19dbdb7 43705
18d9c7cd 43706 * font/manager.c: New file.
43707 * include/pupa/font.h: Likewise.
43708 * include/pupa/i386/pc/vga.h: Likewise.
43709 * term/i386/pc/vga.c: Likewise.
43710 * util/unifont2pff.rb: Likewise.
43711
43712 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43713 (pkgdata_MODULES): Added vga.mod and font.mod.
43714 (vga_mod_SOURCES): New variables.
43715 (vga_mod_CFLAGS): Likewise.
43716 (font_mod_SOURCES): Likewise.
43717 (font_mod_CFLAGS): Likewise.
43718
43719 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43720
43721 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43722 (struct pupa_term): Added init and fini.
18d9c7cd 43723 Changed the argument of putchar to pupa_uint32_t.
43724
43725 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43726 (pupa_console_real_putchar): New prototype.
43727 (pupa_console_putchar): Removed.
43728 (pupa_console_checkkey): Exported.
43729 (pupa_console_getkey): Likewise.
43730
43731 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43732 characters.
43733
43734 * kern/term.c (pupa_term_set_current): Rewritten.
43735 (pupa_putchar): Likewise.
43736 (pupa_putcode): New function.
43737
43738 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43739 (pupa_console_real_putchar): ... this.
43740 (pupa_vga_set_mode): New function.
43741 (pupa_vga_get_font): Likewise.
43742
43743 * normal/command.c: Include pupa/term.h.
43744 (terminal_command): New function.
43745 (pupa_command_init): Register the command "terminal".
43746
43747 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43748 (DISP_UP): Likewise.
43749 (DISP_RIGHT): Likewise.
43750 (DISP_DOWN): Likewise.
43751 (DISP_HLINE): Likewise.
43752 (DISP_VLINE): Likewise.
43753 (DISP_UL): Likewise.
43754 (DISP_UR): Likewise.
43755 (DISP_LL): Likewise.
43756 (DISP_LR): Likewise.
43757
43758 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43759
977329f5 437602003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43761
43762 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43763 FIX. Reverse the path_list.
43764
43765 * include/pupa/normal.h: Export pupa_register_command and
43766 pupa_unregister_command.
43767
43768 * hello/hello.c (pupa_cmd_hello): New module.
43769 * conf/i386-pc.rmk: Added hello.mod.
43770
1f5ab428 437712003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43772
43773 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43774
1f5ab428 43775 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43776 (compress_kernel): New variable.
43777 (generate_image): Heavily modified to support compressing a
43778 large part of the core image.
43779
43780 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43781 leak.
43782 (pupa_util_load_image): New function.
43783
43784 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43785 (pupa_compressed_size): New variable.
43786 (codestart): Enable Gate A20 here.
43787 Decompress the compressed part of the core image.
43788 Rearrange the code to put functions and variables which are
43789 required for initialization in the non-compressed part.
43790 Include lzo1x.S.
43791
43792 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43793 here.
43794
43795 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43796
f19dbdb7 43797 * include/pupa/i386/pc/kernel.h
1f5ab428 43798 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43799 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43800 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43801 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43802 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43803
43804 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43805
43806 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43807 (Utility#rule): Likewise.
43808
43809 * configure.ac: Check if LZO is available.
43810
ce5bf700 438112003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43812
43813 * include/pupa/normal.h: New file.
43814 * include/pupa/setjmp.h: Likewise.
43815 * include/pupa/i386/setjmp.h: Likewise.
43816 * normal/cmdline.c: Likewise.
43817 * normal/command.c: Likewise.
43818 * normal/main.c: Likewise.
43819 * normal/menu.c: Likewise.
43820 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43821
ce5bf700 43822 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43823 (pupa_rescue_cmd_initrd): Likewise.
43824
43825 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43826 Likewise.
43827
43828 * kern/i386/pc/startup.S (translation_table): New variable.
43829 (translate_keycode): New function.
43830 (pupa_console_getkey): Call translate_keycode.
43831
43832 * kern/rescue.c (attempt_normal_mode): New function.
43833 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43834 it failed, print a message.
43835
43836 * kern/mm.c (pupa_real_malloc): Print more information when a
43837 free magic is broken.
43838 (pupa_free): If the first free header is not free actually, set
43839 it to P.
43840
43841 * kern/main.c (pupa_load_normal_mode): Just load the module
43842 "normal".
43843 (pupa_main): Don't print the message
43844 "Entering into rescue mode..." here.
43845
43846 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43847 Declared.
43848 (pupa_rescue_cmd_initrd): Likewise.
43849 (pupa_rescue_cmd_initrd): Likewise.
43850
43851 * include/pupa/symbol.h (FUNCTION): Specify the type.
43852 (VARIABLE): Likewise.
43853
43854 * include/pupa/err.h (pupa_err_t): Added
43855 PUPA_ERR_UNKNOWN_COMMAND.
43856
43857 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43858 (pupa_dl_get_prefix): Likewise.
43859
43860 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43861 Added _chain.mod and _linux.mod instead of chain.mod and
43862 linux.mod.
43863 (chain_mod_SOURCES): Renamed to ...
43864 (_chain_mod_SOURCES): ... this.
43865 (chain_mod_CFLAGS): Renamed to ...
43866 (_chain_mod_CFLAGS): ... this.
43867 (linux_mod_SOURCES): Renamed to ...
43868 (_linux_mod_SOURCES): ... this.
43869 (linux_mod_CFLAGS): Renamed to ...
43870 (_linux_mod_CFLAGS): ... this.
43871 (normal_mod_SOURCES): New variable.
43872 (normal_mod_CFLAGS): Likewise.
43873 (normal_mod_ASFLAGS): Likewise.
43874
438752003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43876
43877 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43878 possible.
43879
fe6b695a 43880 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43881 recursively.
43882 (pupa_dl_unref): Unrefer depending modules recursively.
43883 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43884 a module is unloaded before one depending on that module is
43885 unloaded.
43886 (pupa_dl_unload): Unload depending modules explicitly,
43887 if possible.
43888
c04da074 438892003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43890
43891 * include/pupa/i386/pc/linux.h: New file.
43892 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43893
c04da074 43894 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43895 Removed.
43896 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43897 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43898 of PUPA_CHAINLOADER_BOOT_SECTOR.
43899
43900 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43901 (pupa_linux_prot_size): New variable.
43902 (pupa_linux_tmp_addr): Likewise.
43903 (pupa_linux_real_addr): Likewise.
43904 (pupa_linux_boot_zimage): New function.
43905 (pupa_linux_boot_bzimage): Likewise.
43906
43907 * kern/i386/pc/init.c (struct mem_region): New structure.
43908 (MAX_REGIONS): New macro.
43909 (mem_regions): New variable.
43910 (num_regions): Likewise.
43911 (pupa_os_area_addr): Likewise.
43912 (pupa_os_area_size): Likewise.
43913 (pupa_lower_mem): Likewise.
43914 (pupa_upper_mem): Likewise.
43915 (add_mem_region): New function.
43916 (compact_mem_regions): Likewise.
43917 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43918 the size of the conventional memory and that of so-called upper
43919 memory (before the first memory hole).
43920 Instead of adding each found region to free memory, use
43921 add_mem_region and add them after removing overlaps.
43922 Also, add only 1/4 of the upper memory to free memory. The rest
43923 is used for loading OS images. Maybe this is ad hoc, but this
43924 makes it much easier to relocate OS images when booting.
43925
43926 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43927 (pupa_enter_rescue_mode): Don't register initrd and module.
43928
43929 * kern/mm.c: Include pupa/dl.h.
43930
43931 * kern/main.c: Include pupa/file.h and pupa/device.h.
43932
43933 * kern/loader.c (pupa_loader_load_module_func): Removed.
43934 (pupa_loader_load_module): Likewise.
43935
43936 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43937 ``.o''.
43938
43939 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43940 (pupa_linux_tmp_addr): Likewise.
43941 (pupa_linux_real_addr): Likewise.
43942 (pupa_linux_boot_zimage): Likewise.
43943 (pupa_linux_boot_bzimage): Likewise.
43944
43945 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43946 (pupa_upper_mem): Likewise.
43947 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43948 module is too dangerous.
43949
43950 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43951 (pupa_os_area_size): Likewise.
43952 (pupa_loader_set): Remove the first argument. Loader doesn't
43953 manage modules or initrd any longer.
43954 (pupa_loader_load_module): Removed.
43955
43956 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43957 (linux_mod_SOURCES): New variable.
43958 (linux_mod_CFLAGS): Likewise.
43959
a13f9237 439602003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43961
43962 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43963 the length of a blocklist correctly.
43964
43965 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43966 Use ioctl only if the OS file is a block device.
43967 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43968 not very useful for normal files.
43969
43970 * kern/main.c (pupa_set_root_dev): New function.
43971 (pupa_load_normal_mode): Likewise.
43972 (pupa_main): Call those above.
43973
43974 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43975 pupa_uint16_t.
43976
43977 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43978
a5ffe966 439792003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43980
43981 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43982 (setup): Configure the installed partition information and the
43983 dl prefix.
43984
43985 * loader/i386/pc/chainloader.c (my_mod): New variable.
43986 (pupa_chainloader_unload): New function.
43987 (pupa_rescue_cmd_chainloader): Refer itself.
43988 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43989
43990 * kern/i386/pc/startup.S (install_partition): Removed.
43991 (version_string): Likewise.
43992 (config_file): Likewise.
43993 (pupa_install_dos_part): New variable.
43994 (pupa_install_bsd_part): Likewise.
43995 (pupa_prefix): Likewise.
43996 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43997
43998 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43999 and pupa/misc.h.
44000 (make_install_device): New function.
44001 (pupa_machine_init): Set the dl prefix.
44002
44003 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44004 (buf): Renamed to ...
44005 (linebuf): ... this.
44006 (pupa_rescue_cmd_prefix): New function.
44007 (pupa_rescue_cmd_insmod): Likewise.
44008 (pupa_rescue_cmd_rmmod): Likewise.
44009 (pupa_rescue_cmd_lsmod): Likewise.
44010 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44011 rmmod and lsmod.
44012
44013 * kern/mm.c (pupa_memalign): If failed even after invalidating
44014 disk caches, unload unneeded modules and retry.
44015
44016 * kern/misc.c (pupa_memmove): New function.
44017 (pupa_memcpy): Removed.
44018 (pupa_strcpy): New function.
44019 (pupa_itoa): Made static.
44020
44021 * kern/dl.c (pupa_dl_iterate): New function.
44022 (pupa_dl_ref): Likewise.
44023 (pupa_dl_unref): Likewise.
44024 (pupa_dl_unload): Return if succeeded or not.
44025 (pupa_dl_unload_unneeded): New function.
44026 (pupa_dl_unload_all): Likewise.
44027 (pupa_dl_init): Renamed to ...
44028 (pupa_dl_set_prefix): ... this.
44029 (pupa_dl_get_prefix): New function.
44030
44031 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44032 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44033 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44034 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44035 (pupa_install_dos_part): Declared.
44036 (pupa_install_bsd_part): Likewise.
44037 (pupa_prefix): Likewise.
44038 (pupa_boot_drive): Likewise.
44039
44040 * include/pupa/types.h: Fix a typo.
44041
44042 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44043 pupa_memmove.
44044 (pupa_memmove): Declared.
44045 (pupa_strcpy): Likewise.
44046
44047 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44048 pupa_mod_init takes one argument, its own module.
44049 (pupa_dl_unload_unneeded): Declared.
44050 (pupa_dl_unload_all): Likewise.
44051 (pupa_dl_ref): Likewise.
44052 (pupa_dl_unref): Likewise.
44053 (pupa_dl_iterate): Likewise.
44054 (pupa_dl_init): Renamed to ...
44055 (pupa_dl_set_prefix): ... this.
44056 (pupa_dl_get_prefix): Declared.
44057
44058 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44059 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44060 unloaded.
44061 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44062 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44063
44064 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44065 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44066
012d7999 440672003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44068
44069 * util/i386/pc/pupa-setup.c (setup): Define the internal
44070 function find_first_partition_start at the top level, because GCC
44071 3.0.x cannot compile internal functions in deeper scopes
44072 correctly.
44073 (find_root_device): Use lstat instead of stat.
44074 Don't follow symbolic links.
44075 Fix the path-constructing code.
44076
44077 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44078 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44079 by a BLKGETSIZE ioctl first, because block devices don't fill
44080 the member st_mode of the structure stat on Linux.
44081 [__linux__] (linux_find_partition): Use a temporary buffer
44082 REAL_DEV for the working space. Copy it to DEV before returning.
44083 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44084 buffer cache consistent.
44085 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44086 strncmp. The previous value was merely wrong.
44087 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44088
44089 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44090 FAT size is 12. The previous value was merely wrong.
44091
44092 * kern/main.c (pupa_main): Don't split the starting message from
44093 newlines.
44094
44095 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44096 LF, because BIOS goes crazy about character attributes in this
44097 case.
44098
1cc73a62 440992003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44100
44101 * include/i386/pc/util/biosdisk.h: New file.
44102 * util/i386/pc/biosdisk.c: Likewise.
44103 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44104
1cc73a62 44105 * Makefile.in (INCLUDE_DISTFILES): Added
44106 include/pupa/i386/pc/util/biosdisk.h.
44107 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44108 directory util/i386/pc.
44109 (install-local): Added a rule for sbin_UTILITIES.
44110 (uninstall): Likewise.
44111
44112 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44113
44114 * util/misc.c (xrealloc): New function.
44115 (pupa_malloc): Likewise.
44116 (pupa_free): Likewise.
44117 (pupa_realloc): Likewise.
44118 (pupa_stop): Likewise.
44119 (pupa_putchar): Likewise.
44120
44121 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44122
44123 * include/pupa/util/misc.h (xrealloc): Declared.
44124
44125 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44126 macro.
44127 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44128 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44129
44130 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44131 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44132
44133 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44134 way should be implemented.
44135 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44136
44137 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44138 the size of NAME for safety.
44139 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44140 0x88.
44141
44142 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44143 (pupa_setup_SOURCES): Likewise.
44144
44145 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44146
08b70fe8 441472002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44148
44149 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44150 bunch of pushl's from pusha, because this destroys the return
44151 value.
44152
62ddcc8f 441532002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44154
44155 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44156 This means that any missing prototypes could be fatal. Also, you
44157 must take care when writing assembly code. See the comments at
44158 the beginning of startup.S, for more details.
f19dbdb7 44159
62ddcc8f 44160 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44161 compilation mechanism.
44162 (pupa_chainloader_real_boot): Likewise.
44163 (pupa_biosdisk_rw_int13_extensions): Likewise.
44164 (pupa_biosdisk_rw_standard): Likewise.
44165 (pupa_biosdisk_check_int13_extensions): Likewise.
44166 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44167 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44168 (pupa_get_memsize): Likewise.
44169 (pupa_get_mmap_entry): Likewise.
44170 (pupa_console_putchar): Likewise.
44171 (pupa_console_setcursor): Likewise.
44172 (pupa_getrtsecs): Use pushl instead of push.
44173
44174 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44175 memory instead of the stack for a mmap entry, because some
44176 BIOSes may ignore the maximum size and overflow.
44177
44178 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44179
44180 * genmk.rb (PModule#rule): Compile automatically generated
44181 sources with module-specific CFLAGS as well as other sources.
44182
9962ed99 441832002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44184
44185 * configure.ac: Check ld.
44186 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44187 respectively, before checking endianness and sizes.
44188
44189 * Makefile.in (LD): New variable.
f19dbdb7 44190
abdfc3c5 441912002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44192
44193 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44194
6a161fa9 441952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44196
44197 * Changelog: New file.
44198