]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* po/README: Exclude ko.po due to disclaimer problems.
[grub2.git] / ChangeLog
CommitLineData
a88f3270
VS
12012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * po/README: Exclude ko.po due to disclaimer problems.
4
d61357ce
VS
52012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8 len = 0.
9 (grub_gettext_translate_real): Handle 0th string.
10 (grub_gettext_translate): Ensure that "" isn't translated.
11
505e41dc
VS
122012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
15 TRANSLATORS comment.
16 (grub_diskfilter_print_partmap): Propagate changing of error into
17 warning.
18
e44092db
VS
192012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
22 to uint64_t to prevent overflow.
23 (grub_diskfilter_lv): Increase start_extent and extent_count
24 to uint64_t to prevent overflow.
25
9b83956a
VS
262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * configure.ac: Increase version.
29
da0d5b3f
VS
302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
31
32 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
33
34 * po/Rules-translit: New file.
35 * po/arabic.sed: Likewise.
36 * po/cyrillic.sed: Likewise.
37 * po/greek.sed: Likewise.
38 * po/hebrew.sed: Likewise.
39 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
40 * po/Makefile.in.in: Add extra_dist4.
41
ac66b453
VS
422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Handle big-endian minixfs (fixes minixfs tests on bigendian).
45
46 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
47 modify names. Introduce MODE_BIGENDIAN.
48 * grub-core/fs/minix_be.c: New file.
49 * grub-core/fs/minix2_be.c: Likewise
50 * grub-core/fs/minix3_be.c: Likewise.
51 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
52 minix3_be.
53 * grub-core/Makefile.core.def (minix_be): New module.
54 (minix2_be): Likewise.
55 (minix3_be): Likewise.
56
572012-04-01 Felix <email@hamburg.de>
58
59 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
60 (devs): Add MBP 2011.
61
0a2d5a82
VS
622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
65
d1625889
VS
662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/normal/cmdline.c (print_completion): New field
69 prompt_len.
70 (grub_cmdline_get): Handle width properly.
71
6d36a236
VS
722012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/commands/lsacpi.c (options): Add missing terminator.
75
9576977e
VS
762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 79 after 29th of February.
9576977e 80
d73ff15d
VS
812012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
82
83 Fix exfat endianness handling.
84
85 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
86 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
87 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
88 Byte-swap utf16 when necessary.
89 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
90
bbb39a45
AB
912012-03-31 Anton Blanchard <anton@samba.org>
922012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
93
94 Fix btrfs endianness handling.
95
96 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
97 (lower_bound): Make root uint64_t. Use root in le.
98 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
99 (find_path): Fix template key init.
100 (grub_btrfs_dir): Fix mtime byteswap.
101 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
102
354e0af7
VS
1032012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
106 recursion_depth. Break infinite resursions. All users updated.
107
4e75f21c
VS
1082012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
111 after free.
112 Reported by: Peter Jones.
113
25581802
AB
1142012-03-31 Anton Blanchard <anton@samba.org>
115
116 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
117 8 bit values.
118
08fbf92e
VS
1192012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * util/grub-install.in: Fix nvram call for PreP.
122
5d1182a6
VS
1232012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
126 the error when some elements are missing into a warning.
127
3f8cdd90
VS
1282012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
131
51006716
CW
1322012-03-28 Colin Watson <cjwatson@ubuntu.com>
133
134 * docs/grub.texi (Invoking grub-probe): New section.
135 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
136
e1bd676b
VS
1372012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Fix tab and wide character handling in editor and menu.
140
141 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
142 agglomerate control characters with combining marks.
143 (bidi_line_wrap): Allow break on tab.
144 (grub_unicode_get_comb_start): New function.
145 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
146 and tab correctly.
147 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
148 with a space.
149 * grub-core/normal/term.c (print_ucs4_terminal): New argument
150 fixed_tab_size. All users updated.
151 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
152 (grub_term_getcharwidth): Handle \t.
153 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
154 and copy.
155
22e6a774
VS
1562012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
157
158 Handle big-endian mdraid.
159
160 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
161 * grub-core/Makefile.core.def (mdraid09_be): New module.
162 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
163 rather than grub_le_to_cpu* and grub_cpu_to_le*.
164 * grub-core/disk/mdraid_linux_be.c: New file.
165
3c0eae66
VS
1662012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
169
b6cf74c9
VS
1702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
173 missing quotes which caused confusion among translators.
174
83c93b9c
VS
1752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * util/grub-mkconfig_lib.in: Fix typo.
178
ac6fd218
VS
1792012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
182 spaces.
183 * tests/grub_script_leading_whitespace.in: New file.
184 * Makefile.util.def (grub_script_leading_whitespace): New test.
185
ba287dd8
VS
1862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
189 to work.
190
d2d58d0a
VS
1912012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
194 starts with control character.
195
0382d9bb
VS
1962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
199 overflow.
200 (grub_gdb_outbuf): Likewise.
201
d83ff9f9
VS
2022012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
205 zero terminator. Fixes a crash.
206
2282da4a
VS
2072012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
210 beyond 4 GiB.
211 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
212 images independently of preffered adderss field.
213
0ae4f0bd
VS
2142012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
217 * grub-core/commands/regexp.c: Likewise.
218 * grub-core/loader/i386/linux.c: Likewise.
219 * grub-core/partmap/msdos.c: Likewise.
220 * grub-core/script/execute.c: Likewise.
221 * grub-core/term/gfxterm.c: Likewise.
222
546fbe9b
VS
2232012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
224
225 Add variable parsing in $"..." and fix several mismatches with bash.
226
227 * Makefile.util.def (grub_script_gettext): New test.
228 * grub-core/script/execute.c (parse_string): New function.
229 (gettext_append): Likewise.
230 (grub_script_arglist_to_argv): Use gettext_append.
231 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
232 * tests/grub_script_gettext.in: New file.
233
9fdb2d7b
VS
2342012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
235
236 Fix handling of leading spaces in scripts.
237
238 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
239 spaces.
240 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
241 other than skipping \r. All users updated.
242 * tests/grub_script_echo1.in: Add space-related tests.
243 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
244
1a1ac4f6
VS
2452012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
248
b63d89b6
VS
2492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * configure.ac: Bump up the version to beta2.
252
17f38c0f
VS
2532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
254
255 Fix gettext reload bugs (e.g. inability to disable gettext
256 once enabled).
257
258 * grub-core/gettext/gettext.c: Encapsulate all static variables in
259 main_context and secondary_context. All functions updated.
260 (grub_gettext_translate): Rename to ...
261 (grub_gettext_translate_real): ... this. Return NULL on failed
262 translate.
263 (grub_gettext_translate): Handle secondary context.
264 (grub_gettext_delete_list): Close file and zero-out the context.
265 (grub_mofile_open): Don't call grub_gettext_delete_list.
266 Don't close file.
267 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
268 if locale="" to avoid pointless error message.
269 (grub_gettext_env_write_lang): Update lang even if load fails.
270 Handle secondary context.
271 (grub_gettext_reread_prefix): New function.
272 (read_main): Likewise.
273 (read_secondary): Likewise.
274 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
275 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
276 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
277 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
278
8e56f870
VS
2792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * configure.ac: Decrease warning level to avoid spurious warnings and
282 to be able to compile with GCC 4.2.
283 * Makefile.util.def: Remove -Wno-error=logical-op.
284
82f6d455
WB
2852012-03-10 William Bittner <william.bittner@gmail.com>
286
287 * util/import_unicode.py: Add missing brackets around string for
288 python 3 support.
289
1ecd61a4
VS
2902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
291
292 Fix efi chainloader on network root.
293
294 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
295 network devices.
296 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
297 New function.
298
14361ee8
VS
2992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
302 unused show_text member.
303 * docs/grub.texi: Document "text" property.
304
922aabf3
VS
3052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
308 in dprintf.
309
ec316771
VS
3102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
311
312 Fix IMSM handling on Fedora.
313
314 * util/getroot.c (grub_util_is_imsm): New function.
315 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
316
0f021838
VS
3172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * Makefile.am: Strip gold section.
320 * conf/Makefile.common: Likewise.
321 * gentpl.py: Likewise.
322 * grub-core/Makefile.core.def: Likewise.
323 * grub-core/genmod.sh.in: Likewise.
324
1039c8eb
VS
3252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
328 * util/grub.d/20_linux_xen.in: Likewise.
329 Based on Debian patch.
330
6dd412cd
VS
3312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * util/grub.d/10_linux.in: Fix syntax error resulting in
334 Richard Laager's patch.
335 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
336
3fd8bae5
VS
3372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
340 dependencies.
341
7eea1671
RL
3422012-03-10 Richard Laager <rlaager@wiktel.com>
343
344 * util/grub.d/10_linux.in: Fix ZFS root passing.
345
e8e0566b
VS
3462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
349 * grub-core/commands/xnu_uuid.c: Likewise.
350 * grub-core/loader/efi/appleloader.c: Likewise.
351 * grub-core/script/execute.c: Likewise.
352 * grub-core/script/main.c: Likewise.
353 * util/grub-mkfont.c: Likewise.
354
1acc5b1f
VS
3552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * util/grub-mkfont.c (options): Use more appropriate "select" that
358 "set" for face index.
359
35d70620
VS
3602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * util/grub-editenv.c (options): Gettextize command summaries.
363
c9eb96b5
VS
3642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
367 "out of memory" error messagge.
368
1f493136
VS
3692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
372 of diskfilter for diskfilter on diskfilter support.
373
6d790129
VS
3742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
377
005f46c9
VS
3782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * util/grub-install.in: Check for themes/starfield/theme.txt and not
381 themes/starfield.
382
c8f778a0
VS
3832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
386
de1e64eb
VS
3872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
390
c6d54211
VS
3912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
394 of error message.
395
dd390777
VS
3962012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
399
5fd1c522
VS
4002012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
403 message.
c6d54211 404 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 405
fae01f6c
VS
4062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
409 Gettextize.
410 * util/grub-mount.c (options): Likewise.
411
292fdaff
VS
4122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
415 gettextize.
416 * grub-core/commands/search_wrap.c (options): Likewise.
417
ecdbae77
VS
4182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
421
52bfedfa
VS
4222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
425 size calculation.
426 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
427 none is known.
428
55b20e58
VS
4292012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
432 "temporary" since it's used in identifier and is limited in space.
433
fda9d101
VS
4342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * po/POTFILES.in: Regenerate. Include *.h since they contain
437 translatable strings as well.
438
6a0295e2
VS
4392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
442 byte-swap on big-endian.
443 Reported by: Lennart Sorensen
444
807fb77c
VS
4452012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
448 (allocate_pages): Improve dprintf.
449 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
450 code32_start. Fill code32_start and kernel_alignment in params.
451 (grub_cmd_initrd): Use prot_init_space.
452
61ac50ba
VS
4532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
456
abdd26dd
VS
4572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * util/grub-install.in: Add missing dot at the end of sentence.
460
6e69da9c
VS
4612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
464 * grub-core/commands/videotest.c: Likewise.
465 * grub-core/loader/i386/linux.c: Likewise.
466
4a929343
VS
4672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
470 sentence.
471 Reported by: Milo Casagrande.
472
bb51c6c6
VS
4732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
476 * grub-core/commands/gptsync.c: Likewise.
477 * grub-core/commands/hashsum.c: Likewise.
478 * grub-core/commands/i386/pc/sendkey.c: Likewise.
479 * grub-core/commands/legacycfg.c: Likewise.
480 * grub-core/io/gzio.c: Likewise.
481 * grub-core/net/net.c: Likewise.
482 * grub-core/term/gfxterm.c: Likewise.
483 * grub-core/term/terminfo.c: Likewise.
484 * grub-core/tests/test_blockarg.c: Likewise.
485 * grub-core/video/video.c: Likewise.
486 * util/grub-install.in: Likewise.
487 * util/grub-mkfont.c: Likewise.
488
b2b149cb
VS
4892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
492
c7c080ad
VS
4932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 496 Reported by: David Prévot.
c7c080ad 497
f2e243c0
VS
4982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
501 description.
502
09963c76
VS
5032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * util/grub-script-check.c (main): Fix a syntax error message which was
506 unclear.
507
a50514a8
VS
5082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
511
4650daec
VS
5122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
515 messages.
516
5172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
518
519 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
520 without argument.
521 * util/grub-mount.c (options): Likewise.
522
bbc5a342
VS
5232012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
526
ef292a87
VS
5272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/net/http.c: Add TRANSLATORS comments.
530 * grub-core/normal/cmdline.c: Likewise.
531 * grub-core/normal/misc.c: Likewise.
532 * grub-core/partmap/msdos.c: Likewise.
533 * grub-core/parttool/msdospart.c: Likewise.
534 * grub-core/script/execute.c: Likewise.
535 * grub-core/script/main.c: Likewise.
536 * grub-core/term/terminfo.c: Likewise.
537 * grub-core/video/bitmap.c: Likewise.
538 * util/grub-install.in: Likewise.
539 * util/grub-mkimage.c: Likewise.
540 * util/grub-mklayout.c: Likewise.
541 * util/grub-setup.c: Likewise.
542
0fc19bd0
VS
5432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
546 with similar messages in grub-fstest.
547
d95862ef
VS
5482012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * util/grub-install.in: Unify "option requires an argument" message
551 with similar messages in other files.
552 * util/grub-mkconfig.in: Likewise.
553
b7308f90
VS
5542012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * util/grub-set-default.in: Replace printf with gettext_printf (the
557 string in in question is already translated from grub-reboot)
558
559dc587
VS
5592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * configure.ac: Bump up the version to beta1.
562
1a11761f
VS
5632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
566 case when min_align = 0.
567
24539abd
VS
5682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
571 and fix a case when line_start overflows.
572
32bd735b
VS
5732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * util/grub-reboot.in (usage): Mention id posibility.
576 * util/grub-set-default.in (usage): Likewise.
577
1a2fd1e6
VS
5782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
581 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
582 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
583 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
584 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
585 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
586 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
587
90eeab76
VS
5882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/commands/menuentry.c (options): Remove
591 GRUB_ARG_OPTION_REPEATABLE.
592 Reported by: Andreas Vogel
593
5ad1be82
AV
5942012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
595
596 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
597
cb055286
HE
5982012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
599
600 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
601 error.
602
93b1cd79
VS
6032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
604
605 Use sort -V by the idea of Georgi Georgiev.
606
607 * util/grub-mkconfig_lib.in (version_sort): New function.
608 (version_test_numeric): Use version_sort.
609
0cdc126c
VS
6102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Use submenus in grub-mkconfig.
613
614 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
615 * util/grub-mkconfig_lib.in (grub_quote): New function.
616 (gettext_printf): Use gettext and not gettext_quoted to fix several
617 messages.
618 * util/grub.d/10_hurd.in: Use submenus.
619 * util/grub.d/10_kfreebsd.in: Likewise.
620 * util/grub.d/10_linux.in: Likewise.
621 * util/grub.d/10_netbsd.in: Likewise.
622 * util/grub.d/20_linux_xen.in: Likewise.
623 * util/grub.d/30_os-prober.in: Likewise.
624 * util/grub.d/10_illumos.in: Add missing quoting.
625 * util/grub.d/10_windows.in: Likewise.
626
d9bef9bc
VS
6272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
628
629 Fix menu title instability bug.
630
631 * grub-core/commands/menuentry.c (options): New option --id.
632 (grub_normal_add_menu_entry): New argument id. All users updated.
633 (grub_cmd_menuentry): Handle --id.
634 (grub_menu_init): Accept unknown arguments.
635 * grub-core/normal/main.c (features): Add feature_menuentry_id and
636 feature_menuentry_options.
637 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
638 saved_entry.
639 (get_entry_number): Match with id as well.
640 * include/grub/menu.h (grub_menu_entry): New member id.
641 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
642 * util/grub.d/00_header.in: Define menuentry_id_option.
643 * util/grub.d/10_hurd.in: Define id.
644 * util/grub.d/10_illumos.in: Likewise.
645 * util/grub.d/10_kfreebsd.in: Likewise.
646 * util/grub.d/10_linux.in: Likewise.
647 * util/grub.d/10_netbsd.in: Likewise.
648 * util/grub.d/10_windows.in: Likewise.
649 * util/grub.d/20_linux_xen.in: Likewise.
650 * util/grub.d/30_os-prober.in: Likewise.
651
6522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
653
654 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
655 "scope" with "body".
656
7c8d0ce7
VS
6572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
660 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
661 prot_size and prot_file_size.
662
49de079b
VS
6632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
666 All users updated. If easily=1 require raid-5/-6 to be full.
667 (is_node_readable): Likewise.
668 (scan_devices): Scan incomplete but readable LVs at the end.
669 (grub_diskfilter_memberlist): Pull missing devices.
670 (insert_array): Skip scanning until device is complete or scan is
671 done otherwise.
672 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
673 check.
674 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
675 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
676
aff05d45
MG
6772012-03-03 Matthew Garrett <mjg@redhat.com>
6782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Avoid EFI boot services when loading Linux.
681
682 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
683 avoid_efi_bootservices. All users updated.
684 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
685 argument avoid_efi_bootservices. All users updated.
686 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
687 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
688 align, min_align, relocatable, prefered_address. All users updated.
689 Allocate avoiding boot services if kernel is relocatable.
690 (grub_cmd_linux): Check if kernel is relocatable.
691 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
692 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
693 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
694 avoid_efi_boot_services.
695 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
696 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
697 (linux_kernel_params): Likewise.
698
3935dde2
MG
6992012-03-03 Matthew Garrett <mjg@redhat.com>
7002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
701
702 Use EDID on EFI.
703
704 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
705 datasize_out.
706 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
707 modes. Set gop_handle.
708 (grub_video_gop_get_edid): New function.
709 (grub_gop_get_preferred_mode): Likewise.
710 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
711 (grub_video_efi_gop_adapter): Set .get_edid.
712 * include/grub/efi/edid.h: New file.
713 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
714
32107ec0
VS
7152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * util/grub-install.in: Load efivars unconditionally.
718
e70a2c50
VS
7192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * po/Rules-piglatin: Change suffix from .po-update-en to
722 .po-update-en-piglatin.
723
8f9cace1
VS
7242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
725
726 Add a pig farm.
727
728 * po/piglatin.sed: New file.
729 * po/en@piglatin.header: Likewise.
730 * po/Rules-piglatin: Likewise.
731 * po/README: Add en@piglatin to autogenerated languages.
732
8f95d002
VS
7332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
736 "Command for ...".
737 * grub-core/commands/hdparm.c (options): Use "Display" rather than
738 "Check" since we don't check anything.
739 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
740 is 64-bit one.
741 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
742 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
743 (grub_md_sha512_real): Likewise.
744
805a8dcc
VS
7452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/commands/gptsync.c: Fix typographic quoting.
748 * grub-core/commands/ieee1275/suspend.c: Likewise.
749 * grub-core/commands/parttool.c: Likewise.
750 * grub-core/commands/search_wrap.c: Likewise.
751 * grub-core/commands/videoinfo.c: Likewise.
752 * grub-core/gfxmenu/gui_label.c: Likewise.
753 * grub-core/hello/hello.c: Likewise.
754 * grub-core/kern/emu/main.c: Likewise.
755 * grub-core/net/net.c: Likewise.
756 * grub-core/normal/menu.c: Likewise.
757 * grub-core/normal/menu_text.c: Likewise.
758 * grub-core/normal/misc.c: Likewise.
759 * util/grub-editenv.c: Likewise.
760 * util/grub-install.in: Likewise.
761 * util/grub-kbdcomp.in: Likewise.
762 * util/grub-mkconfig.in: Likewise.
763 * util/grub-mknetdir.in: Likewise.
764 * util/grub-mkrescue.in: Likewise.
765 * util/grub-mkstandalone.in: Likewise.
766 * util/grub-reboot.in: Likewise.
767 * util/grub-set-default.in: Likewise.
768 * util/grub-setup.c: Likewise.
769 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
770
40211ab8
VS
7712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
774 * grub-core/commands/keystatus.c: Likewise.
775 * grub-core/commands/loadenv.c: Likewise.
776 * grub-core/commands/probe.c: Likewise.
777 * grub-core/commands/regexp.c: Likewise.
778 * grub-core/commands/true.c: Likewise.
779 * grub-core/commands/videoinfo.c: Likewise.
780 * grub-core/disk/cryptodisk.c: Likewise.
781 * grub-core/disk/ldm.c: Likewise.
782 * grub-core/disk/loopback.c: Likewise.
783 * grub-core/disk/luks.c: Likewise.
784 * grub-core/fs/zfs/zfsinfo.c: Likewise.
785 * grub-core/kern/disk.c: Likewise.
786 * grub-core/kern/emu/hostdisk.c: Likewise.
787
0c7d99c7
VS
7882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
791 * util/grub-install.in: Add missing quote in the comment.
792
e7d2559b
VS
7932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
796 * grub-core/commands/lsmmap.c: Likewise.
797 * grub-core/commands/minicmd.c: Likewise.
798 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
799 * grub-core/commands/regexp.c: Likewise.
800 * grub-core/gdb/gdb.c: Likewise.
801 * grub-core/term/gfxterm.c: Likewise.
802 * util/grub-mkconfig.in: Likewise.
803 * util/grub-mkfont.c: Likewise.
804 * util/grub-mklayout.c: Likewise.
805 * util/grub-mknetdir.in: Likewise.
806 * util/grub-mkrescue.in: Likewise.
807 * util/grub.d/30_os-prober.in: Likewise.
808
49ce9e50
VS
8092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
812 with "Direct color" and "Packed" with "Packed pixel".
813 (grub_cmd_videoinfo): Simplify legend.
814
e4b791fa
VS
8152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
818 absolutely unclear error message.
819
fd1265cb
VS
8202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * util/grub-mkstandalone.in: Remove confusing leftover print.
823
8822a8a0
VS
8242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
827 comments.
828 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
829 (GRUB_MOD_INIT): Likewise.
830 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
831 VGA mode.
832 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
833 comments.
834 * util/grub-install.in (usage): Likewise.
835 Spell ID in whole letters.
836 Add missing ending dot.
837 Quote variables.
838 * util/grub-reboot.in: Fix capitalisation.
839 * util/grub-set-default.in: Likewise.
840
937fd0cc
VS
8412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
844 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
845 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
846 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
847 Disable -Werror for -Wdeprecated-declarations.
848 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
849 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
850 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
851 (grub_util_get_grub_dev): Make luks handling dependent on
852 HAVE_DEVICE_MAPPER and not __linux__.
853 (get_win32_path): Fix format security.
854 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
855 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
856 Don't try grub_find_zpool_from_dir.
857 (grub_make_system_path_relative_to_its_root) [!__linux__]:
858 #ifdef-out paresdir.
859
1bab1ae3
VS
8602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * util/grub-pe2elf.c (usage): Add missing noreturn.
863 (write_section_data): Rename name to shname to avoid shadowing.
864 (write_symbol_table): Rename name to symname to avoid shadowing.
865 Fix write_reloc_section call.
866
ef023e42
VS
8672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
870 to ensure that it's after the last byte of .text.
871
48afcb75
VS
8722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * util/ieee1275/ofpath.c (my_isdigit): New function.
875 (trailing_digits): Use my_isdigit.
876 (strip_trailing_digits): Likewise.
877
88d51eff
VS
8782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
881 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
882
17edc2ba
VS
8832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/kern/i386/pc/startup.S: Define __start.
886
ad5518d7
VS
8872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
890 strip already transforms he format.
891
9e95e1bf
VS
8922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
895
9cc3ee5c
VS
8962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * util/grub-install.in: Add missing gettext init.
899 * util/grub-kbdcomp.in: Likewise.
900 * util/grub-mkconfig.in: Likewise.
901 * util/grub-mknetdir.in: Likewise.
902 * util/grub-mkrescue.in: Likewise.
903 * util/grub-mkstandalone.in: Likewise.
904 * util/grub-reboot.in: Likewise.
905 * util/grub-set-default.in: Likewise.
906 * util/grub.d/00_header.in: Likewise.
907 * util/grub.d/10_hurd.in: Likewise.
908 * util/grub.d/10_windows.in: Likewise.
909 * util/grub.d/30_os-prober.in: Likewise.
910 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
911
49e08a06
VS
9122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * po/Rules-swiss: Fix header comment.
915
3809cb41
AV
9162012-02-29 Andreas Vogel <anvoit>
917
918 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
919 resulted in leak of arguments.
920
fa6ec573
VS
9212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/boot/i386/pc/startup_raw.S: Use separate
924 reed_solomon_size const definition instead of computing it since
925 Apple assembler doesn't support the later.
926
22899b9c
VS
9272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * gentpl.py (kernel): Rewrite Apple part.
930
a132afc3
VS
9312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * include/grub/kernel.h (FOR_MODULES): Check module magic.
934
9d742bd4
VS
9352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * util/grub-mkimagexx.c (locate_sections): Support non-standard
938 ELF section gap.
939 (load_image): Likewise.
940
f04a9a21
VS
9412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * configure.ac: Fix a typo in previous commit.
944
46cf439c
VS
9452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
946
947 Don't add -Wl,-N on Apple platform.
948
949 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
950 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
951
c4c48c54
VS
9522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/Makefile.core.def (lzma_decompress): Use
955 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
956
31a12124
VS
9572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/genmod.sh.in: Rewrite the Apple part.
960
4f3aa1af
VS
9612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
964 comparison.
965
7bd8b0c7
VS
9662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * acinclude.m4 (grub_CHECK_PIC): New test.
969 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
970
97304d7c
VS
9712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
974 to avoid the warning.
975
fb883812
VS
9762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
979 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
980 after. All users updated.
981
a121c964
VS
9822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
983
984 Use the common size routine in hostfs so we can read disks as well.
985
986 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
987 (grub_util_get_fd_size): ... this. Return size in bytes.
988 All users updated.
989 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
990 grub_util_get_fd_size.
991
c66d6410
VS
9922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
995 Add blocksize retrieval.
996
dfc8aeb0
VS
9972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * configure.ac: Restore CFLAGS after efiemu check.
1000
403e25a5
VS
10012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1004 Apple bug.
1005
382775d1
VS
10062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1009
6fd4e6e4
VS
10102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1013 (grub_cmd_halt): Likewise.
1014
bea359d6
VS
10152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1018 for local arithmetics.
1019 Break %sp init into 2 instructions.
1020 Add 0 byte at the end.
1021
32eb6ee1
VS
10222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1025 before loops.
1026
e8377389
VS
10272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1030 for context.
1031
8cb17de7
VS
10322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/disk/ldm.c (make_vg): Init part.name.
1035 (grub_ldm_detect): Silence spurious warning.
1036 (grub_util_is_ldm): Likewise.
1037
595717e6
VS
10382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1041 sane value to avoid a spurious warning.
1042
c4b7e588
VS
10432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1046 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1047
59824957
VS
10482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1051 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1052
70115b99
VS
10532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1056 hardcoding the relevant info.
1057
56733740
VS
10582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1061 missing const qualifiers.
1062 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1063
43481481
VS
10642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * util/getroot.c [__APPLE__]: Add missing includes.
1067 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1068
3cb38f01
VS
10692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1072
d9dbf11e
VS
10732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1076 avoid conflicts.
1077
0c42a45d
VS
10782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1081
46c34eb0
VS
10822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1085 and grub_file_close call.
1086
99ce1597
VS
10872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 Add LZSS Mach-O support (needed for new xnu kernelcache).
1090
1091 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1092 * grub-core/loader/lzss.c: New file.
1093 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1094 on Mach-O open failure.
1095 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1096 Don't free cmdsXX in uncompressedXX is set.
1097 (grub_macho_file): Init new fields.
1098 New argument is_64bit. All users updated.
1099 Handle compressed. Error out if no suitable architecture is found.
1100 Don't close file.
1101 (grub_macho_open): New argument is_64bit. All users updated.
1102 * grub-core/loader/macho32.c: Add defines for new fields.
1103 * grub-core/loader/macho64.c: Likewise.
1104 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1105 (grub_macho_parse): Handle compressed.
1106 Defer actual processing if compressed.
1107 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1108 "filename". All users updated.
1109 (grub_macho_size): New argument "filename". All users updated.
1110 (grub_macho_get_entry_point): Likewise.
1111 (grub_macho_load): Handle compressed.
1112 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1113 (GRUB_MACHO_LZSS_OFFSET): New define.
1114 (grub_decompress_lzss): New proto.
1115 * include/grub/machoload.h (grub_macho_file): New fields to handle
1116 compressed.
1117 (grub_macho_contains_macho64): Remove proto.
1118 (grub_macho_contains_macho32): Likewise.
1119 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1120
ebd17d6f
VS
11212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1124
2702b4e4
VS
11252012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 Fix make dist.
1128
1129 * Makefile.am (starfield_theme_files): New var.
1130 (starfield_DATA): Use starfield_theme_files.
1131 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1132 Add bootcheck-related files.
1133 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1134 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1135 and font_char_metrics.txt.
1136 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1137 (setjmp): Add lib/ia64/longjmp.S.
1138 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1139 * po/POTFILES.in: Regenerate.
1140 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1141 DISTFILES.common.extra1.
1142 * util/devicemap.c: Removed.
1143 * grub-core/lib/i386/relocator_backward.S: Likewise.
1144 * util/import_gcry.py: Remove unused files. Add extra_dist for
1145 ChangeLog.
1146
cf1adfdf
VS
11472012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1150 grub_gettext_delete_list before changing grub_gettext_max to avoid
1151 running out of array bounds.
1152
11532012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1154
1155 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1156 grub_vga_text_init/grub_vga_text_fini.
1157
cf1adfdf 11582012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1159
1160 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1161
541d92e9
VS
11622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * configure.ac: Bump to 2.00~beta0.
1165
7931dddf
VS
11662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1169 missing initialisation.
1170
f1b16fa3
VS
11712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1174
83ddae23
VS
11752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 Support v2 xnu boot arguments.
1178
1179 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1180 New argument fsbfreq_out.
1181 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1182 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1183 be used.
1184 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1185 darwin_version.
1186 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1187 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1188 (grub_xnu_boot_params): Rename to ...
1189 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1190 (grub_xnu_boot_params_v2): New struct.
1191
dc693fe6
VS
11922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1195 zeroing of CRC field before computing CRC.
1196
5a6e39c2
VS
11972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1200 Change order of allocations to decrease fragmentation.
1201
6c21f5d7
VS
12022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1205
cfe456dc
CW
12062012-02-27 Colin Watson <cjwatson@ubuntu.com>
1207
1208 Use write-combining MTRR to speed up video with buggy BIOSes.
1209
1210 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1211 (cpuid): New define.
1212 (rdmsr): Likewise.
1213 (wrmsr): Likewise.
1214 (mtrr_base): Likewise.
1215 (mtrr_mask): Likewise.
1216 (grub_vbe_enable_mtrr_entry): New function.
1217 (grub_vbe_enable_mtrr): Likewise.
1218 (grub_vbe_disable_mtrr): Likewise.
1219 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1220 control off to BIOS.
1221 (grub_video_vbe_init): Fill mtrr.
1222 (grub_video_vbe_fini): Disable mtrr.
1223 (grub_video_vbe_get_info_and_fini): Likewise.
1224 (grub_video_vbe_setup): Enable mtrr.
1225
e3c78337
CW
12262012-02-27 Colin Watson <cjwatson@ubuntu.com>
1227
1228 * include/grub/partition.h (grub_partition_map): Change prototype of
1229 embed to take a maximum value for nsectors.
1230 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1231 * include/grub/fs.h (grub_fs): Likewise.
1232 * grub-core/partmap/msdos.c (embed_signatures): New array.
1233 (pc_partition_map_embed): Check for and avoid sectors matching any
1234 of the signatures in embed_signatures, up to max_nsectors.
1235 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1236 returned sector map to max_nsectors.
1237 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1238 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1239 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1240 * util/grub-setup.c (setup): Allow for the embedding area being
1241 split into multiple blocklists. Tell dest_partmap->embed the
1242 maximum number of sectors we care about.
1243
12442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1247 Specify blocklist_install and reserver_first_sector for all fs.
1248 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1249 blocklists.
1250
984b973f
VS
12512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * util/grub-install.in: Clarify strings.
1254 Fix source dir check.
1255
f122e0d6
RL
12562012-02-27 Richard Laager <rlaager@wiktel.com>
1257
1258 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1259 "zfs" and "fuse.zfs" as synonyms.
1260
071114bb
VS
12612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * configure.ac: Put platform and target_cpu substitutions back since
1264 they are used for directories.
1265
817e6abc
RL
12662012-02-27 Richard Laager <rlaager@wiktel.com>
12672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1270 * util/grub.d/20_linux_xen.in: Likewise.
1271
897b7419
RL
12722012-02-27 Richard Laager <rlaager@wiktel.com>
1273
1274 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1275 with full paths.
1276
a414bd15
RL
12772012-02-27 Richard Laager <rlaager@wiktel.com>
1278
1279 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1280 unescape.
1281
30ac48c4
VS
12822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 Don't use insecure popen in getroot.
1285
1286 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1287 (exec_pipe): ... here.
1288 (find_root_devices_from_poolname): Use exec_pipe.
1289
53f13848
VS
12902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 Remove platform and target_cpu replacement.
1293
1294 * configure.ac: Remove platform and target_cpu substitutions.
1295 * tests/util/grub-shell.in: Use modinfo.
1296 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1297 explicitly.
1298
90cb2803
VS
12992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 Autodetect platform in grub-install but allow override.
1302
1303 * util/grub-install.in: Autodetect platform. Support --target and
1304 --directory. Read platform from modinfo.sh.
1305
b9136427
VS
13062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 Support btrfs multi-volume probe.
1309
1310 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1311 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1312 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1313 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1314 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1315 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1316 grub_find_root_devices_from_btrfs if on btrfs.
1317
c36e5cd1
VS
13182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 Remove any awareness of *.c util files about target.
1321
1322 * Makefile.util.def (grub-setup): Split to ...
1323 (grub-bios-setup): ... and this.
1324 (grub-sparc64-setup): ... and this.
1325 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1326 * docs/man/grub-setup.h2m: Split into ...
1327 * docs/man/grub-sparc64-setup.h2m: ... this.
1328 * docs/man/grub-bios-setup.h2m: ... and this.
1329 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1330 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1331 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1332 (grub_target_addr_t): Remove.
1333 (grub_target_size_t): Remove.
1334 (grub_target_ssize_t): Remove.
1335 * util/grub-install.in: Use new grub-*-setup.
1336 * util/grub-mkimagexx.c (Elf_Word): New define.
1337 (Elf_Half): Likewise.
1338 (Elf_Section): Likewise.
1339 (ELF_ST_TYPE): Likewise.
1340 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1341 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1342
584b2f8a
VS
13432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 Replace grub_target_addr with more appropriate types.
1346
1347 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1348 grub_target_addr with grub_addr.
1349 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1350 grub_target_addr with grub_port.
1351 (grub_cmd_write): Likewise.
1352 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1353 grub_target_addr with grub_addr.
1354 (grub_cmd_write): Likewise.
1355 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1356
5a0dc6fb
VS
13572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1360 const qualifier for vendor_guid.
1361
786aff6e
VS
13622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1365 const qualifier.
1366 (efiemu_memequal): Likewise.
1367 (find_variable): Likewise.
1368
49017b17
VS
13692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 Fix missing console prototype on qemu-mips.
1372
1373 * include/grub/mips/qemu_mips/console.h: New file.
1374
c5988629
MG
13752012-02-27 Matthew Garrett <mjg@redhat.com>
13762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1379 * include/grub/efi/efi.h: Likewise.
1380 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1381 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1382 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1383 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1384 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1385 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1386
e33f8d69
MG
13872012-02-27 Matthew Garrett <mjg@redhat.com>
1388
1389 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1390
fb312cd9
VS
13912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1394 error.
1395
7134247c
VS
13962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * configure.ac: Remove inappropriate use of program_transform_name
1399 on grubdir and bootdir but allow explicit specification of those
1400 variables.
1401
6a313124
VS
14022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * util/grub-mknetdir.in (grub_prefix): Removed.
1405 (subdir): Use @bootdirname@ and @grubdirname@.
1406
2311c5ca
VS
14072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1410
7d5d60f7
VS
14112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * po/POTFILES.in: Regenerated.
1414
8151bc82
VS
14152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 Remove improper use of program_transform_name on pkglibrootdir.
1418
1419 * configure.ac (pkglibrootdir): Removed.
1420 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1421 * util/grub-mkimage.c: Likewise.
1422
b4a6a533
VS
14232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1426 warning.
1427
668f304f
VS
14282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * util/grub-install.in: Use file identifier if no UUID is available
1431 or user explicitly prompted for it.
1432
665f2341
NP
14332012-02-27 Navdeep Parhar <nparhar@gmail.com>
1434
1435 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1436 (freebsd_get_zfs): New function.
1437 (grub_freebsd_boot): Pass zfs UUID.
1438 (grub_cmd_freebsd): Set zfs UUID.
1439
8151bc82 14402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1441
1442 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1443 pkglibrootdir.
1444
e4c498a1
MG
14452012-02-27 Mike Gilbert <floppym@gentoo.org>
1446
1447 Add configure flag to control libzfs integration.
1448
1449 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1450
1e9a9a3f
VS
14512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1454 device.
1455 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1456 small devices.
1457
036985b8
VS
14582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1461 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1462 be used on non-modules.
1463
1464 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1465 Rename to grub_boot_init.
1466 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1467 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1468 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1469 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1470 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1471 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1472 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1473 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1474 includes.
1475 (grub_machine_init): Remove empty inits.
1476 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1477 includes.
1478 (grub_machine_init): Remove empty inits.
1479 * grub-core/term/arc/console.c: Remove explicit proto.
1480 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1481 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1482 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1483 grub_at_keyboard_fini.
1484 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1485 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1486 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1487 grub_gfxterm_fini.
1488 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1489 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1490 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1491 grub_vgatext_fini.
1492 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1493 * grub-core/term/serial.c (GRUB_MOD_INIT)
1494 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1495 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1496 grub_serial_fini.
1497 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1498 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1499 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1500 grub_terminfo_fini.
1501 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1502 (GRUB_MOD_FINI): Likewise.
1503 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1504 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1505 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1506 grub_video_radeon_fuloong2e_fini.
1507 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1508 [LOONGSON]: Rename to grub_video_sis315pro_init.
1509 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1510 grub_video_sis315pro_fini.
1511 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1512 [LOONGSON]: Rename to grub_video_sm712_init.
1513 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1514 grub_video_sm712_fini.
1515 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1516 (grub_at_keyboard_fini): Likewise.
1517 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1518 Don't declare grub_{modname}_init.
1519 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1520 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1521 New proto.
1522 (grub_keylayouts_fini) [!EMU]: Likewise.
1523 * include/grub/serial.h (grub_serial_init) [!EMU]:
1524 New proto.
1525 (grub_serial_fini) [!EMU]: Likewise.
1526 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1527 New proto.
1528 (grub_terminfo_fini) [!EMU]: Likewise.
1529 * include/grub/video.h (grub_font_init) [!EMU]:
1530 New proto.
1531 (grub_font_fini) [!EMU]: Likewise.
1532 (grub_gfxterm_init) [!EMU]: Likewise.
1533 (grub_gfxterm_fini) [!EMU]: Likewise.
1534 (grub_video_sm712_init) [!EMU]: Likewise.
1535 (grub_video_sm712_fini) [!EMU]: Likewise.
1536 (grub_video_sis315pro_init) [!EMU]: Likewise.
1537 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1538 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1539 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1540
d5534665
VS
15412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 Make nand a prefix for nand devices.
1544
1545 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1546
10133b5f
VS
15472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1550 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1551
8e307a62
VS
15522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * include/grub/env.h (grub_env_find): Remove prototype.
1555 * grub-core/kern/env.c (grub_env_find): Make static.
1556 (grub_env_set): Remove useless set.
1557
a4c65f34
VS
15582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/kern/i386/realmode.S: Remove useless align.
1561
d87893d5
VS
15622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * include/grub/dl.h (grub_dl_load_file): Don't export.
1565
50159add
VS
15662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1569 grub_dprintf.
1570
b2582b84
VS
15712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1574 grub_errors.
1575 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1576 not reloading whole superblock but only the part which is really needed.
1577 Remove useless grub_errors.
1578 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1579 grub_errors.
1580
e2a83395
VS
15812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 Don't export grub_get_rtc.
1584
1585 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1586 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1587
e7d2a906
VS
15882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1591
6cf1363b
VS
15922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1595 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1596
eece3349
VS
15972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 Remove prio_list.
1600
1601 * include/grub/list.h (grub_prio_list): Removed.
1602 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1603 GRUB_COMMAND_PRIO_MASK.
1604 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1605 GRUB_COMMAND_FLAG_ACTIVE.
1606 (grub_prio_list_insert): Removed.
1607 (grub_prio_list_remove): Likewise.
1608 (GRUB_AS_PRIO_LIST): Likewise.
1609 (GRUB_AS_PRIO_LIST_P): Likewise.
1610 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1611 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1612 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1613 * grub-core/kern/command.c (grub_register_command_prio): Inline
1614 the prio_list code.
1615 (grub_unregister_command): Likewise.
1616
94f064b4
VS
16172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Fix interrupt mixup from previous commit.
1620
1621 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1622 (grub_realidt): New var.
1623 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1624 Load idt.
1625 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1626 New declaration.
1627 (grub_relocator16_boot): Set grub_relocator16_idt.
1628 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1629 (LOCAL(realidt)): ... this.
1630 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1631 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1632 (grub_realidt): New variable.
1633
27317084
VS
16342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1637 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1638 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1639 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1640 Gettextize.
1641 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1642 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1643 * po/POTFILES.in: Regenerate.
1644
47b40053
VS
16452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1648 errors.
1649
2b343101
VS
16502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1653 \0.
1654 (add_length): Likewise.
1655
ff27c3dd
LK
16562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
16572012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1658
1659 GDB serial and backtrace support.
1660
1661 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1662 (prot_to_real): Likewise.
1663 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1664 * grub-core/Makefile.core.def (backtrace): New module.
1665 (gdb): Likewise.
1666 * grub-core/gdb/cstub.c: New file.
1667 * grub-core/gdb/gdb.c: Likewise.
1668 * grub-core/gdb/i386/idt.c: Likewise.
1669 * grub-core/gdb/i386/machdep.S: Likewise.
1670 * grub-core/gdb/i386/signal.c: Likewise.
1671 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1672 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1673 * include/grub/backtrace.h: Likewise.
1674 * include/grub/gdb.h: Likewise.
1675 * include/grub/i386/gdb.h: Likewise.
1676
16772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1678
1679 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1680 New function.
1681 (add_length): Likewise.
1682 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1683 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1684 proto.
1685 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1686 __argp_get_display_len.
1687
ff27c3dd 16882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1689
1690 $"..." support in scripts.
1691
1692 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1693 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1694 * grub-core/script/yylex.l: Likewise.
1695 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1696 value.
1697
ff27c3dd 16982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1699
1700 * gentpl.py: Remove obsolete pkglib_DATA handling.
1701
ff27c3dd 17022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1703
1704 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1705 mailing list.
1706
1707 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1708 * util/grub-kbdcomp.in: Likewise.
1709 * util/grub-mkconfig.in: Likewise.
1710 * util/grub-mkconfig_lib.in: Likewise.
1711 * util/grub-mknetdir.in: Likewise.
1712 * util/grub-mkrescue.in: Likewise.
1713 * util/grub-mkstandalone.in: Likewise.
1714 * util/grub-reboot.in: Likewise.
1715 * util/grub-set-default.in: Likewise.
1716 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1717
ff27c3dd 17182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1719
1720 Remove GRUB_PREFIX.
1721
1722 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1723 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1724 used for backward compatibility.
1725
ff27c3dd 17262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1727
1728 Add new all_video module.
1729
1730 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1731 * grub-core/Makefile.core.def (all_video): New module.
1732 * grub-core/genmoddep.awk: Generate dependency of all_video from
1733 video.lst.
1734 * grub-core/lib/fake_module.c: New file.
1735 * grub-core/normal/main.c (features): Add feature_all_video_module.
1736 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1737 don't do explicit search again.
47454da5 1738 insmod all_video in load_video if available.
22c7ce85 1739
ff27c3dd 17402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1741
1742 Another round of string clarification and adding TRANSLATORS comments.
1743
ff27c3dd 17442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1745
1746 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1747
ff27c3dd 17482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1749
1750 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1751 to grub_ssize_t.
1752 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1753 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1754
ff27c3dd 17552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1756
1757 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1758 trailing newline implicitly. All users updated.
1759
ff27c3dd 17602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1761
1762 Implement serial on IEEE1275 and EFI.
1763
1764 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1765 on emu. Mention arc and emu as the only platforms without serial
1766 support.
1767 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1768 ieee1275 platforms.
1769 * grub-core/term/efi/serial.c: New file.
1770 * grub-core/term/ieee1275/serial.c: Likewise.
1771 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1772 specification if no ns8250 driver is available.
1773 (grub_cmd_serial): Likewise.
1774 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1775 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1776 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1777 (grub_efi_parity_type_t): New type.
1778 (grub_efi_stop_bits_t): Likewise.
1779 (grub_efi_serial_io_interface): New struct.
1780 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1781 available for all interfaces.
1782 Add EFI and IEEE1275 fields.
1783 (grub_ofserial_init): New proto.
1784 (grub_efiserial_init): Likeiwse.
1785 * util/grub.d/00_header.in: Don't check for the presence of serial
1786 module.
1787
ff27c3dd 17882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1789
1790 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1791 name as if it was an alias.
1792
114076ef
VS
17932012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/commands/lsacpi.c (options): Fix typo.
1796
6a656b0e
VS
17972012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 Convert grub-emu to argp.
1800
1801 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1802 emu.
1803 * util/argp_common.c: Rename to ...
1804 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1805 Add missing includes.
1806 * grub-core/kern/emu/main.c: Convert to argp.
1807 * po/POTFILES.in: Regenerate.
1808 * util/grub-install.in (usage): Make first letter lowcase in messages
1809 for uniformity.
1810 * util/grub-setup.c (options): Likewise.
1811
1e3f8ae8
VS
18122012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1815 Put back accidently commented-out code.
1816
ed167a80
VS
18172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1820 loop check using Brent algorithm.
1821 (grub_hfsplus_btree_search): Likewise.
1822
6753c0ec
VS
18232012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * util/grub-install.in: Fix usage of wrong device for PreP install.
1826
4e27343f
VS
18272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * conf/Makefile.common (CFLAGS_GNULIB): Add
1830 -Wno-unsafe-loop-optimizations.
1831 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1832 on tools.
1833 * grub-core/commands/legacycfg.c: Add pragma to skip
1834 -Wunsafe-loop-optimizations.
1835 (check_password_md5_real): Fix loop counter type.
1836 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1837 reading.
1838 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1839 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1840 loop condition.
1841 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1842 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1843 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1844 condition.
1845 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1846 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1847 avoid possible infinite loops.
1848 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1849 and -Wunsafe-loop-optimizations.
1850 * grub-core/script/yylex.l: Likewise.
1851 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1852 (print_glyphs): Avoid infinite loops.
1853 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1854
697f18b0
GS
18552012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1856
1857 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1858 to avoid infinite loop.
1859 (disp_acpi_rsdt_table): Likewise.
1860
274416e8
VS
18612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/font/font.c (grub_font_load): Add support for default
1864 path for fonts ($prefix/fonts).
1865 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1866 for checking if string is a path.
1867 * grub-core/normal/main.c (features): Add feature_default_font_path.
1868 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1869 * util/grub.d/00_header.in: Use default directory if possible.
1870 * util/grub-install.in: Install unicode.pf2.
1871
b3e08622
VS
18722012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1875 * po/Rules-swiss: New file.
1876 * po/swiss.sed: Likewise.
1877
fe42ce09
VS
18782012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * grub-core/fs/btrfs.c (find_device): Fix typos.
1881 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1882 * util/grub-mkrelpath.c (argp_parser): Likewise.
1883 Reported by: Yuri Chornoivan.
1884
72f1d065
DO
18852012-02-23 Dalet Omega <daletomega@gmail.com>
1886
1887 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1888 for usual informative messages.
1889
c5884973
DO
18902012-02-23 Dalet Omega <daletomega@gmail.com>
1891
1892 Starfield theme.
1893
1894 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1895 * conf/Makefile.common: Define starfielddir.
1896 * configure.ac: Configure starfield.
1897 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1898 * themes/starfield/README: Likewise.
1899 * themes/starfield/blob_w.png: Likewise.
1900 * themes/starfield/boot_menu_c.png: Likewise.
1901 * themes/starfield/boot_menu_e.png: Likewise.
1902 * themes/starfield/boot_menu_n.png: Likewise.
1903 * themes/starfield/boot_menu_ne.png: Likewise.
1904 * themes/starfield/boot_menu_nw.png: Likewise.
1905 * themes/starfield/boot_menu_s.png: Likewise.
1906 * themes/starfield/boot_menu_se.png: Likewise.
1907 * themes/starfield/boot_menu_sw.png: Likewise.
1908 * themes/starfield/boot_menu_w.png: Likewise.
1909 * themes/starfield/slider_c.png: Likewise.
1910 * themes/starfield/slider_n.png: Likewise.
1911 * themes/starfield/slider_s.png: Likewise.
1912 * themes/starfield/src/blob_nw.xcf: Likewise.
1913 * themes/starfield/src/bootmenu/: Likewise.
1914 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1915 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1916 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1917 * themes/starfield/src/slider_c.xcf: Likewise.
1918 * themes/starfield/src/slider_n.xcf: Likewise.
1919 * themes/starfield/src/slider_s.xcf: Likewise.
1920 * themes/starfield/src/terminalbox/: Likewise.
1921 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1922 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1923 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1924 * themes/starfield/starfield.png: Likewise.
1925 * themes/starfield/terminal_box_c.png: Likewise.
1926 * themes/starfield/terminal_box_e.png: Likewise.
1927 * themes/starfield/terminal_box_n.png: Likewise.
1928 * themes/starfield/terminal_box_ne.png: Likewise.
1929 * themes/starfield/terminal_box_nw.png: Likewise.
1930 * themes/starfield/terminal_box_s.png: Likewise.
1931 * themes/starfield/terminal_box_se.png: Likewise.
1932 * themes/starfield/terminal_box_sw.png: Likewise.
1933 * themes/starfield/terminal_box_w.png: Likewise.
1934 * themes/starfield/theme.txt: Likewise.
1935
17d73325
VS
19362012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * util/grub.d/00_header.in: Add missing export theme.
1939
dbebaf92
VS
19402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1943 already included.
1944 Reported by: Eren D.
1945
3d68bffb
VS
19462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * conf/Makefile.common (grubdatadir): Removed.
1949 (Makefile.am): Move eveything grubdata to pkgdata.
1950
4b59234d
VS
19512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/commands/acpihalt.c (get_sleep_type):
1954 Remove unused variable.
1955
463dcadc
VS
19562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1959 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1960 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1961 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1962 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1963 i18n with gettext no-op.
1964 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1965 GRUB_ACPI_OPCODE_STRING_CONST.
1966 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1967 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1968
e5b90c82
VS
19692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * po/POTFILES.in: Regenerate.
1972
2a704ca9
VS
19732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1976 -Wno-error=missing-noreturn.
1977
84f9d341
VS
19782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1981 condition to avoid possibly infinite loops.
1982 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1983 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1984
d46683f9
VS
19852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1988 condition to avoid possibly infinite loops.
1989
c44866b2
VS
19902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1993 on show_error.
1994
96790539
VS
19952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1998
1ba7e295
VS
19992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2002
21ffe8f1
VS
20032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * util/bin2h.c (usage): Add missing attribute noreturn.
2006
0ccb6b3c
VS
20072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2010 if the size isn't divisible by 512.
2011
b00d7fb6
VS
20122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 Make list_push and list_remove functions rather than inline functions
2015 to decrease size and avoid aliasing violations.
2016
2017 * include/grub/list.h (grub_list_push): Move to ...
2018 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2019 * include/grub/list.h (grub_list_remove): Move to ...
2020 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2021
9d369087
VS
20222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2025 and -Wunused-result.
2026
af0250d9
VS
20272012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2030 Reported by: Seth Goldberg
2031
aad32b14
VS
20322012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2035
ac96441c
ST
20362012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2037
2038 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2039 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2040 command line.
2041 * docs/grub.texi (Simple configuration): Document
2042 GRUB_CMDLINE_GNUMACH.
2043
20442012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2045
2046 * conf/Makefile.common (platform_SCRIPTS): New variable.
2047 (platform_PROGRAMS): Likewise.
2048 * gentpl.py: Mark *,module and *.image for install.
2049 * grub-core/gdb_grub.in: Add a notice of expected environment.
2050 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2051 (gmodule.pl): Likewise.
2052
ac96441c 20532012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2054
2055 Replace grub_checkkey with grub_getkey_noblock.
2056
2057 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2058 (grub_getkey_noblock): ... this. All users updated.
2059
ac96441c 20602012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2061
2062 * grub-core/kern/emu/console.c: Move to ...
2063 * grub-core/term/emu/console.c: ...here.
2064 (grub_ncurses_getkey): Fix return value if no key is detected.
2065
e51b5666
VS
20662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2069 (grub_unit_test_fini): Likewise.
2070 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2071
20722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * include/grub/test.h (GRUB_UNIT_TEST)
2075
d9a62292
VS
20762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2079 Better error handling.
2080 (grub_script_return): Likewise.
2081 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2082
77c9182f
VS
20832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2086 rimplicit redifinition.
2087
edb13cf9
VS
20882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2091 GRUB.
2092
a9e9dc7c
VS
20932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2096 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2097 prompt here.
2098
b4ba8e02
VS
20992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2102 as GRUB_ERR_BUG. Don't malloc if no device is available.
2103
dded5540
VS
21042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2107 Mark calling with invalid term as GRUB_ERR_BUG.
2108
0cf69874
VS
21092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2112 packets rather than raising an error.
2113
59bfe502
VS
21142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2117 in if.
2118
db5fc596
VS
21192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2122 diagnostic to dprintf.
2123 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2124
e4b7f404
VS
21252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2128 device name.
2129
e7b02f9e
VS
21302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2133 (grub_ntfs_iterate_dir): Likewise.
2134
0331e102
VS
21352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 Efiemu stylistic fixes and gettext.
2138
2139 * grub-core/efiemu/i386/loadcore32.c
2140 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2141 * grub-core/efiemu/i386/loadcore64.c
2142 (grub_arch_efiemu_relocate_symbols64): Likewise.
2143 * grub-core/efiemu/i386/pc/cfgtables.c
2144 (grub_machine_efiemu_init_tables): Likewise.
2145 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2146 (grub_efiemu_loadcore_initXX): Add a filename argument.
2147 All users updated.
2148 Improved error message.
2149 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2150 Add a filename argument.
2151 All users updated.
2152 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2153 Reclassify double relocation as GRUB_ERR_BUG.
2154
306fc074
VS
21552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2158 handling.
2159
794d8ef2
VS
21602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2163 on partition.
2164
21652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2166
2167 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2168
794d8ef2 21692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2170
2171 Improve string. Gettextize.
2172
78dde88e
VS
21732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2176 utils.
2177 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2178
4786a90f
VS
21792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2182 [GRUB_UTIL]: New function.
2183 (insert_array) [GRUB_UTIL]: Store partmaps.
2184 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2185 partmaps.
2186 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2187 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2188 (probe_abstraction): Print diskfilter and not raid.
2189 Reported by: Lennart Sorensen
2190
0b6225bd
VS
21912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2194 * util/grub-mkimagexx.c (MASK3): New define.
2195 (add_value_to_slot_20b): Use MASK3.
2196 (add_value_to_slot_21): Likewise.
2197 (relocate_addresses): Fix format specification.
2198 (load_image): Explicitly init symtab_section.
2199
b055f8f6
VS
22002012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2203 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2204
b77c2fb7
VS
22052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2208 on powerpc.
2209 Reported by: Lennart Sorensen
2210
e3ec28ab
VS
22112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * gentpl.py: Add missing license header.
2214 * docs/grub.texi: Update copyright year.
2215
c8d9ead6
GS
22162012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2217
2218 Source grub-mkconfig_lib from the build directory at build time.
2219 Suggested by: Vladimir Serbinenko.
2220
2221 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2222 * util/grub-install.in: Define pkgdatadir if not already set, and source
2223 grub-mkconfig_lib from there.
2224 * util/grub-kbdcomp.in: Likewise.
2225 * util/grub-mkconfig.in: Likewise.
2226 * util/grub-mknetdir.in: Likewise.
2227 * util/grub-mkrescue.in: Likewise.
2228 * util/grub-mkstandalone.in: Likewise.
2229 * util/grub-reboot.in: Likewise.
2230 * util/grub-set-default.in: Likewise.
2231 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2232
ebcecdf1
VS
22332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 Increase warning level.
2236
2237 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2238 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2239 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2240 (TARGET_CFLAGS): Likewise.
2241 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2242 * grub-core/Makefile.core.def (decompressor_xz): Add
2243 -Wno-unreachable-code.
2244 (normal): Add -Wno-redundant-decls.
2245 (xzio): Add -Wno-unreachable-code.
2246 (lzopio): Add -Wno-redundant-decls -Wno-error.
2247 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2248 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2249 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2250 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2251 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2252 * grub-core/kern/i386/coreboot/init.c: Add exception to
2253 -Wsuggest-attribute=noreturn.
2254 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2255 * grub-core/kern/ia64/dl_helper.c: Likewise.
2256 * grub-core/kern/mips/dl.c: Likewise.
2257 * grub-core/kern/sparc64/dl.c: Likewise.
2258 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2259 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2260 (memcmp): Likewise.
2261 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2262 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2263 * grub-core/loader/mips/linux.c: Likewise.
2264 * grub-core/loader/multiboot_elfxx.c: Likewise.
2265 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2266 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2267 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2268 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2269 fixme.
2270 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2271 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2272 Fix prototype.
2273
37bb97fe
VS
22742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2277 address.
2278
29a3550b
VS
22792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2282 Avoid improper use of strings.
2283 (grub_cmd_legacy_initrdnounzip): Likewise.
2284
dfdffd0d
VS
22852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2288 attribute.
2289 (grub_util_info): Likewise.
2290 (grub_util_error): Likewise.
2291
102fae4a
VS
22922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2295 * util/grub-fstest.c (fstest): Likewise.
2296
7e94d044
VS
22972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2300 (grub_md_sha512_real): Likewise.
2301 (grub_util_get_geli_uuid): Likewise.
2302 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2303 (grub_util_biosdisk_open): Fix format specification.
2304 Respect format security.
2305 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2306 (xrealloc): Likewise.
2307 (xasprintf): Likewise.
2308
5ebd9769
VS
23092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * util/import_gcry.py: Include grub/crypto.h in init.c.
2312
495fc8c1
VS
23132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2316 (generate_image): Make prefix a const char *.
2317 Fix format specifications. Respect format security.
2318 Avoid void * arithmetics.
2319 Avoid shadowing.
2320 (argp_parser): Remove unused variable. Respect format security.
2321 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2322 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2323 (count_funcs): Remove unused variable.
2324 (relocate_addresses): Fix format specification.
2325 Disable x86-64 with elf32. Remove unused variables.
2326 (add_fixup_entry): Avoid shadowing.
2327 (make_reloc_section): Fix format specification.
2328 Use assert.
2329 (locate_sections): Fix format specifications.
2330 (load_image): Avoid shadowing.
2331
043c2ea3
VS
23322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2335 Fix format specifications. Respect format security.
2336 Don't translate already translated grub_errmsg.
2337 (argp_parser): Remove unused variable
2338
3ec65a81
VS
23392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2342
a4d9fe4a
VS
23432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2346 (main): Likewise. Use xmalloc. Respect format security.
2347
15b81d49
VS
23482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2351 a const char *.
2352 (argp_parser): Remove unused variable.
2353
31731fc0
VS
23542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2357 (add_pixel): Make static.
2358 (add_font): Likewise.
2359 (write_string_section): Make name and str a const char *.
2360 (write_be16_section): Make name a const char *.
2361 (print_glyphs): Make static.
2362 (write_font_ascii_bitmap): Likewise.
2363 (write_font_width_spec): Likewise.
2364 (write_font_pf2): Likewise.
2365 (argp_parser): Remove unused variable.
2366 Respect format security.
2367 (main): Avoid shadowing. Respect format security.
2368
0809527b
VS
23692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * util/grub-editenv.c (argp_parser): Make static.
2372 (create_envblk_file): Use xmalloc.
2373 (open_envblk_file): Likewise.
2374 Resepect format security.
2375 (set_variables): Respect format security.
2376
45b0c8b7
VS
23772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * util/getroot.c (grub_find_device): Respect format security.
2380 (get_mdadm_uuid): Remove unused variable.
2381 (grub_util_pull_device): Dont call gettext on already translated
2382 grub_errmsg.
2383 (find_system_device): Remove unused variable.
2384 (grub_util_get_grub_dev): Likewise.
2385 (grub_make_system_path_relative_to_its_root): Respect format security.
2386
1b024b4e
VS
23872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * util/grub-fstest.c (execute_command): Make first argument
2390 a const char *.
2391 (read_file): Avoid shadowing.
2392 Reuse underlying error message if device open fails.
2393 (cmd_cmp): Respect format security.
2394 (root): Make const char *.
2395 (fstest): Remove args argument and use global copy.
2396 Respect format security.
2397 (argp_parser): Make static.
2398 (main): Make default_root const char *.
2399
5d1d4e28
VS
24002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * util/grub-mount.c (root): Make const char *.
2403 (execute_command): Make first argument a const char *.
2404 (fuse_init): Respect format security.
2405 (argp_parser): Make static. Remove unused variable.
2406 (main): Make default_root a const char *.
2407 Respect format security.
2408
36eb7379
VS
24092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * util/grub-probe.c (probe): Don't call gettext on already translated
2412 grub_errmsg.
2413 Remove unused variables.
2414 (argp_parser): Remove unused variable.
2415
76fb2ea9
VS
24162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * util/grub-script-check.c (argp_parser): Remove unused variable.
2419 (main): Rename read to curread to avoid shadowing.
2420
56c98584
VS
24212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * util/misc.c (grub_util_write_image_at): Fix format specification.
2424 (grub_util_write_image): Likewise.
2425 (grub_script_execute_argument_to_string): Removed (unused).
2426 (grub_script_execute_menuentry): Likewise.
2427 (grub_putchar): Likewise.
2428
164ebb48
VS
24292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2432 (FUNCTION) [GRUB_UTIL]: Likewise.
2433 (VARIABLE) [GRUB_UTIL]: Likewise.
2434
44318d61
VS
24352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2438 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2439
31a26002
VS
24402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2443 buffer.
2444
24452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2448 (LzmaEnc_SaveState): Removed (unused).
2449 (LzmaEnc_RestoreState): Likewise.
2450 (LzmaEnc_InitPriceTables): Made static.
2451 (LzmaEnc_Construct): Likewise.
2452 (LzmaEnc_FreeLits): Likewise.
2453 (LzmaEnc_Destruct): Likewise.
2454 (LzmaEnc_Init): Likewise.
2455 (LzmaEnc_InitPrices): Likewise.
2456 (LzmaEnc_Finish): Likewise.
2457 (LzmaEnc_PrepareForLzma2): Removed (unused).
2458 (LzmaEnc_MemPrepare): Likewise.
2459 (LzmaEnc_GetNumAvailableBytes): Likewise.
2460 (LzmaEnc_GetCurBuf): Likewise.
2461 (LzmaEnc_CodeOneMemBlock): Likewise.
2462
6fa67967
VS
24632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2466 (grub_util_ldm_embed): Likewise.
2467
9a7428e6
VS
24682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * util/grub-editenv.c (print_var): Rename name to varname to
2471 avoid shadowing.
2472 (main): Rename index to curindex to avoid shadowing.
31a26002 2473 Make filename a const char *.
9a7428e6 2474
4f96abd1
VS
24752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2478 to arg_getline to avoid shadowing.
2479
44d10dad
VS
24802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2483 disk_ to avoid shadowing.
2484
340ba63e
VS
24852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2488 curindex to avoid shadowing.
2489 Make static.
2490 (MatchFinder_GetNumAvailableBytes): Make static.
2491
22965bce
VS
24922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2495 avoid shadowing.
2496
7b5784d4
VS
24972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2500 argument from encrypt to do_encrypt to avoid shadowing.
2501
6f48ca01
VS
25022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2505 incorrect nesting of #if's.
2506
a4ea2dff
VS
25072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2510 checks which are always false on some platforms.
2511 (grub_cmd_lsacpi): Likewise.
2512 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2513 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2514 Likewise.
2515
def9fc1b
VS
25162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2519 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2520
a67b2a04
VS
25212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2524 re_dfa_t to avoid breaking alignment invariants.
2525 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2526 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2527
44c6828d
VS
25282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2531 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2532
bebe0dd0
VS
25332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2536 Fix declaration.
2537
a9cdb3cf
VS
25382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2541 conserve alignment invariants.
2542 (grub_ehci_ehcc_read16): Likewise.
2543 (grub_ehci_oper_read32): Likewise.
2544 (grub_ehci_oper_write32): Likewise.
2545 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2546 Conserve alignment invariants.
2547
ccc3b1b8
VS
25482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2551 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2552 declarations.
2553
987fbd95
VS
25542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2557 Remove unused variable.
2558
0df363f3
VS
25592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2562 Remove set in if.
2563
b2c0c4a6
VS
25642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * include/grub/net.h: Remove double declarations.
2567
690c531f
VS
25682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 Remove "payload" command in ia64 Linux loader since I couldn't
2571 find any evidence of it being used for anything.
2572 Replace "relocate" command with an environment variable
2573
2574 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2575 fields.
2576 (ia64_boot_payload): Removed.
2577 (last_payload): Likewise.
2578 (RELOCATE_OFF): Likewise.
2579 (RELOCATE_ON): Likewise.
2580 (RELOCATE_FORCE): Likewise.
2581 (relocate): Likewise.
2582 (free_pages): Don't free payloads.
2583 (grub_load_elf64): Use common error messages.
2584 Use "linux_relocate" variable.
2585 Increase the space after boot_params.
2586 (grub_cmd_payload): Removed.
2587 (grub_cmd_relocate): Likewise.
2588 (grub_cmd_fpswa): Improve messages.
2589 (cmd_payload): Removed.
2590 (cmd_relocate): Likewise.
2591 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2592 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2593
01783768
VS
25942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 Convert UHCI to DMA framework.
2597
2598 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2599 (grub_uhci_pci_iter): Fill new members
2600 (grub_alloc_td): Use P2V and V2P functions.
2601 (grub_free_queue): Likewise.
2602 (grub_alloc_qh): Likewise.
2603 (grub_uhci_setup_transfer): Likewise.
2604 (grub_uhci_check_transfer): Likewise.
2605
43206939
VS
26062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2609 Remove assignment in if while on it.
2610
571e140e
VS
26112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * util/grub-mkstandalone.in: Fix modules directory.
2614
a9d96eeb
VS
26152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2618 on i386-pc target.
2619 (argp_parser): Accept "auto" as compression specification.
2620
e4e37e8d
VS
26212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Fix `help' with unloaded modules.
2624
2625 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2626 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2627 (grub_dyncmd_dispatcher): Small stylistic fix.
2628 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2629 explicit help is requested.
2630
e1ea3ade
VS
26312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2634 Explicitly init restart while on it.
2635
27556881
VS
26362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2639 uninited variable.
2640
d65f6b36
VS
26412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * util/grub-mknetdir.in: Use . rather than source for POSIX
2644 compatibility.
2645
0a1e473c
VS
26462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2649
ce6647c8
VS
26502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2653 variable.
2654
66747894
VS
26552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2658 without quotes.
2659
71645f6e
VS
26602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2663
0e1c1f61
VS
26642012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2667 iteration of partitions.
2668
9c4b5c13
VS
26692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 Improve gettext support. Stylistic fixes and error handling fixes while
2672 on it.
2673
215c90cb
VS
26742012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2677 part. Instead setup the correct stack in RM.
2678 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2679 for stack.
2680 * include/grub/i386/relocator_private.h: New file.
2681
b5c1f9bf
VS
26822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2685 argument.
2686 * util/grub-fstest.c (options): Add missing DEVICE part.
2687
b525fd83
VS
26882012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 Clarify and unify messages.
2691
2692 * grub-core/commands/hashsum.c (options): Unify messages.
2693 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2694 literal-only message as translatable.
2695 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2696 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2697 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2698 commands.
2699 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2700 key, not the key used to unlock. Clarify what it's used for.
2701 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2702 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2703 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2704 * util/grub-editenv.c (options): Unify "verbose" message.
2705 * util/grub-fstest.c (read_file): Unify error message.
2706 (fstest): Add quotes around commands.
2707 (options): Unify "verbose" message.
2708 * util/grub-install.in: Add quotes around variable name.
2709 * util/grub-kbdcomp.in: Unify error message.
2710 * util/grub-mkfont.c (main): Likewise.
2711 * util/grub-mkrescue.in: Likewise.
2712 * util/grub-mklayout.c (options): Unify "verbose" message.
2713 * util/grub-mkstandalone.in: Unify help and verbose messages.
2714 * util/grub-mount.c (options): Unify "verbose" message.
2715 * util/grub-probe.c (options): Likewise.
2716 * util/grub-script-check.c (options): Likewise.
2717 * util/grub-setup.c (setup): Unify no-terminator message.
2718 (options): Use DEVICE and not DEV.
2719 Unify "verbose" message.
2720 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2721
0ae70393
VS
27222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 Improve and unify messages.
2725
2726 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2727 name. All users updated.
2728 Print filename in error.
2729 (read_device_map): Print filename in error.
2730 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2731 (grub_util_get_os_disk): Likewise.
2732 (grub_util_biosdisk_get_grub_dev): Likewise.
2733 (grub_util_check_block_device): Likewise.
2734 (grub_util_check_char_device): Likewise.
2735 (grub_make_system_path_relative_to_its_root): Likewise.
2736 * util/grub-editenv.c (create_envblk_file): Likewise.
2737 (open_envblk_file): Likewise.
2738 (write_envblk): Likewise.
2739 * util/grub-fstest.c (cmd_cp): Likewise.
2740 (cmd_cat): Likewise.
2741 (cmd_cmp): Likewise.
2742 * util/grub-menulst2cfg.c (main): Likewise.
2743 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2744 (write_font_width_spec): Likewise.
2745 (write_font_pf2): Likewise.
2746 * util/grub-mkimage.c (generate_image): New argument outname.
2747 All users updated.
2748 Remove unreacheable message.
2749 (options): Unify messages.
2750 (help_filter): Likewise.
2751 * util/grub-mklayout.c (usage): Removed (unused).
2752 (main): Print filename in error.
2753 * util/grub-mkrescue.in: Fix wrong quoting.
2754 * util/grub-setup.c (setup): Print filename in error.
2755 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2756 (check_sas): Likewise.
2757 * util/misc.c (grub_util_get_fp_size): Removed.
2758 (grub_util_get_image_size): Print filename in error.
2759 (grub_util_read_at): Removed.
2760 (grub_util_read_image): Print filename in error.
2761 (grub_util_load_image): Likewise.
2762 (grub_util_write_image_at): New argument filename. All users updated.
2763 Print filename in error.
2764 (grub_util_write_image): New argument filename. All users updated.
2765 Print filename in error.
2766 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2767 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2768
0a96117d
VS
27692012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/Makefile.core.def (pxechain): New module.
2772 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2773 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2774 function.
2775 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2776 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2777
aca002f7
VS
27782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2781 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2782 * include/grub/err.h (grub_error_saved): New struct.
2783 (grub_errmsg): Make array size explicit.
2784 * include/grub/misc.h (grub_error_save): New function.
2785 (grub_error_load): Likewise.
2786 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2787 (grub_error_push): Update `errno' member name.
2788 (grub_error_pop): Likewise
2789 * grub-core/net/tftp.c (tftp_data): New member save_err.
2790 (tftp_receive): Save error.
2791 (tftp_open): Restore error.
2792
a51dab13
VS
27932012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2796 to real mode down to execute A20-related code in protected mode as
2797 intended.
2798
eb6e6649
GS
27992012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2800
2801 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2802 NULL when the argument `level' has an unexpected value.
2803
92cd0f6e
VS
28042012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Move platform-dependent files from $prefix to $prefix/$platform.
2807
2808 * config.h.in (GRUB_TARGET_CPU): New definition.
2809 (GRUB_PLATFORM): Likewise.
2810 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2811 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2812 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2813 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2814 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2815 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2816 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2817 * grub-core/normal/term.c (read_terminal_list): Likewise.
2818 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2819 $prefix/locale.
2820 (grub_gettext_init_ext): Likewise.
2821 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2822 grub_platform.
2823 * util/grub-install.in: Update directories.
2824 * util/grub-mknetdir.in: Likewise.
2825 * util/grub-mkrescue.in: Likewise.
2826
db606889
VS
28272012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2830 grub_error framework. All users updated.
2831
c39992a4
VS
28322012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2835 lists (by always binsearching), improve caching (cache strings
2836 used for binsearch, not only results), improve
2837 maintainability (by using more structured binary search) and correct
2838 error handling.
2839
1e5ec32f
VS
28402012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/script/execute.c (grub_script_return): Fix warning.
2843
ac576cde
VS
28442012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/script/execute.c (grub_script_return): Fix potential
2847 NULL-dereference.
2848 Reported by: Jim Meyering.
2849
498453f6
VS
28502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * po/POTFILES.in: Regenerate.
2853 * util/grub-install.in: Gettextize the strings missed in first pass.
2854
8be63f2e
VS
28552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * Makefile.util.def (grub-mkdevicemap): Removed.
2858 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2859 * include/grub/util/deviceiter.h: Removed.
2860 * util/deviceiter.c: Likewise.
2861 * util/getroot.c (grub_util_get_os_disk): New function.
2862 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2863 replacement for EFI.
2864 * util/grub-mkdevicemap.c: Removed.
2865 * util/grub-probe.c (probe): Handle PRINT_DISK.
2866 (argp_parser): Handle -t disk.
2867
8e1e4e39
VS
28682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * util/grub-mkfont.c: Migrate to argp.
2871 * util/grub-mklayout.c: Likewise.
2872 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2873 * util/grub-mkrelpath.c: Likewise.
2874 * util/grub-probe.c: Likewise.
2875 * util/grub-script-check.c: Likewise.
2876
4459819a
VS
28772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * util/grub-reboot.in: Add missing datarootdir.
2880 Add missing newline.
2881 * util/grub-set-default.in: Add missing datarootdir.
2882 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2883 * util/grub-mkrescue.in: Likewise.
2884
f65741c7
VS
28852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2888
c1a33466
VS
28892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * util/grub-kbdcomp.in: Add decent help and gettextize.
2892 * docs/man/grub-kbdcomp.h2m: New file.
2893
c76899a0
VS
28942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 Migrate grub-mkimage.c to argp.
2897
2898 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2899 (grub-setup): Likewise.
2900 * util/grub-setup.c (print_version): Move to ...
2901 * util/argp_common.c (print_version): ... here.
2902 * util/grub-setup.c (argp_program_version_hook): Move to ...
2903 * util/argp_common.c (argp_program_version_hook): ... here.
2904 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2905 safety.
2906 * util/grub-mkimage.c (main): Migrate to argp.
2907
57db0757
VS
29082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * util/grub-mkrescue.in: Use same message as
2911 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2912 for better translations.
2913
18534ad9
VS
29142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2917 options with generic grub-mkrescue.in with the goal of future
2918 merge.
2919
c84ba308
VS
29202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/kern/mm.c: Add missing include of i18n.h
2923 * grub-core/lib/relocator.c: Likewise.
2924
347998c2
VS
29252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2928 error.
2929 (allocate_pages): Check return value.
2930 Replace fatal with error.
2931 (grub_linux_boot): Replace printf with dprintf.
2932 Check find_mmap_size return value.
2933 Replace fatal with error.
2934 Don't call grub_machine_fini.
2935 (grub_load_elf64): Replace printf with dprintf.
2936 (grub_cmd_linux): Likewise.
2937 (grub_cmd_initrd): Likewise.
2938 (grub_cmd_payload): Likewise.
2939
c779226e
VS
29402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2943 message.
2944 * grub-core/video/radeon_fuloong2e.c
2945 (grub_video_radeon_fuloong2e_setup): Likewise.
2946 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2947 * grub-core/video/video.c (grub_video_set_mode): Don't override
2948 standard out of memory message.
2949
dc87d45a
GS
29502012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2951
2952 NetBSD disk wedge support.
2953
2954 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2955 [__NetBSD__]: Handle NetBSD disk wedges.
2956 * util/getroot.c (convert_system_partition_to_system_disk)
2957 [__NetBSD__]: Likewise.
2958
055f856f
MW
29592012-02-03 Mark Wooding <mdw@distorted.org.uk>
2960
2961 * util/grub-mkconfig.in: Use umask rather than chmod to create
2962 grub.cfg.new to avoid insecure grub.cfg.
2963
4a9f8346
VS
29642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/commands/ls.c: Gettextize.
2967 * grub-core/commands/setpci.c: Likewise.
2968 * grub-core/commands/videotest.c: Likewise.
2969 * grub-core/disk/geli.c: Likewise.
2970 * grub-core/kern/mm.c: Likewise.
2971 * grub-core/lib/relocator.c: Likewise.
2972 * grub-core/loader/efi/appleloader.c: Likewise.
2973 * grub-core/loader/i386/xnu.c: Likewise.
2974 * grub-core/loader/ia64/efi/linux.c: Likewise.
2975 * grub-core/loader/xnu.c: Likewise.
2976 * grub-core/net/dns.c: Likewise.
2977 * grub-core/net/net.c: Likewise.
2978 * grub-core/script/lexer.c: Likewise.
2979 * grub-core/script/parser.y: Likewise.
2980 * grub-core/script/yylex.l: Likewise.
2981 * util/getroot.c: Likewise.
2982 * util/grub-setup.c: Likewise.
2983
a646a366
VS
29842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2987 number.
2988
54e2be26
VS
29892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2992
f7c71e68
VS
29932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2996 macro.
2997 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2998 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2999
a32d5c71
VS
30002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3003 * util/grub-install.in: Gettextize.
3004 * util/grub-mkconfig.in: Likewise.
3005 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3006 if not available.
3007 (grub_warn): Gettextize.
3008 * util/grub-mknetdir.in: Gettextize.
3009 * util/grub-mkrescue.in: Likewise.
3010 * util/grub-mkstandalone.in: Likewise.
3011 * util/grub-reboot.in: Likewise.
3012 * util/grub-set-default.in: Likewise.
3013 * util/grub.d/00_header.in: Likewise.
3014 * util/grub.d/10_hurd.in: Likewise.
3015 * util/grub.d/10_kfreebsd.in: Likewise.
3016 * util/grub.d/10_linux.in: Likewise.
3017 * util/grub.d/10_netbsd.in: Likewise.
3018 * util/grub.d/10_windows.in: Likewise.
3019 * util/grub.d/20_linux_xen.in: Likewise.
3020 * util/grub.d/30_os-prober.in: Likewise.
3021 * po/POTFILES-shell.in: Regenerate.
3022
69edd81a
RL
30232012-02-03 Richard Laager <rlaager@wiktel.com>
3024
3025 * util/grub-mkimage.c (main): Fix format-security warning.
3026 * util/grub-mkrelpath.c (main): Likewise.
3027 * util/grub-probe.c (main): Likewise.
3028
65f08dbf
RL
30292012-02-03 Richard Laager <rlaager@wiktel.com>
3030
3031 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3032 failure.
3033 Put back lost PRINT_DRIVE.
3034
e9084abe
RL
30352012-02-03 Richard Laager <rlaager@wiktel.com>
3036
3037 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3038 (grub_guess_root_devices): Replace strlen with sizeof.
3039 Avoid crash.
3040 (find_root_devices_from_poolname): Remove unused variable.
3041 Handle raidzN.
3042
cf5f7ee7
VS
30432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 Support install on multi-device filesystems.
3046
3047 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3048 (grub_guess_root_devices): ...this. Return char **. All users updated.
3049 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3050 Removed.
3051 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3052 (find_root_devices_from_poolname): ... here.
3053 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3054 Support zfs-fuse.
3055 (grub_guess_root_device): Rename to ...
3056 (grub_guess_root_devices): ... this. Return char **. All users updated.
3057 * util/grub-install.in: Handle multi-device filesystems.
3058 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3059 argument. All users updated.
3060 Handle multi-device filesystems.
3061 Use 'delim' as separator.
3062 Remove device check to allow filesystems on file.
3063 (main): Support -0 argument. Handle multi-device.
3064 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3065 Fix a cross-device check while on it.
3066 (arguments): Remove root_dev.
3067 (argp_parser): Remove -r.
3068 (main): Remove root_dev.
3069
2f53a9ed
VS
30702012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3073
17e1d934
VS
30742012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3077 symbol.
3078 Reported by: NODA, Kai <nodakai>.
3079
d3e3fab5
VS
30802012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 Fix ehci on amd64.
3083
3084 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3085 pointers.
3086 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3087 (grub_ehci_setup_qh): Likewise.
3088 (grub_ehci_find_qh): Likewise.
3089 (grub_ehci_transaction): Likewise.
3090 (grub_ehci_setup_transfer): Likewise.
3091 (grub_ehci_check_transfer): Likewise.
3092 (grub_ehci_portstatus): Likewise.
3093 (grub_ehci_detect_dev): Likewise.
3094 (grub_ehci_transfer_controller_data): New field td_last_phys.
3095 (grub_ehci_setup_transfer): Fill td_last_phys.
3096 (grub_ehci_check_transfer): Use td_last_phys.
3097
3008675b
SG
30982012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3099
3100 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3101 if no submenu is present.
3102
fc9b5652
AN
31032012-02-01 Aleš Nesrsta <starous@volny.cz>
3104
3105 CBI support.
3106
3107 * include/grub/usb.h (grub_usbms_protocol_t): New values
3108 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3109 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3110 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3111 (grub_usbms_dev): Add subclass, protocol and intrpt.
3112 Remove in_maxsz and out_maxsz.
3113 (grub_usbms_reset): Rename to ...
3114 (grub_usbms_bo_reset): .. this.
3115 (grub_usbms_cbi_cmd): New function.
3116 (grub_usbms_cbi_reset): Likewise.
3117 (grub_usbms_reset): Likewise.
3118 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3119 (grub_usbms_transfer): Rename to ...
3120 (grub_usbms_transfer_bo): ... this.
3121 (grub_usbms_transfer_cbi): Likewise.
3122 (grub_usbms_transfer): Likewise.
3123
a2b81d53
AN
31242012-02-01 Aleš Nesrsta <starous@volny.cz>
31252012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3128 the support for the CS5536 modification thereos and few bugfixes.
3129
3130 * grub-core/Makefile.core.def (ehci): New module.
3131 * grub-core/bus/usb/ehci.c: New file.
3132 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3133 port and hubaddr. All users updated.
3134 Save port and hubaddr into dev structure.
3135 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3136 define.
3137 * include/grub/pci.h (grub_dma_phys2virt): New function.
3138 (grub_dma_virt2phys): Likewise.
3139 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3140
b1d51f02
VS
31412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3144 check as some mkfs implementations omit it.
3145
fc694106
VS
31462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3149
6c0920e3
VS
31502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3153 Add new member volname2.
3154 (grub_jfs_label): Use volname2 if available.
3155
d1a46f9a
VS
31562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3159 over last_mounted as seen in image generated by mkfs.nilfs2.
3160 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3161
dec8ed14
VS
31622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3165 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3166 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3167
7397c69b
VS
31682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3171 over the sector.
3172
b3fe42ad
VS
31732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3176 subvolume name (by removing a bogus and useless check).
3177
10476bb0
VS
31782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3181 sizeof while on it.
3182
9c08ad87
VS
31832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3186 (grub_scsi_read_capacity10): ... this.
3187 (grub_scsi_read_capacity16): New function.
3188 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3189 0xffffffff.
3190 Fix off-by-one error.
3191 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3192 64-bit unsigned.
3193 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3194 (grub_scsi_read_capacity10): ... this.
3195 (grub_scsi_read_capacity_data): Rename to ...
3196 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3197 (grub_scsi_read_capacity16): New struct.
3198 (grub_scsi_read_capacity16_data): Likewise.
3199 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3200 grub_scsi_cmd_read_capacity10.
3201 New command grub_scsi_cmd_read_capacity16.
3202
bc8d0f45
VS
32032012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 SCSI >2TiB support.
3206
3207 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3208 (grub_scsi_write16): Likewise.
3209 (grub_scsi_read): Use read16 when necessary.
3210 (grub_scsi_write): Likewise.
3211 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3212 (grub_scsi_write16): Likewise.
3213 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3214
cc774926
VS
32152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 SCSI write support (for usbms mainly).
3218
3219 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3220 a const pointer.
3221 (grub_scsi_write): Implement.
3222 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3223
67639fd7
VS
32242012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3227 variable.
3228
9079d3ed
VS
32292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3232
c6a6f204
VS
32332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * po/POTFILES.in: Regenerate.
3236
ecbf8cd1
VS
32372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3240 with grub_printf to avoid unnecessary fatal failure.
3241
0b3b3b38
VS
32422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3245 (INT_MAX): Likewise.
3246 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3247 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3248 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3249 (strcpy): Likewise.
3250 (strstr): Likewise.
3251 (strchr): Likewise.
3252 (strncpy): Likewise.
3253 (strcat): Likewise.
3254 (strncat): Likewise.
3255 (strcoll): Likewise.
3256 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3257 (GRUB_INT_MAX): Likewise.
3258
db7337a3
VS
32592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3262 unexpected error.
3263 (optimize_utf8): Likewise.
3264 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3265
f37c87e1
VS
32662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 * grub-core/boot/i386/pc/lnxboot.S: Use
3269 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3270 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3271 location.
3272 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3273 definition.
3274 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3275
63fe43f3
VS
32762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3279 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3280 now to avoid double free.
3281 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3282 hostdisk.
3283 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3284 * util/grub-probe.c (escape_of_path): Always return a new copy.
3285 (print_full_name): Escape path.
3286 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3287 Fix hints on abstractions.
3288
ebe2c961
VS
32892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3292 Don't add "root" line if no compatibility hont is available.
3293 Suggested by: Seth Goldberg.
3294
2b5336a2
VS
32952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3298 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3299 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3300 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3301
74310bd8
VS
33022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3305
c30582ba
VS
33062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * util/grub-pe2elf.c (ehdr): Make static.
3309 (shdr): Likewise.
3310 (num_sections): Likewise.
3311 (offset): Likewise.
3312
5f47782c
VS
33132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 Eliminate ofpath limits and possible overflows.
3316
3317 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3318 (OF_PATH_MAX): Removed.
3319 (MAX_DISK_CAT): New const.
3320 (find_obppath): Use allocated rather than preallocated buffer.
3321 Return result. Argument of_path removed. All users updated.
3322 Add missing fdstat.
3323 (xrealpath): New function.
3324 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3325 Allocate rather than use preallocated buffer. All users updated.
3326 (__of_path_common): Use allocated rather than preallocatecd buffer.
3327 Return result. Argument of_path removed. All users updated.
3328 (vendor_is_ATA): Read only needed part form the file.
3329 (check_sas): Allocate depending on contents rather than fixed.
3330 (main) [STANDALONE]: Handle NULL result.
3331
f990cbf9
VS
33322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3335
9c6e84b8
VS
33362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 Cryptodisk write support.
3339
3340 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3341 (grub_cryptodisk_decrypt): Moved logic to ...
3342 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3343 (grub_cryptodisk_write): Implement.
3344 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3345 (grub_util_fd_write): ... this. Make global.
3346 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3347
87cf9744
VS
33482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * include/grub/list.h (grub_list_remove): Don't crash if element is
3351 removed twice.
3352
ca8c0baf
VS
33532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 Rename ofconsole to console.
3356
3357 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3358 as sysnonym to console.
3359 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3360 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3361 Rename grub_ofconsole_ to grub_console_. All users updated
3362 (grub_console_term_output): Rename "ofconsole" to "console".
3363 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3364 as "console".
3365
64c8b8f6
VS
33662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3369 handling.
3370 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3371 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3372 GRUB_DISK_DEVICE_FILE_ID.
3373
f6c434d5
VS
33742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3377 and improve performance.
3378
5858b42d
VS
33792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3382 missing ieee1275/ prefix on whole disk.
3383
4ed3c26b
VS
33842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3387 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3388
df71143e
VS
33892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3392
076e7c0f
VS
33932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 Merge common RAID and LVM logic to an abstract diskfilter.
3396 Add LDM support using the same framework.
3397
3398 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3399 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3400 (libgrubmods): Remove grub-core/disk/raid.c and
3401 grub-core/partmap/gpt.c.
3402 * grub-core/Makefile.core.def (ldm): New module.
3403 (raid): Renamed to diskfilter. All users updated.
3404 * grub-core/disk/raid.c: Moved to ...
3405 * grub-core/disk/diskfilter.c: ... here.
3406 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3407 (lv_num): New var.
3408 (find_array): Renamed to ...
3409 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3410 (grub_is_array_readable): Renamed to ...
3411 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3412 (insert_array): New argument id.
3413 (is_node_readable): New function.
3414 (scan_device): Rename to ...
3415 (scan_disk): .. this. Restrict to one disk.
3416 (scan_devices): New function.
3417 (grub_diskfilter_iterate): Support multi-LV.
3418 Skip invisible and nameless LVs.
3419 (grub_diskfilter_memberlist): Support multi-LV.
3420 (grub_diskfilter_read_node): New function.
3421 (grub_raid_read): Most of logic moved to ...
3422 (read_segment): ... here
3423 (read_lv): New function.
3424 (grub_diskfilter_get_vg_by_uuid): New function.
3425 (grub_diskfilter_make_raid): Likewise.
3426 * grub-core/disk/ldm.c: New file.
3427 * grub-core/disk/lvm.c (vg_list): Removed.
3428 (lv_count): Likewise.
3429 (scan_depth): Likewise.
3430 (is_lv_readable): Likewise.
3431 (grub_lvm_getvalue): Advance pointer past the number.
3432 (find_lv): Removed.
3433 (do_lvm_scan): Refactored into ...
3434 (grub_lvm_detect): ... this. Support raid.
3435 (grub_lvm_iterate): Removed.
3436 (grub_lvm_memberlist): Likewise.
3437 (grub_lvm_open): Likewise.
3438 (grub_lvm_close): Likewise.
3439 (read_lv): Likewise.
3440 (read_node): Likewise.
3441 (is_node_readable): Likewise.
3442 (is_lv_readable): Likewise.
3443 (grub_lvm_read): Likewise.
3444 (grub_lvm_write): Likewise.
3445 (grub_lvm_dev): Use diskfilter
3446 (GRUB_MOD_INIT): Likewise.
3447 (GRUB_MOD_FINI): Likewise.
3448 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3449 new interface.
3450 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3451 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3452 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3453 grub_diskfilter_read_node.
3454 Fix a bug with xor.
3455 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3456 grub_diskfilter_read_node.
3457 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3458 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3459 (grub_disk_dev_iterate): Move from here...
3460 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3461 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3462 Make global.
3463 (grub_hostdisk_find_partition_start): Likewise.
3464 (grub_hostdisk_os_dev_to_grub_drive): New function.
3465 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3466 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3467 * util/getroot.c (make_device_name): ... here.
3468 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3469 Move to ...
3470 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3471 * grub-core/kern/emu/hostdisk.c
3472 (convert_system_partition_to_system_disk): Move to ...
3473 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3474 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3475 * util/getroot.c (device_is_wholedisk): ... here.
3476 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3477 * util/getroot.c (find_system_device): ... here.
3478 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3479 Move to ...
3480 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3481 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3482 Move to ...
3483 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3484 Handle LDM.
3485 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3486 Move to ...
3487 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3488 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3489 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3490 DISKFILTER.
3491 * include/grub/raid.h: Renamed to ...
3492 * include/grub/diskfilter.h: ... this.
3493 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3494 (GRUB_RAID_LAYOUT_*): Make into array.
3495 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3496 (grub_diskfilter_vg): New struct.
3497 (grub_diskfilter_pv_id): Likewise.
3498 (grub_raid_member): Removed.
3499 (grub_raid_array): Likewise.
3500 (grub_diskfilter_pv): New struct.
3501 (grub_diskfilter_lv): Likewise.
3502 (grub_diskfilter_segment): Likewise.
3503 (grub_diskfilter_node): Likewise.
3504 (grub_diskfilter_get_vg_by_uuid): New proto.
3505 (grub_raid_register): Inline.
3506 (grub_diskfilter_unregister): Likewise.
3507 (grub_diskfilter_make_raid): New proto.
3508 (grub_diskfilter_vg_register): Likewise.
3509 (grub_diskfilter_read_node): Likewise.
3510 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3511 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3512 (grub_util_is_ldm): Likewise.
3513 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3514 (grub_hostdisk_find_partition_start): Likewise.
3515 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3516 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3517 New definition.
3518 (grub_gpt_partition_map_iterate): New proto.
3519 * include/grub/lvm.h (grub_lvm_vg): Removed.
3520 (grub_lvm_pv): Likewise.
3521 (grub_lvm_lv): Likewise.
3522 (grub_lvm_segment): Likewise.
3523 (grub_lvm_node): Likewise.
3524 * util/getroot.c [...]
3525 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3526 (probe_abstraction): Likewise.
3527 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3528 (main): Remove dead logic.
3529
8a7f9b9c
VS
35302012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 Simplify root device discover and don't fail when trying to open
3533 incorrect devices.
3534
3535 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3536 function.
3537 (get_diskname_from_path): Likewise.
3538 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3539 of iterating.
3540
30545b85
VS
35412012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3544
28ea58cf
VS
35452012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3548 pastthe end.
3549
692dabca
VS
35502012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * util/grub-install.in: Add missing \.
3553 Reported by: gentoofan
3554
f6e4ea70
VS
35552012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3558 (direct_read): Use correct compressed size.
3559 (grub_squash_read_data): Likewise.
3560
35612012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3562
3563 * docs/grub.texi (Platform limitations): New section.
3564 (Platform-specific operations): Likewise.
3565 * docs/grub-dev.texi (Porting): Likewise.
3566
76261110
VS
35672012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 IEEE1275 disk write support.
3570
3571 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3572 const void *.
3573 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3574 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3575 and seek loginc to ...
3576 (grub_ofdisk_prepare): ... here.
3577 (grub_ofdisk_write): Implement.
3578
fc36d603
VS
35792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 ARC disk write support.
3582
3583 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3584 (reopen): New argument writable. All users updated.
3585 Handle required access mode.
3586 (grub_arcdisk_write): Implement.
3587 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3588 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3589
e06c2e7a
VS
35902012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3593 (read_sblock): Don't attempt to read superblocks outside the disk size.
3594
ff447958
VS
35952012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3598 first superblock to find the second one when possible.
3599
9e88df39
VS
36002012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * util/grub-install.in: Fix an ARC bug.
3603 Print a warning if no platform-specific setup is available.
3604
bb26e4ff
VS
36052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Use static allocation rather than scratch pointer in reed_solomon.
3608 It decreases its size significantly and avoids a variable in .text.
3609
3610 * grub-core/lib/reed_solomon.c (scratch): Removed.
3611 (chosenstat): New const or static array.
3612 (sigma): Likewise.
3613 (errpot): Likewise.
3614 (errpos): Likewise.
3615 (sy): Likewise.
3616 (mstat): Likewise.
3617 (errvals): Likewise.
3618 (eqstat): Likewise.
3619 (pol_evaluate): Replace x with log_x argument. All users updated.
3620 (syndroms): Removed.
3621 (gauss_solve): Use statically allocated arrays.
3622 (rs_recover): Likewise.
3623 Calculate syndroms directly.
3624 (decode_block): Use statically allocated arrays.
3625 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3626 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3627
2e13ede5
VS
36282012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 Eliminate fixed limit on reed solomon decoder length.
3631
3632 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3633 rather than hardcoding the address.
3634 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3635 no_reed_solomon_length.
3636 Move gate_a20 to no-reed-solomon part.
3637 Don't force a particular size of no reed-solomon part.
3638 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3639 Removed.
3640 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3641 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3642
f8a9ab12
VS
36432012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/commands/wildcard.c (match_files): Handle filenames
3646 without explicit device.
3647 (wildcard_expand): Don't add explicit device if not already present.
3648 * tests/grub_script_echo1.in: Add a new expansion test.
3649
87edb894
VS
36502012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 Replace single-linked with double-linked lists. It results in more
3653 compact and more efficient code.
3654
3655 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3656 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3657 (grub_list_remove): Moved from here ...
3658 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3659 (grub_prio_list_insert): Set prev.
3660 * include/grub/list.h (grub_list): Add prev. All users updated.
3661
48b391e9
VS
36622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 Handle newer autotools. Add some missing quotes while on it.
3665
3666 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3667 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3668 (pkgdata_DATA): ... here.
3669 * Makefile.util.def (update-grub_lib): Removed.
3670 * conf/Makefile.common (pkglib_DATA): Removed.
3671 (pkglib_SCRIPTS): Likewise.
3672 (pkgdata_DATA): New variable.
3673 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3674 needed.
3675 Add missing quotes.
3676 Remove unused variable while on it.
3677 * tests/util/grub-shell.in: Likewise.
3678 * util/grub-install.in: Likewise.
3679 * util/grub-mkconfig.in: Likewise.
3680 * util/grub-mknetdir.in: Likewise.
3681 * util/grub-mkrescue.in: Likewise.
3682 * util/grub-mkstandalone.in: Likewise.
3683 * util/grub.d/00_header.in: Likewise.
3684 * util/grub.d/10_hurd.in: Likewise.
3685 * util/grub.d/10_illumos.in: Likewise.
3686 * util/grub.d/10_kfreebsd.in: Likewise.
3687 * util/grub.d/10_linux.in: Likewise.
3688 * util/grub.d/10_netbsd.in: Likewise.
3689 * util/grub.d/10_windows.in: Likewise.
3690 * util/grub.d/20_linux_xen.in: Likewise.
3691 * util/grub.d/30_os-prober.in: Likewise.
3692 * util/update-grub_lib.in: Removed.
3693
36942012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3695
3696 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3697 a workaround for intel problem.
3698
66832792
PRP
36992012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
37002012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
37012012-01-23 pfsmorigo
3702
3703 * util/grub-install.in: Support dd'in into PreP partition.
3704 * util/grub-probe.c (probe): Support discovering partition type.
3705 (main): Support -t msdos_parttype.
3706
7816a17e
VS
37072012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3710 infinite recursion using counter.
3711 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3712 init to skip it if the magic check fails.
3713 (dec_stream_header): Init s->crc32.
3714
8f9d3a8c
ZB
37152012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
37162012-01-22 Zachary Bedell <pendorbound@gmail.com>
37172012-01-22 Richard Laager <rlaager@wiktel.com>
3718
3719 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3720 All users updated.
3721 (find_bestub): Determine correct size.
3722 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3723 (scan_disk): Align the size down.
3724 Call check pool before find_bestub to have ashift.
3725
b055dd32
VS
37262012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3729 dprintf in no-malloc zone.
3730
d779e9bd
ML
37312012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3732
3733 * configure.ac: Add back in test for limits.h.
3734
b508af69
VS
37352012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 Support 4K-sector NTFS.
3738
3739 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3740 (grub_ntfs_data): Remove blocksize.
3741 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3742 Remove data argument. All users updated.
3743
dad9c8b5
VS
37442012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3747 being in .text to avoid dprel references.
3748 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3749 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3750 (grub_arch_highmemsize): Likewise.
3751 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3752 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3753 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3754
d43a777e
VS
37552012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3758
3759 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3760 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3761
34e4208f
VS
37622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3765 GRUB_UTIL.
3766 (grub_set_datetime_cmos): Likewise.
3767
3ec0fc1c
VS
37682012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Make XZ compression parameters dependent on target and not host CPU.
3771
3772 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3773 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3774
22489834
VS
37752012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3778 set but not used variable.
3779
8502fbca
VS
37802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3783 created when no uuid support is compiled into mkfs.reiser.
3784
76df2068
VS
37852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3788 (utf8_to_macroman): Do the opposite.
3789 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3790
64e3f8f6
VS
37912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * configure.ac: Refise build qemu_mips w/o unifont.
3794
9c271078
VS
37952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 Eliminate grub_min/grub_max prone to overflow usage.
3798
3799 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3800 (poll_nonroot_hub): Likewise.
3801 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3802 (grub_affs_label): Likewise.
3803 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3804 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3805 (grub_hfs_label): Likewise.
3806 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3807 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3808 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3809 (zap_leaf_array_get): Likewise.
3810 (dnode_get_path): Likewise.
3811 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3812 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3813 * grub-core/script/execute.c (grub_script_break): Likewise.
3814 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3815 grub_max.
3816 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3817 * include/grub/misc.h (grub_min): Removed.
3818 (grub_max): Likewise.
3819
80662dbc
VS
38202012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3821
3822 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3823 direct.inode = 0.
3824
e6da1467
VS
38252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3828
b1ac4cb1
VS
38292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3832
b4bf7c3b
VS
38332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3836 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3837
8ee1101a
VS
38382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3841 rather than a hack for grub_strncasemap.
3842
38432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 Support multiple initrds
3846 Note: part of this was accidently committed in r3739.
3847
3848 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3849 initrd.
3850 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3851 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3852 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3853 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3854 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3855
4d1e2bc9
VS
38562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3859 disks with unknown size.
3860 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3861
75b49ebe
VS
38622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 Remove defines pertaining to arbitrary limits not affecting GRUB
3865 anymore.
3866
3867 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3868 (EXT2_MAX_SYMLINKCNT): Likewise.
3869 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3870 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3871 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3872 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3873 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3874 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3875 (DN_MAX_OBJECT_SHIFT): Likewise.
3876 (DN_MAX_OFFSET_SHIFT): Likewise.
3877 (DN_MAX_OBJECT): Likewise.
3878 (DNODES_PER_LEVEL_SHIFT): Likewise.
3879 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3880 (SPA_MAXBLOCKSIZE): Likewise.
3881 (SPA_BLOCKSIZES): Likewise.
3882 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3883 (MZAP_MAX_BLKSZ): Likewise.
3884
74a1dce7
VS
38852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3888 handle NULL appropriately.
3889 Remove MIN.
3890
30c7d3ce
VS
38912012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 Fix efiemu.
3894
3895 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3896 cpu/types.h.
3897 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3898 * configure.ac: Fix efiemu check.
3899
3c76ea0c
VS
39002012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3903 grub_probe.
3904 Reported by: adamwill
3905
7e532280
SG
39062012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3907
3908 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3909
30492374
VS
39102012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 Fix handling of wide characters in gfxterm.
3913
3914 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3915 (clear_char): Likewise.
3916 (paint_char): Skip code == NULL chars.
3917 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3918
e70cb72f
VS
39192012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/normal/charset.c: Move comment to right place.
3922
5c827cf9
VS
39232012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3926 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3927 (grub_affs_mount): Revert the correct version checking.
3928
53603892
VS
39292012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * docs/grub.texi (Unicode): Mention several other unsupported features.
3932
ff094b9b
VS
39332011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3936 case statements as compile-time one.
3937 (direct_read): Prevent spurious warnings.
3938 (grub_squash_read_data): Likewise.
3939
c029da8a
VS
39402011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 Various squash4 fixes and LZO and XZ support.
3943
3944 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3945 Add xzembed source files.
3946 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3947 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3948 (grub_squash_inode): New subtype long_dir.
3949 (SQUASH_TYPE_LONG_DIR): New inode type.
3950 (COMPRESSION): New enum.
3951 (XZBUFSIZ): New const.
3952 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3953 (read_chunk): Use data->decompress.
3954 (zlib_decompress): New function.
3955 (lzo_decompress): Likewise.
3956 (xz_decompress): Likewise.
3957 (squash_mount): Set new data fields.
3958 (grub_squash_iterate_dir): Handle long dir.
3959 (squash_unmount): Free xzdec and xzbuf.
3960 (grub_squash_open): Check ino type.
3961 (direct_read): Stylistic fixes. Use data->decompress.
3962 (grub_squash_read_data): Likewise.
3963 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3964 (get_byte): Likewise.
3965 (grub_zlib_disk_read): Removed.
3966 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3967 (GRUB_POSIX_BOOL_DEFINED): New define.
3968 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3969 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3970 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3971 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3972
7a45a539
VS
39732011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Don't override more informative errors.
3976
3977 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3978 * grub-core/font/font.c (open_section): Likewise.
3979 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3980 filename. Don't override errors.
3981 (grub_cmd_openbsd_ramdisk): Don't override errors.
3982 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3983 (grub_cmd_initrd): Likewise.
3984 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3985 (grub_cmd_initrd): Likewise.
3986 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3987 (grub_cmd_linux): Likewise.
3988 (grub_cmd_initrd): Likewise.
3989 (grub_cmd_payload): Likewise.
3990 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3991 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3992 (grub_cmd_module): Likewise.
3993 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3994 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3995 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3996 (grub_cmd_xnu_mkext): Likewise.
3997 (grub_cmd_xnu_ramdisk): Likewise.
3998 (grub_xnu_check_os_bundle_required): Likewise.
3999 (grub_xnu_load_kext_from_dir): Likewise.
4000 (grub_cmd_xnu_kextdir): Likewise.
4001 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4002
b2d004db
VS
40032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4006 as 1024 in block size field. Found on one of my test images.
4007 Small optimisation while on it.
4008
ec000eac
VS
40092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4012 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4013 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4014 performance fixes while on it.
4015 (grub_sfs_close): Fix memory leak while on it.
4016 (grub_sfs_label): Convert Latin1 to UTF-8.
4017
f50e1165
VS
40182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4021 space to avoid overflows.
4022 (grub_hfs_label): Convert from macroman to UTF-8.
4023
2ae254de
VS
40242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4027
0108f491
VS
40282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4031
f45f5f89
VS
40322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * unicode: Import Unicode 6.0 data.
4035
4d8c4765
VS
40362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4037
63fa8ef9
VS
4038 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4039 outside of range.
4040
40412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4044
4045 * include/grub/charset.h (grub_getend): New function.
4046 * grub-core/script/function.c (grub_script_function_find): Use
4047 grub_getend.
4048 * grub-core/normal/completion.c (add_completion): Likewise.
4049
f3cb4a4e
VS
40502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4053 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4054 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4055 (GRUB_UNICODE_TAG_END): Likewise.
4056 (GRUB_UNICODE_LAST_VALID): Likewise.
4057
5da8dbc5
VS
40582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4061 len and make it smaller. All users updated.
4062 * util/import_unicode.py: Put length and not end character.
4063 Check length.
4064
8569f13d
VS
40652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 Make better Unicode-compliant and unify some UTF-8 code pathes.
4068
4069 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4070 valid character.
4071 (grub_is_valid_utf8): Use grub_utf8_process.
4072 Check resulting code range.
4073 (grub_utf8_to_ucs4): Use grub_utf8_process.
4074 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4075 valid character.
4076
cc4fddf5
VS
40772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4080
bbc47747
VS
40812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * docs/grub.texi (Filesystems): Mention AFS.
4084
f63d6bf4
VS
40852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * docs/grub.texi (Filesystems): Clarify restrictions.
4088 (Regexp): Mention non-Unicode regexp behaviour.
4089 (Other): Mention non-Unicode matching behaviour.
4090
74bbf0db
VS
40912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4092
f63d6bf4 4093 Make HFS implementation use MacRoman.
74bbf0db
VS
4094
4095 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4096 (macroman): New const array.
4097 (macroman_to_utf8): New function.
4098 (utf8_to_macroman): Likewise.
4099 (grub_hfs_find_dir): Use utf8_to_macroman.
4100 (grub_hfs_dir): Use macroman_to_utf8.
4101 Set case_insensitive.
4102
4ea0316e
VS
41032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4106
d3c13cbd
VS
41072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 Integrate hints into autogeneration scripts.
4110
4111 * docs/grub.texi (Filesystems): Add a hostdisk example.
4112 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4113 (grub-probe): Add ofpath.
4114 * gentpl.py: Remove group nosparc64.
4115 * grub-core/commands/search.c (cache_entry): New struct.
4116 (cache): New var.
4117 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4118 * grub-core/commands/search_wrap.c (options): Add platform-specific
4119 hint options.
4120 (grub_cmd_search): Handle platform-specific hints.
4121 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4122 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4123 (grub_util_biosdisk_data): Likewise.
4124 (grub_util_biosdisk_open): Set device_map.
4125 (read_device_map): Handle "" as indication of no map.
4126 Set device_map.
4127 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4128 (grub_util_biosdisk_get_compatibility_hint): New function.
4129 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4130 * include/grub/emu/hostdisk.h
4131 (grub_util_biosdisk_get_compatibility_hint): New proto.
4132 * util/grub-install.in: Don't call grub-mkdevicemap.
4133 Add platform-specific hint to load.cfg.
4134 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4135 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4136 hints. Set root preliminary to compatibility hint, not to OS name.
4137 * util/grub-probe.c (PRINT_*): Add hints.
4138 (print): Make static.
4139 (escape_of_path): New function.
4140 (guess_bios_drive): Likewise.
4141 (guess_efi_drive): Likewise.
4142 (guess_baremetal_drive): Likewise.
4143 (print_full_name): Likewise.
4144 (probe): Handle hints.
4145 (main): Likewise.
4146 * util/ieee1275/devicemap.c: Removed.
4147 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4148 updated.
4149 (grub_util_devname_to_ofpath): Return NULL on failure.
4150
4151 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4152 resource leak.
4153 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4154
4155 * po/POTFILES.in: Regenerated.
4156
4157 Allow purely long options
4158
4159 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4160 (SHORT_ARG_USAGE): Likewise.
4161 (grub_arg_show_help): Compare opt with help_options.
4162 (parse_option): Receive opt as argument. If makes big simplificatons.
4163 All users updated
4164
00ce2df3
VS
41652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4168 Restructure to avoid warning.
4169
e77e325f
VS
41702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * util/grub-install.in: Account for possible escaped comma in device
4173 name.
4174
165099ea
VS
41752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4178 channel.
4179
ce4a999d
VS
41802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4183 allocation and zero-setting.
4184 (grub_ieee1275_get_devname): Check that alias is complete.
4185
379586ad
VS
41862011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4189 unaligned segments.
4190
9197b0ad
VS
41912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4194 prefix.
4195 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4196 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4197 Add ieee1275 prefix.
4198
edddb7f9
VS
41992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * docs/grub.texi (Filesystems): Update.
4202
a1a8b1b9
VS
42032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 Support odc, newc and bigendian cpio formats.
4206
4207 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4208 * grub-core/Makefile.core.def (newc): New module.
4209 (odc): Likewise.
4210 (cpio_be): Likewise.
4211 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4212 (MAGIC): Likewise.
4213 (MAGIC2): Likewise.
4214 (head) [MODE_ODC]: Adapt for the format.
4215 (head) [MODE_NEWC]: Likewise.
4216 (head) [!MODE_*]: Write fields of interest as arrays.
4217 (MAGIC_USTAR): Removed.
4218 (read_number) [MODE_NEWC]: Change to hex.
4219 (read_number) [!MODE_*]: Parse binary arrays.
4220 (grub_cpio_find_file): Factor out the code for better structure and
4221 always use read_number.
4222 (grub_cpio_mount): Use MAGIC and MAGIC2.
4223 (grub_cpio_dir): Exit on first hook non-0 return.
4224 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4225 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4226 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4227 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4228 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4229 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4230 * grub-core/fs/newc.c: New file.
4231 * grub-core/fs/odc.c: Likewise.
4232 * grub-core/fs/cpio_be.c: Likewise.
4233
58eba9ee
VS
42342011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 Fix handling of tar numbers occupying the whole field.
4237
4238 * grub-core/fs/cpio.c (read_number): New function.
4239 (grub_cpio_find_file): Use read_number instead of strtoull.
4240
a54a0e12
VS
42412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4244 occupying the whole field size.
4245
a6120aca
LA
42462011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4247
4248 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4249
a93964ce
VS
42502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4253
3ea1ca46
SG
42542011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4255
4256 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4257 TARGET_IMG_LDFLAGS.
4258
b87f7ef2
VS
42592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4262 (mountinfo_entry): Increase the field size to take escaping into
4263 account.
4264 (find_root_device_from_libzfs): Add one byte to size of strings for
4265 security.
4266
62092395
VS
42672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4270 an assert.
4271 * util/grub-setup.c (setup): Likewise.
4272
1f0b1a77
VS
42732011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4276 _LzmaDecodeA.
4277
8eba9997
VS
42782011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * docs/grub.texi (Internationalisation): New section.
4281
dd0c91e9
VS
42822011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * docs/grub.texi (Loopback booting): New section.
4285
42862011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4287
4288 * util/grub-mkstandalone.in: Fix minor typo errors.
4289
198e150a
VS
42902011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4293
4294 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4295 net/icmp.c and net/icmp6.c.
4296 (http): New module.
4297 (priority_queue): Likewise.
4298 * grub-core/io/bufio.c: Rewritten.
4299 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4300 TYPE_WITH_CONFIGFILE_OPTION.
4301 (legacy_commands): Add bootp and dhcp.
4302 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4303 (grub_legacy_parse): Likewise.
4304 * grub-core/lib/priority_queue.c: New file.
4305 * grub-core/net/arp.c: Add missing license header.
4306 (arp_find_entry): Removed.
4307 (arp_find_entry): Likewise.
4308 (grub_net_arp_resolve): Rename to ...
4309 (grub_net_arp_send_request): ...this.
4310 (grub_net_arp_receive): New card argument.
4311 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4312 Set router and DNS server.
4313 (grub_net_configure_by_dhcp_ack): Handle routing information.
4314 (grub_cmd_bootp): Set checksum.
4315 (grub_bootp_init): Remove net_dhcp.
4316 * grub-core/net/dns.c: New file.
4317 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4318 completion.
4319 (get_card_packet): Handle allocation.
4320 (grub_efinet_findcards): Set mtu.
4321 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4322 (get_card_packet): Handle allocation.
4323 (emucard): Set mtu.
4324 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4325 (GRUB_MOD_INIT): Set mtu.
4326 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4327 mtu.
4328 (get_card_packet): Handle allocation.
4329 (grub_ofnet_findcards): Set mtu.
4330 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4331 assert.
4332 (grub_net_recv_ethernet_packet): Handle IPv6.
4333 * grub-core/net/http.c: New file.
4334 * grub-core/net/icmp.c: Likewise.
4335 * grub-core/net/icmp6.c: Likewise.
4336 * grub-core/net/ip.c (ip6addr): New type.
4337 (ip6hdr): Likewise.
4338 (reassemble): Likewise.
4339 (cmp): New function.
4340 (reassembles): New variable.
4341 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4342 (id): New variable.
4343 (send_fragmented): New function.
4344 (grub_net_send_ip_packet): Rename to ...
4345 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4346 Handle non-UDP.
4347 (grub_net_recv_ip_packets): Rename to ...
4348 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4349 (free_rsm): New function.
4350 (free_old_fragments): Likewise.
4351 (grub_net_recv_ip4_packets): New function.
4352 (grub_net_send_ip6_packet): Likewise.
4353 (grub_net_send_ip_packet): Likewise.
4354 (grub_net_recv_ip6_packets): Likewise.
4355 (grub_net_recv_ip_packets): Likewise.
4356 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4357 (LINK_LAYER_CACHE_SIZE): New const.
4358 (link_layer_find_entry): New function.
4359 (grub_net_link_layer_add_address): Likewise.
4360 (grub_net_link_layer_resolve_check): Likewise.
4361 (grub_net_link_layer_resolve): Likewise.
4362 (grub_net_ipv6_get_slaac): Likewise.
4363 (grub_net_ipv6_get_link_local): Likewise.
4364 (grub_cmd_ipv6_autoconf): Likewise.
4365 (parse_ip): Handle one number representation.
4366 (parse_ip6): New functoion.
4367 (match_net): Handle IPv6.
4368 (grub_net_resolve_address): Handle IPv6 and DNS.
4369 (grub_net_resolve_net_address): Handle IPv6.
4370 (route_cmp): New function.
4371 (grub_net_route_address): Find best route.
4372 (grub_net_addr_to_str): Handle IPv6.
4373 (grub_net_addr_cmp): New function.
4374 (grub_net_add_addr): Register local route.
4375 (print_net_address): Handle net address.
4376 (grub_net_poll_cards): Retransmit TCP.
4377 (grub_net_poll_cards_idle_real): Likewise.
4378 (have_ahead): New function.
4379 (grub_net_seek_real): Use underlying seek.
4380 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4381 * grub-core/net/tcp.c: New file.
4382 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4383 (cmp): New function.
4384 (ack): Likewise.
4385 (tftp_receive): Handle unordered input.
4386 (destroy_pq): New function.
4387 (tftp_close): Close pq.
4388 * grub-core/net/udp.c: Put missing license header.
4389 (grub_net_udp_socket): New function.
4390 (udp_socket_register): Likewise.
4391 (grub_net_udp_close): Likewise.
4392 (grub_net_recv_udp_packet): Check checksum.
4393 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4394 * include/grub/misc.h (grub_memchr): New function.
4395 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4396 (grub_net_card_driver): Return buf in recv.
4397 (grub_net_slaac_mac_list): New struct.
4398 (grub_network_level_protocol_id): Add ipv6.
4399 (grub_net_network_level_addr): Likewise.
4400 (grub_net_network_level_net_addr): Likewise.
4401 (grub_net_app_protocol): Add seek.
4402 (grub_net_socket): Removed.
4403 (grub_net_sockets): Likewise.
4404 (grub_net_socket_register): Likewise.
4405 (grub_net_socket_unregister): Likewise.
4406 (FOR_NET_SOCKETS): Likewise.
4407 (grub_net_add_addr): Add const.
4408 (GRUB_NET_BOOTP_*): New enum.
4409 (grub_net_addr_cmp): New proto.
4410 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4411 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4412 (grub_net_hwaddr_to_str): NEw proto.
4413 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4414 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4415 (grub_dns_init): New proto.
4416 (grub_dns_fini): Likewise.
4417 (grub_net_tcp_retransmit): Likewise.
4418 (grub_net_link_layer_add_address): Likewise.
4419 (grub_net_link_layer_resolve_check): Likewise.
4420 (grub_net_link_layer_resolve): Likewise.
4421 (grub_net_dns_lookup): Likewise.
4422 (grub_net_add_dns_server): Likewise.
4423 (grub_net_remove_dns_server): Likewise.
4424 (GRUB_NET_TRIES): New const.
4425 (GRUB_NET_INTERVAL): Likewise.
4426 * include/grub/net/arp.h: Mostly rewritten.
4427 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4428 * include/grub/net/ip.h: Mostly rewritten.
4429 * include/grub/net/netbuff.h: Indent.
4430 * include/grub/net/tcp.h: New file.
4431 * include/grub/net/udp.h: Mostly rewritten.
4432 * include/grub/priority_queue.h: New file.
4433 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4434 (grub_swap_bytes64_compile_time): Likewise.
4435 (grub_cpu_to_be16_compile_time): Likewise.
4436 (grub_cpu_to_be32_compile_time): Likewise.
4437 (grub_cpu_to_be64_compile_time): Likewise.
4438 (grub_be_to_cpu64_compile_time): Likewise.
4439
215c1800
VS
44402011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4443 UINT_TO_PTR with cast.
4444
c17e546c
VS
44452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4448 don't use them.
4449
ff6b18b6
VS
44502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4453 already there.
4454
70ffcc93
VS
44552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4458 confusing ipxe.
4459
e5f4d260
VS
44602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4463 Add missing const attribute.
4464 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4465 Likewise.
4466 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4467 Likewise.
4468
8e54b4b7
VS
44692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4472 misaligned access.
4473 (serpent_setkey): Likewise.
4474 (serpent_encrypt_internal): Likewise.
4475 (serpent_decrypt_internal): Likewise.
4476 (serpent_encrypt): Don't put an alignment-increasing cast.
4477 (serpent_decrypt): Likewise.
4478 (serpent_test): Likewise.
4479
813c0a2b
VS
44802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4483
f2b60fbd
VS
44842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4487
4488 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4489 grub_addr_t casts.
4490 (PTR_TO_UINT64): Likewise.
4491 (PTR_TO_UINT32): Likewise.
4492
5ef5c511
VS
44932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4496 because of stack.
4497 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4498 limit.
4499
c476e6df
VS
45002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4503 text_width > available width a bit more gracefully.
4504
384ad7cc
VS
45052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4508 current address calculation.
4509
96f8caf8
VS
45102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4513 stack.
4514 (encode_block): Likewise.
4515
276b7a8b
VS
45162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4519 certainety.
4520
e3fd394a
VS
45212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4524 non-RS part to avoid RS messing with GDT.
4525 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4526 Increase to suit in realmode routines.
4527
45282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/kern/i386/realmode.S: Increase alignment.
4531 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4532
ee9c2e7a
VS
45332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4536 be deterministic.
4537 (syndroms): Compute 0 syndrom.
4538 (rs_recover): Use 0 syndrom.
4539
7a7f7cc9
VS
45402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4543
a14b16d1
VS
45442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4547 brackets.
4548
9f59e9fc
VS
45492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4550
ca1b552c
VS
4551 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4552 account.
4553 (get_top_pad): Likewise.
4554 (get_right_pad): Likewise.
4555 (get_bottom_pad): Likewise.
4556
45572011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4560
e739d698
VS
45612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4564 attribute as the structure isn't guaranteed to be properly aligned.
4565 (grub_efi_pci_device_path): Likewise.
4566 (grub_efi_pccard_device_path): Likewise.
4567 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4568 specify the size of `memory_type'.
4569 (grub_efi_vendor_device_path): Likewise.
4570 (grub_efi_controller_device_path): Likewise.
4571 (grub_efi_acpi_device_path): Likewise.
4572 (grub_efi_expanded_acpi_device_path): Likewise.
4573 (grub_efi_atapi_device_path): Likewise.
4574 (grub_efi_scsi_device_path): Likewise.
4575 (grub_efi_fibre_channel_device_path): Likewise.
4576 (grub_efi_1394_device_path): Likewise.
4577 (grub_efi_usb_device_path): Likewise.
4578 (grub_efi_usb_class_device_path): Likewise.
4579 (grub_efi_i2o_device_path): Likewise.
4580 (grub_efi_mac_address_device_path): Likewise.
4581 (grub_efi_ipv4_device_path): Likewise.
4582 (grub_efi_ipv6_device_path): Likewise.
4583 (grub_efi_infiniband_device_path): Likewise.
4584 (grub_efi_uart_device_path): Likewise.
4585 (grub_efi_vendor_messaging_device_path): Likewise.
4586 (grub_efi_hard_drive_device_path): Likewise.
4587 (grub_efi_cdrom_device_path): Likewise.
4588 (grub_efi_vendor_media_device_path): Likewise.
4589 (grub_efi_file_path_device_path): Likewise.
4590 (grub_efi_protocol_device_path): Likewise.
4591 (grub_efi_piwg_device_path): Likewise.
4592 (grub_efi_bios_device_path): Likewise.
4593
cb8f88ea
VS
45942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4597 (grub_ucs4_to_utf8_alloc): Likewise.
4598 (grub_ucs4_to_utf8): Likewise.
4599 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4600 (grub_ucs4_to_utf8_alloc): Likewise.
4601
309e5352
VS
46022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 AFFS never uses unicode.
4605
4606 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4607 (grub_latin1_to_utf8): New inline function.
4608 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4609
e7987e1b
VS
46102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4613 overflow.
4614
efc2616e
VS
46152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4618 (grub_squash_dirent_header): Likewise.
4619 (read_chunk): Don't double swap.
4620 (grub_squash_iterate_dir): Fix swap sizes.
4621
3c349f5a
VS
46222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4625
b453412d
VS
46262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4629 (grub_hfs_iterate_dir): Likewise.
4630
12e9d4d1
VS
46312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 Fix video on platforms where unaligned access is forbidden.
4634 Make several optimisations while on it.
4635
4636 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4637 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4638 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4639 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4640 Disable.
4641 (grub_video_fbblit_replace_16bit_1bit):
4642 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4643 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4644 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4645 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4646 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4647 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4648 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4649 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4650 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4651 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4652 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4653 (grub_video_fbblit_replace_index_RGB888): Likewise.
4654 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4655 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4656 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4657 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4658 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4659 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4660 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4661 Disable.
4662 (grub_video_fbblit_blend_XXX565_1bit):
4663 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4664 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4665 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4666 void *.
4667 * grub-core/video/fb/video_fb.c (common_blitter)
4668 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4669 (grub_video_fb_create_render_target_from_pointer)
4670 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4671 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4672 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4673 definition.
4674 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4675
ace96609
VS
46762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4679 HH22 and HM10 relocations.
4680
fd261d73
VS
46812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4684
e59b7857
VS
46852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4688 allocation succeeded.
4689
9b4baaa4
VS
46902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4693 argument a u8 pointer. All users updated.
4694 Handle unaligned buffers.
4695
dc713193
VS
46962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4699 add_part to workaround compiler bug.
4700
30dd48c2
VS
47012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4704
0c6087a8
VS
47052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4708 Reserve alignment invariants.
4709 (grub_multiboot_load): Likewise.
4710 (retrieve_video_parameters): Likewise.
4711 (grub_multiboot_make_mbi): Likewise.
4712
c2e77777
VS
47132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4716 incorrect pointer.
4717
b70b6d11
VS
47182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4721 (grub_pata_pio_write): Likewise.
4722
02a2bf83
VS
47232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 Add noreturn attributes and remove unreachable code.
4726
4727 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4728 code.
4729 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4730 code. Mark as noreturn.
4731 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4732 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4733 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4734 unreachable code.
4735 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4736 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4737 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4738 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4739 * include/grub/kernel.h (grub_main): Mark as noreturn.
4740 * include/grub/reader.h (grub_rescue_run): Likewise.
4741
2019d09e
VS
47422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4745 redundant declaration.
4746
d1c501ee
VS
47472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4750 redundant declaration.
4751 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4752
61664420
VS
47532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4756 to ensure alignment.
4757 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4758 alignment. Ensure tmp alignment.
4759 (grub_cmd_hdparm): Ensure buf alignment.
4760 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4761 to ensure alignment.
4762 (grub_ata_dumpinfo): Ensure text alignment.
4763 (grub_atapi_identify): Preserve alignment invariant.
4764 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4765
0d51ee20
VS
47662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4769 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4770 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4771 * include/grub/misc.h (grub_reboot)
4772 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4773 (grub_halt) [__mips__]: Likewise.
4774
753ef8c1
VS
47752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4778 Remove redundant declaration.
4779 (grub_mmap_get_post64): Likewise.
4780 (grub_mmap_get_upper): Likewise.
4781 (grub_mmap_get_lower): Likewise.
4782
85c85365
VS
47832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4786 uint32_t * to ensure alignment.
4787 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4788
a23f2cc4
VS
47892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4790
93018f64
VS
4791 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4792 uint16_t * to ensure alignment.
4793 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4794 alignment.
4795
47962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4799 to ensure alignment.
4800 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4801
58acccd6
VS
48022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4805 Handle unaligned pointers.
4806 (u32at): Likewise.
4807 (u64at): Likewise.
4808 (fixup): Use byte access instead of v16at.
4809 (find_attr): Fix imporper usage of v32at.
4810 (read_data): Likewise.
4811 (list_file): Handle byte-swapping and unaligned strings.
4812 (grub_ntfs_label): Likewise.
4813
9b05cad7
VS
48142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4817 as it's not necessarily aligned.
4818
b3950b84
VS
48192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4822 redundant declaration.
4823 (grub_serial_init): Likewise.
4824 (grub_terminfo_init): Likewise.
4825
fcd232b7
VS
48262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4829 function.
4830 (ZAP_HASH_IDX): Likewise.
4831 (ZAP_LEAF_HASH_SHIFT): Likewise.
4832 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4833 (LEAF_HASH): Likewise.
4834 (ZAP_LEAF_NUMCHUNKS): Likewise.
4835 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4836 alignment invariants. Return pointer. All users updated.
4837 (ZAP_LEAF_ENTRY): Make into inline function.
4838 (NBBY): Removed.
4839 (xor): LIkewise.
4840 (xor_out): Use grub_crypto_xor.
4841 (dnode_get_path): Use grub_get_unaligned.
4842 (nvlist_find_value): Likewise.
4843 (grub_zfs_nvlist_lookup_uint64): Likewise.
4844 (grub_zfs_nvlist_lookup_string): Likewise.
4845 (get_nvlist_size): Likewise.
4846 (grub_zfs_open): Likewise.
4847 (fill_fs_info): Likewise.
4848 (grub_zfs_dir): Likewise.
4849 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4850 alignment invariants.
4851 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4852 necessarily aligned.
4853
f138623a
VS
48542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4857
564840dc
VS
48582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4861 arithmetic to conserve alignment invariants.
4862
9b40df20
VS
48632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4866 redundant declaration.
4867 (grub_efiemu_mm_obtain_request): Likewise.
4868 (grub_efiemu_prepare): Likewise.
4869
d1c930f9
VS
48702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4873 to match types.
4874
4c5f3056
VS
48752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4878 case of aunaligned recptr.
4879 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4880 alignment.
4881 (grub_hfsplus_btree_search): Handle unaligned index.
4882
728cba91
VS
48832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4886 to get freetag and skip.
4887
eb561f31
VS
48882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4891 array.
4892 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4893 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4894
20993fbb
VS
48952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4898 name for checksum and fix allocation algorithm.
4899
1f313b94
VS
49002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * include/grub/types.h (grub_properly_aligned_t): New type.
4903 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4904 (grub_get_unaligned16): Add explicit casts.
4905 (grub_get_unaligned32): Likewise.
4906 (grub_get_unaligned64): Likewise.
4907 (grub_set_unaligned16): New function.
4908 (grub_set_unaligned32): Likewise.
4909
47ae27ec
VS
49102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4913
78c2cd1c
VS
49142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4917 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4918 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4919
53072f9b
VS
49202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4923 conditionals.
4924
055dc239
VS
49252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4928 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4929
496bd074
VS
49302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 Unify and improve RAID and crypto xor.
4933
4934 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4935 changed to grub_crypto_xor
4936 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4937 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4938 Use bigger types when possible.
4939
ef6e4335
VS
49402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/disk/raid.c (scan_devices): Fix condition.
4943
5d048bf2
VS
49442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4947 Make name a const ptr.
4948
ee533335
VS
49492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4952 first argument a const pointer.
4953 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4954 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4955 proto.
4956 (grub_children_iterate): Likewise.
4957 (grub_machine_mmap_iterate): Remove redundant declaration.
4958
cc8f3668
VS
49592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4962 (grub_cmd_acpi) [!x86]: Disable EBDA.
4963
c5fc563a
VS
49642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 Enable UTF8 in gnulib regexp.
4967
4968 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4969 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4970 (isupper): Use grub_isupper.
4971 (isascii): New inline function.
4972 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4973 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4974 * grub-core/normal/charset.c (grub_utf8_process): New function.
4975 (grub_utf8_to_utf16): Use grub_utf8_process.
4976 (grub_encode_utf8_character): New function.
4977 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4978 * include/grub/charset.h (grub_utf8_process): New declaration.
4979 (grub_encode_utf8_character): Likewise.
4980 * include/grub/misc.h (grub_islower): New inline function.
4981 (grub_isupper): Likewise.
4982 (grub_strchrsub): Moved down to fix the definitions.
4983
0af2346f
VS
49842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4987 specification.
4988
74dbd244
VS
49892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * include/grub/loader.h (grub_loader_register_preboot_hook):
4992 Use struct preboot * and not void * for handle. All users updated.
4993 (grub_loader_unregister_preboot_hook): Likewise.
4994
1bc8f60d
VS
49952011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4998 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4999 UTF-16-BE. All users updated.
5000 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5001 (grub_hfsplus_iterate_dir): Likewise.
5002 (grub_hfsplus_label): Likewise.
5003
48d6e456
VS
50042011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5007
bf3a3857
VS
50082011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 Add missing const qualifiers.
5011
5012 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5013 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5014 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5015 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5016 (grub_lvm_check_flag): Likewise.
5017 * grub-core/efiemu/i386/coredetect.c
5018 (grub_efiemu_get_default_core_name): Likewise
5019 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5020 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5021 * grub-core/fs/ntfs.c (fixup): Likewise.
5022 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5023 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5024 (fzap_lookup): Likewise.
5025 (zap_lookup): Likewise.
5026 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5027 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5028 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5029 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5030 (grub_freebsd_add_meta_module): Likewise.
5031 (grub_cmd_freebsd_module): Likewise.
5032 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5033 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5034 (grub_xnu_writetree_get_size): Likewise.
5035 (grub_xnu_writetree_toheap_real): Likewise.
5036 (grub_xnu_find_key): Likewise.
5037 (grub_xnu_create_key): Likewise.
5038 (grub_xnu_create_value): Likewise.
5039 (grub_xnu_register_memory): Likewise.
5040 (grub_xnu_check_os_bundle_required): Likewise.
5041 (grub_xnu_scan_dir_for_kexts): Likewise.
5042 (grub_xnu_load_kext_from_dir): Likewise.
5043 * grub-core/normal/color.c (color_list): Likewise.
5044 * grub-core/normal/completion.c (current_word): Likewise.
5045 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5046 * grub-core/term/serial.c (grub_serial_find): Likewise.
5047 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5048 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5049 Likewise.
5050 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5051 (grub_freebsd_add_meta_module): Likewise.
5052 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5053 * include/grub/net.h (grub_net_card_driver): Likewise.
5054 (grub_net_card): Likewise.
5055 (grub_net_app_protocol): Likewise.
5056 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5057 * include/grub/serial.h (grub_serial_find): Likewise.
5058 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5059 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5060 (grub_xnu_create_value): Likewise.
5061 (grub_xnu_find_key): Likewise.
5062 (grub_xnu_scan_dir_for_kexts): Likewise.
5063 (grub_xnu_load_kext_from_dir): Likewise.
5064
5065 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5066 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5067 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5068 Moved from here ...
5069 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5070
112b4837
CW
50712011-11-28 Colin Watson <cjwatson@ubuntu.com>
5072
5073 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5074
49e891ac
VS
50752011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5078 (read_device): Fix size calculation.
5079
fd258e5c
RM
50802011-11-25 Robert Millan <rmh@gnu.org>
5081
5082 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5083 (find_root_device_from_libzfs): Add zpool output parser to be used
5084 as fallback when libzfs isn't available.
5085
78845dc2
SG
50862011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5087
5088 * po/Makefile.in.in: Add missing escape-continuation.
5089
adac5211
VS
50902011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5093
10b64f1c
VS
50942011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5097
bb416954
VS
50982011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5101
bdfe9eeb
VS
51022011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5105
581ffa8a
VS
51062011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/lib/adler32.c: Add missing license specification.
5109 * grub-core/lib/crc64.c: Likewise.
5110 * grub-core/loader/i386/pc/plan9.c: Likewise.
5111 * grub-core/partmap/plan.c: Likewise.
5112
2536cf64
LK
51132011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5114
5115 Add facility to debug GRUB with gdb under qemu.
5116
5117 * grub-core/gdb_grub.in: New file.
5118 * grub-core/gmodule.pl.in: Likewise.
5119 * grub-core/Makefile.core.def (gmodule.pl): New script.
5120 (gdb_grub): Likewise.
5121
bc108a4a
VS
51222011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * util/grub-mount.c (argp_parser): Accept relative pathes.
5125 * util/grub-fstest.c (argp_parser): Likewise.
5126
111c1778
VS
51272011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Plan9 support.
5130
5131 * Makefile.util.def (libgrubmods): Add
5132 grub-core/partmap/plan.c.
5133 * docs/grub.texi: Notice Plan9 support.
5134 * grub-core/Makefile.core.def (plan9): New module.
5135 (part_plan): Likewise.
5136 * grub-core/loader/i386/pc/plan9.c: New file.
5137 * grub-core/partmap/plan.c: Likewise.
5138 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5139 define.
5140 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5141 * include/grub/mm.h (grub_extend_alloc): New inline function.
5142
c30be3b6
VS
51432011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 Make Reed-Solomon faster by using power of generator representation of
5146 GF(256)*.
5147
5148 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5149 (gf_double_t): Likewise.
5150 (gf_invert): Removed.
5151 (gf_powx): New array.
5152 (gf_powx_inv): Likewise.
5153 (scratch): Move higher.
5154 (gf_reduce): Removed.
5155 (gf_mul): Use powx.
5156 (gf_invert): Likewise.
5157 (init_inverts): Replaced with ...
5158 (init_powx): ...this. All users updated.
5159 (pol_evaluate): Replace multiplications with additions.
5160 (rs_encode): Likewise.
5161 (gauss_eliminate): Call gf_invert.
5162 (grub_reed_solomon_add_redundancy): Call init_powx.
5163 (grub_reed_solomon_recover): Call init_powx unconditionally.
5164
fa5aeffc
VS
51652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5168
a346b81c
VS
51692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5172 disk->partiton for safety.
5173
d89ee414
VS
51742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5177 Fix a memory leak.
5178 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5179
91ee7b6d
VS
51802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5183
91e5a33d
VS
51842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5187
9edd7be2
VS
51882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 Fix spaces handling in proc/self/mountinfo.
5191
5192 * util/getroot.c (unescape): New function.
5193 (grub_find_root_device_from_mountinfo): Use unescape.
5194
ba102053
VS
51952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 Support ZFS embedding.
5198
5199 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5200 (grub_zfs_fs): Register grub_zfs_embed.
5201
aa94b870
VS
52022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 Fix MIPS compilation.
5205
5206 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5207 * include/grub/offsets.h: Rename decompressor fields from
5208 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5209 * util/grub-mkimage.c (image_targets): Use new names.
5210
5fbdac14
VS
52112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Defer multiboot device parsing until we're in compressed part.
5214
5215 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5216 bsd_part. setdevice has fallen into disuse.
5217 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5218 (bsd_part): Likewise.
5219 (boot_dev): New variable.
5220 (multiboot_trampoline): Don't parse multiboot device.
5221 Pass multiboot device in %edx.
5222 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5223 grub_boot_device.
5224 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5225 Likewise.
5226 * grub-core/kern/i386/pc/startup.S: Save edx.
5227 (grub_boot_drive): Removed.
5228 (grub_install_dos_part): Likewise.
5229 (grub_install_bsd_part): Likewise.
5230 (grub_boot_device): New variable.
5231 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5232 (grub_install_bsd_part): Likewise.
5233 (grub_boot_drive): Likewise.
5234 (grub_boot_device): New variable.
5235 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5236 Removed.
5237 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5238 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5239 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5240 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5241 * util/grub-install.in: Remove redundant condition.
5242
691cbb58
VS
52432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 Fix bug introduced by previous commit.
5246
5247 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5248
60240b8b
VS
52492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 Use decompressors framework on i386-pc. It increases core size
5252 by 46 bytes but improves compatibility and maintainability.
5253
5254 * grub-core/Makefile.core.def (lzma_decompress): New image.
5255 (kernel): Add i386_pc_ldflags.
5256 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5257 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5258 to real_to_prot, prot_to_real and device info.
5259 * include/grub/offsets.h: Renamed decompressor offsets.
5260 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5261 (image_target_desc): Remove raw_size and rename decompressor fields.
5262 (compress_kernel): Handle lzma.
5263 (generate_image): Handle decompressors on i386-pc.
5264
e9d3421c
VS
52652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * configure.ac: Add -fno-asynchronous-unwind-tables.
5268
2b23074a
VS
52692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 Move assembly code to C by using intwrap. It increases core size
5272 by 88 bytes but improves compatibility and maintainability.
5273
5274 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5275 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5276 ... here. Translated to C.
5277 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5278 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5279 ... here. Translated to C.
5280 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5281 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5282 ... here. Translated to C.
5283 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5284 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5285 ... here. Translated to C.
5286 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5287 * grub-core/term/i386/pc/console.c (grub_console_cls):
5288 ... here. Translated to C.
5289 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5290 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5291 ... here. Translated to C.
5292 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5293 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5294 Translated to C.
5295 * grub-core/term/i386/pc/console.c (int10_9): New function.
5296 (grub_console_putchar): Likewise.
5297 * include/grub/i386/pc/console.h: Removed the not anymore shared
5298 functions.
5299
678f4b67
VS
53002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 Move grub_chainloader_real_boot out of the kernel.
5303
5304 * grub-core/Makefile.am: Remove machine/loader.h.
5305 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5306 Removed.
5307 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5308 variable.
5309 (grub_relocator16_keep_a20_enabled): Likewise.
5310 (grub_relocator16_boot): Fill new variables.
5311 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5312 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5313 relocator.
5314 (grub_chainloader_unload): Likewise.
5315 (grub_chainloader_cmd): Likewise.
5316 * include/grub/i386/pc/loader.h: Removed.
5317 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5318 and esi. All initialisers updated.
5319
4626edf6
VS
53202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
53212011-11-12 Colin Watson <cjwatson@ubuntu.com>
5322
5323 * Makefile.util.def (grub-mount): New util.
5324 * .bzrignore: Add grub-mount.
5325 * configure.ac: Check for fuse and enable grub-mount if available.
5326 * docs/man/grub-mount.h2m: New file.
5327 * util/grub-mount.c: Likewise.
5328
10f0117b
VS
53292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/commands/efi/fixvideo.c: Gettextize.
5332 * grub-core/commands/hashsum.c: Likewise.
5333 * grub-core/commands/i386/cmostest.c: Likewise.
5334 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5335 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5336 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5337 * grub-core/commands/lsmmap.c: Likewise.
5338 * grub-core/commands/menuentry.c: Likewise.
5339 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5340 * grub-core/commands/setpci.c: Likewise.
5341 * grub-core/loader/i386/bsd.c: Likewise.
5342 * grub-core/loader/i386/linux.c: Likewise.
5343 * util/getroot.c: Likewise.
5344 * util/grub-editenv.c: Likewise.
5345 * util/grub-fstest.c: Likewise.
5346 * util/grub-mkfont.c: Likewise.
5347 * util/grub-mkimage.c: Likewise.
5348 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5349 * util/grub-pe2elf.c: Likewise.
5350 * util/grub-probe.c: Likewise.
5351 * util/grub-setup.c: Likewise.
5352 * util/ieee1275/ofpath.c: Likewise.
5353 * util/misc.c: Likewise.
5354 * util/raid.c: Likewise.
5355
566f779b
RM
53562011-11-11 Robert Millan <rmh@gnu.org>
5357
5358 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5359 __attribute__((unused)) from `os_dev', which *is* being used.
5360
b50787de
VS
53612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5364 forgotten define.
5365 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5366 GRUB_IA64_DL_GOT_ALIGN.
5367 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5368 GRUB_IA64_DL_TRAMP_ALIGN.
5369
119d11c8
VS
53702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 Replace grub_fatal with normal errors in i386 linux loader.
5373
5374 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5375 (allocate_pages): Check find_efi_mmap_size return value.
5376 (grub_e820_add_region): Return error.
5377 (grub_linux_boot): Check mmap return value.
5378
6e0632e2
VS
53792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * grub-core/commands/acpihalt.c: Gettextized.
5382 * grub-core/commands/cacheinfo.c: Likewise.
5383 * grub-core/commands/cmp.c: Likewise.
5384 * grub-core/commands/efi/loadbios.c: Likewise.
5385 * grub-core/commands/gptsync.c: Likewise.
5386 * grub-core/commands/ieee1275/suspend.c: Likewise.
5387 * grub-core/commands/legacycfg.c: Likewise.
5388 * grub-core/commands/memrw.c: Likewise.
5389 * grub-core/commands/minicmd.c: Likewise.
5390 * grub-core/commands/parttool.c: Likewise.
5391 * grub-core/commands/time.c: Likewise.
5392 * grub-core/commands/videoinfo.c: Likewise.
5393 * grub-core/disk/geli.c: Likewise.
5394 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5395 * grub-core/disk/luks.c: Likewise.
5396 * grub-core/disk/lvm.c: Likewise.
5397 * grub-core/font/font_cmd.c: Likewise.
5398 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5399 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5400 * grub-core/gfxmenu/view.c: Likewise.
5401 * grub-core/kern/emu/hostdisk.c: Likewise.
5402 * grub-core/kern/emu/main.c: Likewise.
5403 * grub-core/kern/emu/misc.c: Likewise.
5404 * grub-core/kern/emu/mm.c: Likewise.
5405 * grub-core/kern/mips/arc/init.c: Likewise.
5406 * grub-core/kern/mips/loongson/init.c: Likewise.
5407 * grub-core/kern/partition.c: Likewise.
5408 * grub-core/lib/i386/halt.c: Likewise.
5409 * grub-core/lib/mips/arc/reboot.c: Likewise.
5410 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5411 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5412 * grub-core/loader/i386/xnu.c: Likewise.
5413 * grub-core/loader/multiboot.c: Likewise.
5414 * grub-core/net/bootp.c: Likewise.
5415 * grub-core/net/net.c: Likewise.
5416 * grub-core/normal/term.c: Likewise.
5417 * grub-core/partmap/bsdlabel.c: Likewise.
5418 * grub-core/parttool/msdospart.c: Likewise.
5419 * grub-core/term/gfxterm.c: Likewise.
5420 * grub-core/term/terminfo.c: Likewise.
5421 * grub-core/video/i386/pc/vbe.c: Likewise.
5422 * util/grub-menulst2cfg.c: Likewise.
5423 * util/grub-mkdevicemap.c: Likewise.
5424 * util/grub-mklayout.c: Likewise.
5425 * util/grub-mkrelpath.c: Likewise.
5426 * util/grub-script-check.c: Likewise.
5427 * util/ieee1275/grub-ofpathname.c: Likewise.
5428 * util/resolve.c: Likewise.
5429
073aa7a9
VS
54302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 Support %1$d syntax.
5433
5434 * tests/printf_unit_test.c: New file.
5435 * Makefile.util.def (printf_test): New test.
5436 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5437
c76b5417
VS
54382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5441 fix.
5442
df067ad1
VS
54432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5446 dprintf.
5447 * grub-core/font/font.c (grub_font_load): Likewise.
5448
5b289bc5
VS
54492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * util/grub-macho2img.c: Add comment concerning gettext.
5452 * grub-core/lib/legacy_parse.c: Likewise.
5453
c1860f87
VS
54542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5457 (grub_xvasprintf): Likewise.
5458
d35d0d37
VS
54592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 Add const keyword to grub_env_get and gettextize week days.
5462
5463 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5464 (grub_read_hook_datetime): Return const char *.
5465 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5466 updated.
5467 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5468 Mark for gettext.
5469 (grub_get_weekday_name): Return const char *. Call gettext.
5470 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5471 char * and len as the argument. All users updated.
5472 (grub_script_argv_split_append): Receive const char *.
5473 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5474 * include/grub/env.h (grub_env_get): Likewise.
5475 (grub_env_read_hook_t): Return const char *.
5476 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5477 (grub_script_argv_split_append): Likewise.
5478
9aed8a71
VS
54792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5482
067fdf00
VS
54832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5486 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5487
a8bd9d39
VS
54882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5491 Fix prototype.
5492
f7ce5baf
VS
54932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 Fix mips compilation.
5496
5497 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5498 normal decoder.
5499 (hashes): Use in embed decoder as well (for sizes).
5500 (dec_stream_header): Fix embed decompressor logic.
5501 (dec_stream_footer): Likewise.
5502
9bb182f3
VS
55032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5506 an error and not a fatal on unrecognised relocation types.
5507
63a9e6f6
VS
55082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5511 Issue error rather than printf on unknown arguments.
5512
4c458569
VS
55132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5516 Make buf a const.
5517
e2d22baf
VS
55182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5521 Fix module name.
5522
53dc8590
VS
55232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5526 leftover debug printf.
5527
6c189294
VS
55282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5531
f7688369
VS
55322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5535 A stylistic fix.
5536
11a775a3
VS
55372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5540
33f784e8
SL
55412011-11-10 Shea Levy <slevy@tieronedesign.com>
5542
5543 Allow all modules to perform serial IO
5544
5545 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5546 * include/grub/serial.h (grub_serial_port_configure): New inline
5547 function.
5548 (grub_serial_port_fetch): Likewise.
5549 (grub_serial_port_put): Likewise.
5550 (grub_serial_port_fini): Likewise.
5551 (grub_serial_find): New proto.
5552
f6276525
VS
55532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 Put symlink at the end of the node and fix a potential
5556 memory corruption.
5557
5558 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5559 Make symlink into an array.
5560 (set_rockridge): Set have_symlink and alloc_dirents.
5561 (grub_iso9660_read_symlink): Use new layout.
5562 (grub_iso9660_iterate_dir): Fix memory corruption.
5563 Use new layout.
5564 (grub_iso9660_dir): Set have_symlink.
5565 (grub_iso9660_open): Likewise.
5566
c3591189
VS
55672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 Remove local keyword.
5570
5571 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5572 (version_test_gt): Likewise.
5573 (version_find_latest): Likewise.
5574 (gettext_printf): Likewise.
5575 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5576
cb544caa
VS
55772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5580
45bd824d
VS
55812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 Fix ZFS memory and resource leaks.
5584
5585 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5586 All users updated.
5587 Free type on exit.
5588 (fill_vdev_info): New parameter inserted. All users updated.
5589 (check_pool_label): Likewise.
5590 (scan_disk): Likewise.
5591 (scan_devices): Close non-inserted disks.
5592 (fzap_iterate): Free l.
5593 (unmount_device): Free children descripto memory.
5594
ad9a2f44
VS
55952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5598 argument (access out of bounds).
5599
6b68db81
VS
56002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5603 >= 6 drives.
5604
28840fda
VS
56052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5608 Fix declaration.
5609
8a5a3a5b
VS
56102011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 Fix several memory leaks.
5613
5614 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5615 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5616 (grub_cpio_dir): Likewise.
5617 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5618 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5619 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5620 (grub_romfs_label): Likewise.
5621 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5622 (squash_unmount): New function.
5623 (grub_squash_dir): Fix memory leak.
5624 (grub_squash_open): Likewise.
5625 (grub_squash_read): Likewise.
5626 (grub_squash_mtime): Likewise.
5627 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5628 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5629 * util/grub-fstest.c (fstest): Likewise.
5630
57b01250
VS
56312011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5634 avoid accessing beyond the array.
5635
19e81ba7
VS
56362011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5639
52b656c0
VS
56402011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 Several AFFS fixes.
5643
5644 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5645 (GRUB_AFFS_FLAG_FFS): Removed.
5646 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5647 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5648 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5649 (grub_fshelp_node): Make block 32-bit.
5650 Add block_cache and last_block_cache.
5651 (grub_affs_read_block): Fill and use block cache.
5652 (grub_affs_read_file): Removed.
5653 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5654 boot block.
5655 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5656 safety.
5657 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5658 space.
5659 (grub_affs_close): Free block cache.
5660 (grub_affs_read): Use grub_fshelp_read_file directly.
5661
438a746a
VS
56622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5665 with no error set.
5666
49a45021
VS
56672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5670 used variable.
5671 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5672 Likewise.
5673
3ae17eb8
VS
56742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5677
5678 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5679 byteswap when needed.
5680
27610c38
VS
56812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 Fix FreeBSD compilation.
5684
5685 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5686 to avoid circular dependency.
5687 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5688 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5689 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5690
4a19b601
VS
56912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 Fix ZFS crypto error types.
5694
5695 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5696 (grub_gcm_decrypt): Likewise.
5697 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5698 from PBKDF2.
5699
958ee221
VS
57002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 Illumos support.
5703
5704 * Makefile.util.def (10_illumos): New script.
5705 * configure.ac: Set COND_HOST_ILLUMOS.
5706 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5707 Support Illumos calls.
5708 (find_partition_start) [__sun__]: Likewise.
5709 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5710 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5711 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5712 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5713 device.
5714 * util/grub-probe.c (probe) [__sun__]: Do character check.
5715 * util/grub.d/10_illumos.in: New file.
5716
cac14fb6
VS
57172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 Support escaped commas in hostdisk.
5720
5721 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5722 (find_grub_drive): Use unescape_cmp.
5723 (make_device_name): Escape commas.
5724
78e08dc3
VS
57252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5728
9f421dd1
VS
57292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5732 variable.
5733
ed64e9e2
VS
57342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 Support trampoline jumps on powerpc.
5737
5738 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5739 __ia64__ path.
5740 (grub_dl_load_segments): Set mod->sz.
5741 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5742 segments.
5743 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5744 (jump): Likewise.
5745 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5746 function.
5747 (trampoline): New struct.
5748 (trampoline_template): New const.
5749 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5750 * include/grub/dl.h (grub_dl): Add sz element.
5751 [__powerpc__]: Follow __ia64__.
5752 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5753 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5754 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5755 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5756
3084ede4
VS
57572011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 ZFS crypto support.
5760
5761 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5762 * grub-core/Makefile.core.def (zfscrypt): New module.
5763 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5764 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5765 it. All users updated.
5766 (grub_zfs_decrypt): New var.
5767 (grub_zfs_load_key): Likewise.
5768 (zio_checksum_functions): Add SHA256+MAC.
5769 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5770 (zio_read): Handle encrypted blocks.
5771 (zap_verify): Remove incorrect check.
5772 (fzap_iterate): Handle non-standard fzap.
5773 (zap_iterate): Likewise.
5774 (zap_iterate_u64): New function.
5775 (dnode_get_fullpath): Load keys.
5776 * grub-core/fs/zfs/zfscrypt.c: New file.
5777 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5778 (grub_crypto_ecb_encrypt): Make input const.
5779 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5780 (grub_crypto_ecb_encrypt): Make input const.
5781 (GRUB_CIPHER_AES): New macro.
5782 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5783 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5784 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5785 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5786 prefix. All users updated.
5787 (grub_zfs_add_key): New proto.
5788 (grub_zfs_decrypt): Likewise.
5789 (grub_zfs_load_key): Likewise.
5790 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5791 * util/grub-fstest.c (options): Add -K option.
5792 (argp_parser): Likewise.
5793
b632b404
VS
57942011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 Support zle compression on ZFS.
5797
5798 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5799 (decomp_table): Add zle.
5800 * include/grub/zfs/zio.h (zio_compress): Add zle.
5801
c7ba4f69
VS
58022011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 Support BtrFS embedding.
5805
5806 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5807 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5808 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5809 * util/grub-setup.c (setup): Use fs embedding if available.
5810 Add additional sanity check.
5811
455377d9
VS
58122011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * util/grub-install.in: Fix condition for config_opt.
5815
c2fd16ca
VS
58162011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 Support third redundancy strip on raidz3.
5819
5820 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5821 Return error on singularity. All users updated.
5822 (read_device): Don't stop on 3rd failure on raidz3.
5823
8622923b
VS
58242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 Support case-insensitive ZFS subvolumes.
5827
5828 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5829 All users updated.
5830 (zap_hash): Likewise.
5831 (name_cmp): New function.
5832 (zap_leaf_array_equal): New parameter case_insensitive.
5833 All users updated.
5834 (zap_leaf_lookup): Likewise.
5835 (fzap_lookup): Likewise.
5836 (zap_lookup): Likewise.
5837 (dnode_get_path): New parameter case_insensitive. Retrieve case
5838 sensitiviness of a volume. All users updated.
5839 (dnode_get_fullpath): New parameter case_insensitive.
5840 All users updated.
5841 (grub_zfs_dir): Set info.case_insensitiveness.
5842
95f2e860
VS
58432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 Support second redundancy strip on raidz(2,3).
5846
5847 * grub-core/fs/zfs/zfs.c (powx): New array.
5848 (powx_inv): Likewise.
5849 (poly): New const.
5850 (xor_out): New function.
5851 (gf_mul): Likewise.
5852 (recovery): Likewise.
5853 (read_device): Use second redundancy strip.
5854
11ee4389
VS
58552011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 Use a power of generator representation of GF(256) multiplication group
5858 to save space time and complexity.
5859
5860 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5861 (raid6_table2): Likewise.
5862 (powx): New array.
5863 (powx_inv): Likewise.
5864 (poly): New const.
5865 (grub_raid_block_mul): Replace with ...
5866 (grub_raid_block_mulx): ...this.
5867 (grub_raid6_init_table): Rewritten.
5868 (grub_raid6_recover): Use power of generator representation.
5869
09e2763f
VS
58702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5873 for the right device.
5874
8bec9a28
VS
58752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5878 expected by grub-mkimage and it's more clear since there is no implicit
5879 padding.
5880
dbd3a32e
VS
58812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5884 disk.
5885 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5886
182c872a
PMH
58872011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5888
5889 * util/grub-mkrescue.in: Fix handling xorriso option.
5890
1e51cabd
VS
58912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5894 NULL.
5895
9cc3581d 58962011-11-03 crocket <crockabiscuit@gmail.com>
5897
5898 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5899
158dc1ea
VS
59002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 XZ CRC64 and SHA256 support.
5903
5904 * Makefile.util.def (libgrubmods): Add crc64.c.
5905 * grub-core/Makefile.core.def (crc64): New module.
5906 * grub-core/lib/crc64.c: New file.
5907 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5908 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5909 Fix the type.
5910 (MAX_HASH_SIZE): New define.
5911 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5912 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5913 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5914 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5915 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5916 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5917 Handle non-crc32 hashes.
5918 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5919 (dec_stream_header): Handle non-crc32 hashes.
5920 (dec_stream_footer): Likewise.
5921 (dec_block_header): Likewise.
5922 (dec_main): Likewise.
5923 (xz_dec_init): Likewise.
5924 (xz_dec_reset): Likewise.
5925 (xz_dec_end): Likewise.
5926 * util/import_gcry.py: Add CRC64 line.
5927
9d9b3d2f
VS
59282011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5931 as well.
5932
7d0ac931
VS
59332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 Make reiserfs label retrieval similar to other *_label functions.
5936
5937 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5938 (REISERFS_MAX_LABEL_LENGTH): Removed.
5939 (REISERFS_LABEL_OFFSET): Likewise.
5940 (grub_reiserfs_label): Rewritten.
5941
59422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5945 field.
5946
cf5ba824
VS
59472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5950
17744004
VS
59512011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5954 drive failure on both raidz and raidz2.
5955
aca5aefc
VS
59562011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 Fix RAIDZ(2) for >= 5 devices.
5959
5960 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5961 asize argument. All users updated.
5962
ce8ca56e
VS
59632011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 Fix RAIDZ(2).
5966
5967 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5968 (fill_vdev_info_real): Set ashift.
5969 (read_device): Rewrite RAIDZ part based on reverse engineering.
5970
7c01e783
VS
59712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5974 don't report potentially unavialiable fields in debug output.
5975 (find_path): Fix double-free and memory leak.
5976
ce109e84
VS
59772011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 Read label on UFS1.
5980
5981 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5982 (grub_ufs_fs): Always set .label.
5983
87661123
VS
59842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 Use shifts in UFS.
5987
5988 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5989 (grub_ufs_data): New field log2_blksz.
5990 (grub_ufs_read_file): Use shifts.
5991 (grub_ufs_mount): Check block size and logarithm it.
5992
46bc1dc2
VS
59932011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5996 long symlinks.
5997
19ee2987
VS
59982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 Handle symlinks and long names on tar and cpio.
6001
6002 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6003 (ATTR_FILE): Likewise.
6004 (ATTR_DIR): Likewise.
6005 (ATTR_LNK): Likewise.
6006 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6007 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6008 L and K entries.
6009 (grub_cpio_mount): Zero-fill data.
6010 (handle_symlink): New function.
46bc1dc2
VS
6011 (grub_cpio_dir): Handle symlinks.
6012 (grub_cpio_open): Likewise.
6013 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6014
c83a08d8
VS
60152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 Fix iso9660 filename limitations and fix memory leaks.
6018
6019 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6020 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6021
45cdd3ea
VS
60222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Fix JFS file name length limitations.
6025
6026 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6027 (grub_jfs_diropen): Fix maximum filename length.
6028 (grub_jfs_getent): Fix filename length.
6029 (grub_jfs_lookup_symlink): Fix size checks.
6030
94ef05c2
VS
60312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6034 string.
6035
785ab8c7
VS
60362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6037
eb0b6b45
VS
6038 Leverage BFS implementation to read AFS.
6039
6040 * Makefile.util.def (libgrubmods): Add afs.c.
6041 * grub-core/Makefile.core.def (afs): New module
6042 * grub-core/fs/afs.c: New file.
6043 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6044
60452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6048
c4a1628f
VS
60492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/fs/bfs.c: Run indent.
6052
5825b379
VS
60532011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 BFS implementation based on the specification.
6056
6057 * grub-core/fs/bfs.c: New file.
6058 * Makefile.util.def (libgrubmods): Add bfs.c.
6059 * grub-core/Makefile.core.def (bfs): New module.
6060
42b2a706
VS
60612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * util/grub-fstest.c (cmd_cp): Clarify error message.
6064 (cmd_cmp): Likewise.
6065
61b99bfc
YB
60662011-10-30 Yves Blusseau <blusseau@zetam.org>
6067
6068 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6069 and befs_be.
6070
faba3d16
VS
60712011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 Remove afs and befs because of copyright problem.
6074
6075 * grub-core/fs/afs.c: Removed.
6076 * grub-core/fs/afs_be.c: Removed.
6077 * grub-core/fs/befs.c: Removed.
6078 * grub-core/fs/befs_be.c: Removed.
6079 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6080 * grub-core/Makefile.core.def (afs): Removed.
6081 (afs_be): Likewise.
6082 (befs): Likewise.
6083 (befs_be): Likewise.
6084
c39224b0
VS
60852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 Prefer rockridge over Joliet.
6088
6089 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6090 to ...
6091 (set_rockridge): ... here.
6092 (grub_iso9660_mount): Check rockridge on the primary label when
6093 discovering. Ignore Joliet if Rockridge is present.
6094
e551115a
VS
60952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 Use shifts in nilfs2.
6098
6099 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6100 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6101 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6102 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6103 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6104 (grub_nilfs2_entries_per_block): Replaced with ...
6105 (grub_nilfs2_log_entries_per_block_log): ... this.
6106 (grub_nilfs2_blocks_per_group): Replaced with ...
6107 (grub_nilfs2_blocks_per_group_log): ... this.
6108 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6109 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6110 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6111 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6112 (grub_nilfs2_palloc_entry_offset): Replaced ...
6113 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6114 (grub_nilfs2_dat_translate): Use shifts.
6115 (grub_nilfs2_read_inode): Likewise.
6116 (GRUB_MOD_INIT): Ensure that logs are correct.
6117
564dd58c
VS
61182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 Use shifts in minix filesystem.
6121
6122 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6123 (GRUB_MINIX_ZONE2SECT): Likewise.
6124 (grub_minix_data): Replace block_size with log_block_size.
6125 (grub_minix_read_file): Use shifts.
6126 (grub_minix_mount): Check block size and take a logarithm.
6127
ed9ba06d
VS
61282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 Use shifts in squash4.
6131
6132 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6133 (squash_mount): Check block size and take logarithm.
6134 (direct_read): Use shifts.
6135
ad03fe76
VS
61362011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 Correct befs block counting logic.
6139
6140 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6141 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6142 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6143 (grub_afs_read_inode): Use block_shift.
6144 (RANGE_SHIFT): New definition.
6145 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6146 unexpected conditions, use shifts and appropriate types.
6147 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6148
6563f63d
VS
61492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * grub-core/disk/raid.c (scan_devices): Check partition.
6152 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6153
5b1ae25f
VS
61542011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 Support BFS (befs) UUID.
6157
6158 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6159 (grub_afs_small_data_element_header): New struct.
6160 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6161 (grub_afs_read_attribute) [MODE_BFS]: New function.
6162 (grub_afs_iterate_dir): Allocate for complete inode.
6163 (grub_afs_mount): Likewise.
6164 (grub_afs_uuid) [MODE_BFS]: New function.
6165 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6166
f8d82408
VS
61672011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6170 (zfs_unmount): Fix memory leak.
6171
5773fb64
VS
61722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 Support NTFS reparse points.
6175
6176 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6177 (symlink_descriptor): New struct.
6178 (grub_ntfs_read_symlink): New function.
6179 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6180 (grub_ntfs_open): Likewise.
6181
91c3fdde
VS
61822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6185
3be82e10
VS
61862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 fstest xnu_uuid subcommand.
6189
6190 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6191 grub-core/commands/xnu_uuid.c.
6192 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6193 (fstest): Handle xnu_uuid.
6194 (options): Document xnu_uuid.
6195 (argp_parser): Parse xnu_uuid.
6196
8e32442e
VS
61972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6200 -l argument. Add newline at the end if printing.
6201 (GRUB_MOD_INIT): Document -l.
6202
52a05075
VS
62032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6206
1869edb5
VS
62072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 ZFS multi-device and version 33 support.
6210
6211 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6212 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6213 (grub_zfs_data): Add multidev-ice-related fields.
6214 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6215 (dva_get_offset): Make dva const.
6216 (zfs_fetch_nvlist): New function.
6217 (fill_vdev_info_real): Likewise.
6218 (fill_vdev_info): Likewise.
6219 (check_pool_label): Likewise.
6220 (scan_disk): Likewise.
6221 (scan_devices): Likewise.
6222 (read_device): Likewise.
6223 (read_dva): Likewise.
6224 (zio_read_gang): Use read_dva.
6225 (zio_read_data): Likewise.
6226 (zap_leaf_lookup): Add missing endian conversion.
6227 (zap_verify): Add missing endian conversion. All users updated.
6228 (fzap_lookup): Likewise.
6229 (fzap_iterate): Likewise.
6230 (dnode_get_path): Handle SA bonus.
6231 (nvlist_find_value): Make input const. All users updated.
6232 (unmount_device): New function.
6233 (zfs_unmount): Use unmount_device.
6234 (zfs_mount): Use scan_disk.
6235 (zfs_mtime): New function.
6236 (grub_zfs_open): Handle system attributes.
6237 (fill_fs_info): Likewise.
6238 (grub_zfs_dir): Likewise.
6239 (grub_zfs_fs): Add mtime.
6240 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6241 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6242 (SA_MTIME_OFFSET): Likewise.
6243 (SA_SYMLINK_OFFSET): Likewise.
6244 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6245 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6246 (fstest): Support zfsinfo.
6247 (argp_parser): Likewise.
6248
186b4028
VS
62492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6252 error.
6253
62542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6255
6256 ZFS fixes.
6257
6258 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6259 sharing the same block. Iterate over correct number of indices.
6260 (dnode_get_path): Handle symlinks correctly.
6261
c0584900
VS
62622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6265
67e2bd71
VS
62662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 Read label on HFS+.
6269
6270 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6271 (grub_hfsplus_btree_search): Fix types.
6272 (grub_hfsplus_label): Implement.
6273
e9cc6b7b
VS
62742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6277
19832ddb
VS
62782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6281
66b40850
VS
62822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 Fix symlink handling on iso9660.
6285
6286 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6287 All users updated.
6288 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6289 (grub_iso9660_read_symlink): Moved most of code ...
6290 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6291
db821363
VS
62922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6295 Use union to avoid breaking strict-aliasing rules.
6296
e1211949
VS
62972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Support multi-extent iso files.
6300
6301 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6302 Add node.
6303 (grub_fshelp_node): Revamp. All users updated.
6304 (FLAG_*): New enum.
6305 (read_node): New function.
6306 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6307 All users updated.
6308 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6309 (get_node_size): New function.
6310 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6311 entries.
6312 Fix memory leak on . and ..
6313 (grub_iso9660_read): Use read_node.
6314 (grub_iso9660_close): Free node.
6315
d4888031
VS
63162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 Fix tar 4G limit and handle paths containing dot.
6319
6320 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6321 (canonicalize): New function.
6322 (grub_cpio_find_file): Use canonicalize. Store offs in
6323 grub_disk_addr_t.
6324 (grub_cpio_dir): Use grub_disk_addr_t.
6325 (grub_cpio_open): Likewise.
6326
9f12e664
VS
63272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6330
6331 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6332 unused flags.
6333 (grub_squash_inode): Add long_file and block_size.
6334 (grub_squash_cache_inode): New struct.
6335 (grub_squash_dirent): Make types into enum.
6336 (SQUASH_TYPE_LONG_REGULAR): New type.
6337 (grub_squash_frag_desc): Add field size.
6338 (SQUASH_BLOCK_FLAGS): New enum.
6339 (grub_squash_data): Use grub_squash_cache_inode.
6340 (grub_fshelp_node): Make ino_chunk 64-bit.
6341 (read_chunk): Minor argument change. All users updated.
6342 (squash_mount): Use correct le_to_cpu.
6343 (grub_squash_open): Handle LONG_REGULAR.
6344 (direct_read): New function.
6345 (grub_squash_read_data): Handle blocks correctly.
6346
9f326fba
VS
63472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6350
f4d9b64b
VS
63512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6354
5bbd28b8
VS
63552011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 Fix 2G limit on ZFS.
6358
6359 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6360 types.
6361 (uberblock_verify): Likewise.
6362 (dmu_read): Likewise.
6363 (grub_zfs_read): Likewise. Remove invalid cast.
6364
68c72069
VS
63652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6368 (grub_jfs_blkno): Fix incorrect shift.
6369 (grub_jfs_read_file): Use more appropriate types.
6370
6e536dc8
VS
63712011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Support triple indirect on minix2 and minix3.
6374
6375 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6376 Declare triple_indir_zone.
6377 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6378 indirect.
6379
e0864e7a
VS
63802011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 Minix FS fixes.
6383
6384 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6385 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6386 Rename ctime to mtime. All users updated.
6387 (grub_minix_get_file_block): Fix types and double indirect computations.
6388
89481cab
VS
63892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6392 if no label is found.
6393 (grub_fat_iterate_dir): Fix file size type.
6394 (grub_fat_iterate_dir): Likewise.
6395
f646e143
VS
63962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6399 save some space.
6400 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6401 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6402
534d769e
VS
64032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6406
e084ba18
VS
64072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * util/import_gcry.py: Accept space between # and include.
6410
3471ecdf
VS
64112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6414
124df5f6
VS
64152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6418
6419 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6420 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6421 yylex_strncpy.
6422 * grub-core/script/yylex.l: Add fine-grained #pragma.
6423
4defb8d5
VS
64242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6427 New inline function.
6428 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6429 Likewise.
6430 (memset) [GRUB_UTIL]: Likewise.
6431 (memcmp) [GRUB_UTIL]: Likewise.
6432
4e94ae65
VS
64332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6436 inline function rather than a define.
6437
18c575e5
VS
64382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * util/grub-setup.c: Add missing include.
6441
f8bc22a8
VS
64422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * util/ieee1275/grub-ofpathname.c: Add missing include.
6445
3ce69fc9
VS
64462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6449 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6450 Likewise.
6451
d1e293bb
VS
64522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6455 grub_memcmp usage.
6456
7a5c54a4
VS
64572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * util/grub-install.in: Add datarootdir as per automake manual
6460 suggestion.
6461 * util/grub-mknetdir.in: Likewise.
6462
64632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6464
6465 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6466 suggestion.
6467 * util/grub.d/10_kfreebsd.in: Likewise.
6468 * util/grub.d/10_linux.in: Likewise.
6469 * util/grub.d/10_netbsd.in: Likewise.
6470 * util/grub.d/10_windows.in: Likewise.
6471 * util/grub.d/20_linux_xen.in: Likewise.
6472
766f7d08
VS
64732011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 Remove redundant grub_kernel_image_size.
6476
6477 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6478 _edata and _start.
6479 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6480 the small code. It moves it only by few bytes but simplifies the code.
6481 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6482 _start.
6483 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6484 (grub_kernel_image_size): Removed.
6485 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6486 (grub_kernel_image_size): Removed.
6487 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6488 compiled with Apple toolchain.
6489 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6490 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6491 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6492 (grub_total_module_size): Likewise.
6493 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6494 Removed.
6495 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6496 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6497 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6498 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6499 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6500 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6501 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6502 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6503 Removed.
6504 (grub_total_module_size): Removed.
6505 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6506 (image_targets): Likewise.
6507 Set .compressed_size to no field on sparc.
6508 (generate_image): Remove kernel_image_size handling.
6509
fcf1d672
SJ
65102011-10-19 Szymon Janc <szymon@janc.net.pl>
6511
6512 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6513 NULL pointer dereference.
6514
de9c615e
VS
65152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6518 done with a dedicated section.
6519
6520 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6521 Ensure the correct position of boot_path.
6522 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6523 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6524 other fields.
6525 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6526 * include/grub/boot.h: Removed. All references removed.
6527 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6528 Removed.
6529 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6530
e55599dc
VS
65312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6534 name.
6535
36dd20ad
VS
65362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6539
f8f72eb8
VS
65402011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6543 Don't add the bogus brackets.
6544
a374751b
VS
65452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 ExFAT support.
6548
6549 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6550 * grub-core/Makefile.core.def (exfat): New module.
6551 * grub-core/fs/exfat.c: New file.
6552 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6553 (GRUB_FAT_ATTR_*): Make into an enum.
6554 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6555 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6556 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6557 (GRUB_FAT_MAXFILE): Removed.
6558 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6559 (grub_current_fat_bpb_t): New type.
6560 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6561 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6562 (grub_fat_dir_node_t): New type.
6563 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6564 (fat_log2) [MODE_EXFAT]: Removed.
6565 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6566 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6567 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6568 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6569 (grub_fat_label) [MODE_EXFAT]: New function.
6570 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6571 reserved_first_sector to 0.
6572
544c2487
VS
65732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 Move grub_reboot out of the kernel.
6576
6577 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6578 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6579 * grub-core/lib/efi/reboot.c: ... here.
6580 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6581 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6582 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6583 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6584 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6585 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6586 * grub-core/lib/ieee1275/reboot.c: ... here.
6587 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6588 * grub-core/lib/mips/arc/reboot.c: ... here.
6589 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6590 * grub-core/lib/mips/loongson/reboot.c: ...here.
6591 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6592 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6593 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6594 * include/grub/i386/reboot.h: New file.
6595 * include/grub/mips/loongson/ec.h: Fix includes.
6596 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6597 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6598 * grub-core/lib/i386/reboot.c: New file.
6599
a97501d2
VS
66002011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 Make grub_prefix into module to fix the arbitrary limit and save
6603 some space.
6604
6605 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6606 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6607 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6608 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6609 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6610 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6611 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6612 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6613 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6614 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6615 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6616 * include/grub/ia64/efi/kernel.h: Removed.
6617 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6618 (grub_prefix): Removed.
6619 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6620 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6621 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6622 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6623 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6624 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6625 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6626 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6627 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6628 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6629 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6630 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6631 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6632 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6633 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6634 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6635 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6636 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6637 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6638 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6639 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6640 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6641 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6642 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6643 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6644 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6645 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6646 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6647 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6648 from module.
6649 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6650 prefix_end.
6651 (image_targets): Likewise.
6652 (generate_image): Put prefix as a module.
6653
39705fad
VS
66542011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 Replace grub_module_iterate with FOR_MODULES.
6657
6658 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6659 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6660 (grub_efi_modules_addr): ...this.
6661 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6662 (grub_efi_init): Set grub_modbase.
6663 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6664 (grub_modbase): New variable.
6665 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6666 (grub_modbase): New variable.
6667 (grub_machine_init): Set grub_modbase.
6668 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6669 (grub_modbase): New variable.
6670 (grub_machine_init): Set grub_modbase.
6671 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6672 (grub_modbase): New variable.
6673 (grub_machine_init): Set grub_modbase.
6674 * grub-core/kern/main.c (grub_module_iterate): Remove.
6675 (grub_modules_get_end): Use grub_modbase.
6676 (grub_load_modules): Use FOR_MODULES.
6677 (grub_load_config): Likewise.
6678 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6679 (grub_modbase): New variable.
6680 (grub_machine_init): Set grub_modbase.
6681 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6682 (grub_modbase): New variable.
6683 (grub_machine_init): Set grub_modbase.
6684 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6685 Removed.
6686 (grub_modbase): New variable.
6687 (grub_machine_init): Set grub_modbase.
6688 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6689 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6690 (grub_module_iterate): Likewise.
6691 (grub_modbase): New variable declaration.
6692 (FOR_MODULES): New macro.
6693
2afb7f6c
VS
66942011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6697 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6698
366e34fa
VS
66992011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 Fix few obvious type discrepancies.
6702
6703 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6704 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6705 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6706 variable.
6707 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6708 and connected types.
6709 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6710 offset.
6711 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6712 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6713 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6714 and connected types.
6715
177b960e
VS
67162011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 Fix python 3.x incompatibilities.
6719
6720 * gentpl.py: Put brackets around print strings.
6721 * util/import_gcry.py: Open explicitly as utf-8.
6722 Use in instead of has_key.
6723
3b619ae1
VS
67242011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6727 (GRUB_XFS_INO_AGBITS): Make into inline function.
6728 (GRUB_XFS_INO_INOINAG): Likewise.
6729 (GRUB_XFS_INO_AG): Likewise.
6730 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6731 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6732 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6733 (GRUB_XFS_EXTENT_SIZE): Likewise.
6734 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6735 (GRUB_XFS_NEXT_DIRENT): Likewise.
6736 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6737 (grub_xfs_read_file): Fix offset type.
6738
8bcebcb8
RM
67392011-10-15 Robert Millan <rmh@gnu.org>
6740
6741 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6742
0017e5ef
RM
67432011-10-15 Robert Millan <rmh@gnu.org>
6744
6745 Fix build problem on FreeBSD and GNU/kFreeBSD.
6746
6747 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6748
d8919552
VS
67492011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6752
6753 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6754 types.
6755 (grub_hfsplus_btree_recoffset): Likewise.
6756 (grub_hfsplus_btree_recptr): Likewise.
6757 (grub_hfsplus_find_block): Likewise.
6758 (grub_hfsplus_btree_search): Likewise.
6759 (grub_hfsplus_read_block): Likewise.
6760 (grub_hfsplus_read_file): Likewise.
6761 (grub_hfsplus_mount): Likewise.
6762 (grub_hfsplus_btree_iterate_node): Likewise.
6763 (grub_hfsplus_btree_search): Likewise.
6764 (grub_hfsplus_iterate_dir): Likewise.
6765 (grub_hfsplus_read): A small code simplification.
6766
c81296b6
VS
67672011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/kern/emu/hostdisk.c
6770 (convert_system_partition_to_system_disk): Don't assume that children
6771 of mapper nodes are mapper nodes.
6772
0eb8ffb1
VS
67732011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6776 * include/grub/misc.h (grub_isxdigit): New function.
6777 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6778 switched to grub_isxdigit.
6779 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6780 number starting with a letter.
6781
a98f4a08
RM
67822011-10-09 Robert Millan <rmh@gnu.org>
6783
6784 LVM support for FreeBSD and GNU/kFreeBSD.
6785
6786 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6787 GNU/kFreeBSD.
6788 (LVM_DEV_MAPPER_STRING): Move from here ...
6789 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6790 * util/getroot.c: Include `<grub/util/lvm.h>'.
6791 (grub_util_get_dev_abstraction): Enable
6792 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6793 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6794 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6795 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6796 support it.
6797 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6798 GNU/kFreeBSD.
6799 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6800 when LVM abstraction is required for ${GRUB_DEVICE}.
6801
050e8e90
SJ
68022011-10-06 Szymon Janc <szymon@janc.net.pl>
6803
6804 Add support for LZO compression in GRUB:
6805 - import of minilzo library,
6806 - LZO decompression for btrfs,
6807 - lzop files decompression.
6808
6809 * grub-core/io/lzopio.c: New file.
6810 * grub-core/lib/adler32.c: Likewise.
6811 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6812 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6813 * grub-core/lib/minilzo/minilzo.c: Likewise.
6814 * grub-core/lib/minilzo/minilzo.h: Likewise.
6815 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6816 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6817 grub-core/lib/minilzo/minilzo.c to common.
6818 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6819 cflags in cppflags.
6820 * grub-core/Makefile.core.def (btrfs): Likewise.
6821 * grub-core/Makefile.core.def (lzopio): New module.
6822 (adler32): Likewise.
6823 * grub-core/fs/btrfs.c: Include minilzo.h.
6824 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6825 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6826 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6827 (grub_btrfs_lzo_decompress): New function.
6828 (grub_btrfs_extent_read): Add support for LZO compression type.
6829 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6830 (GRUB_USHRT_MAX): Likewise.
6831 (GRUB_UINT_MAX): Likewise.
6832 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6833 (UINT_MAX): Likewise.
6834 (CHAR_BIT): Likewise.
6835 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6836 grub-core/lib/posix_wrap/limits.h
6837 (UCHAR_MAX): Likewise.
6838 * include/grub/file.h (grub_file_filter_id): New compression filter
6839 GRUB_FILE_FILTER_LZOPIO.
6840 * include/grub/file.h (grub_file_filter_id): Set
6841 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6842 * include/grub/types.h (grub_get_unaligned16): New function.
6843 (grub_get_unaligned32): Likewise.
6844 (grub_get_unaligned64): Likewise.
6845 * util/import_gcry.py (cryptolist): Add adler32.
6846
0eb8ffb1
VS
68472011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6850 in perspective decreases the complexity of build system and fixes
6851 compilation right now.
6852
ce79cc99 68532011-10-01 Ales Nesrsta <starous@volny.cz>
6854
6855 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6856 (fixed problem related to using UHCI with coreboot).
6857
8667a314
BC
68582011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6859
6860 * gentpl.py: Use Autogen macros so that the output template file
6861 (Makefile.tpl) size is reduced.
6862
fc5efcc0
MK
68632011-09-29 Mads Kiilerich <mads@kiilerich.com>
6864
6865 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6866 extra_dist.
6867
d1ab689d
ML
68682011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6869
6870 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6871 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6872
c05de032
ML
68732011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6874
6875 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6876 _fullpath.
6877
cca7ccd8
ML
68782011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6879
6880 Remove extra declaration of sleep for mingw32.
6881
6882 * util/misc.c (sleep) [__MINGW32__]: Removed.
6883 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6884
e0b0dc83
GS
68852011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6886
6887 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6888 type and packname.
6889 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6890 Resurrected.
6891 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6892 (grub_netbsd_btinfo_bootwedge): New struct.
6893 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6894 New function.
6895 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6896
91a1a164
TH
68972011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6898
6899 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6900 loader.
6901
2ded951e
AB
69022011-09-28 Andreas Born <futur.andy@googlemail.com>
6903
6904 Fix incorrect identifiers in bash-completion.
6905
6906 * util/bash-completion.d/grub-completion.bash.in
6907 (_grub_mkpasswd-pbkdf2): Rename to ...
6908 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6909 (_grub_script-check): Rename to ...
6910 (_grub_script_check): ... this. All users updated.
6911
69915030
VS
69122011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6915 Return 0 if disk isn't biosdisk.
6916
20fd15f9
GS
69172011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6918
6919 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6920 on NetBSD.
6921 * Makefile.util.def (grub-fstest): Likewise.
6922
1a7d7db9
GS
69232011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6924
6925 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6926 Get sector size from disk label.
6927
2221ab6c
CW
69282011-09-05 Colin Watson <cjwatson@ubuntu.com>
6929
6930 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6931 */README* as well as README*.
6932 Reported by: Axel Beckert.
6933
ca51c4a0
VS
69342011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6937 case of less than 256 MiB of RAM.
6938
ab80f326
VS
69392011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * grub-core/commands/wildcard.c (make_regex): Handle @.
6942
4155e697
VS
69432011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6946
ab178c08
SJ
69472011-08-21 Szymon Janc <szymon@janc.net.pl>
6948
6949 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6950 AC_LANG_CONFTEST macros.
6951
7dc3c686
SJ
69522011-08-20 Szymon Janc <szymon@janc.net.pl>
6953
6954 Add grub-fstest option to uncompress data for commands.
6955
6956 * util/grub-fstest.c (uncompress): New var.
6957 (options): New option -u.
6958
fe8d4a7b
SJ
69592011-08-20 Szymon Janc <szymon@janc.net.pl>
6960
6961 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6962 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6963
a5219af1
SJ
69642011-08-20 Szymon Janc <szymon@janc.net.pl>
6965
6966 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6967 file type was not recognized correctly (not gzip or corrupted).
6968
f87abff5
VS
69692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6972 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6973
d94497ea
VS
69742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6977 loongson.
6978 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6979 video_radeon_fuloong2e.
6980 * grub-core/video/radeon_fuloong2e.c: New file.
6981 * include/grub/video.h (grub_video_id_t): Add new ID
6982 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6983
0d1fd011
VS
69842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6987 define.
6988 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6989 that PRID matches the detected subplatform and reset the subplatform
6990 if it doesn't.
6991
84beb0ee
VS
69922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6995
1227c133
VS
69962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 Fix PCI iterating on functions >= 4.
6999
7000 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7001 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7002 Removed.
7003 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7004 (grub_pci_read): Fix bitmask.
7005 (grub_pci_read_word): Likewise.
7006 (grub_pci_read_byte): Likewise.
7007 (grub_pci_write): Likewise.
7008 (grub_pci_write_word): Likewise.
7009 (grub_pci_write_byte): Likewise.
7010
9594c689
VS
70112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7014 can still be specified in TARGET_CFLAGS)
7015
14a2562c
VS
70162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7019
7020 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7021 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7022 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7023 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7024 (FULOONG): Rename to ...
7025 (FULOONG2F): ... this. All users updated.
7026 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7027 (machtype_fuloong2f_str): ... this.
7028 (machtype_fuloong2e_str): New string.
7029 Check for machtype_fuloong2e_str.
7030 * grub-core/loader/mips/linux.c (loongson_machtypes)
7031 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7032 * grub-core/term/serial.c (loongson_defserial)
7033 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7034 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7035 loongson_defserial.
7036 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7037 Rename to ...
7038 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7039 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7040 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7041 to IMAGE_FULOONG2F_FLASH. All users updated.
7042 (image_targets): Rename images.
7043 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7044
b526cbb6
SJ
70452011-08-19 Szymon Janc <szymon@janc.net.pl>
7046
7047 Make enable of disk cache statistics code configurable.
7048
7049 * configure.ac: --enable-cache-stats added.
7050 * config.h.in (DISK_CACHE_STATS): New define.
7051 * grub-core/Makefile.core.def (cacheinfo): New command.
7052 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7053 * grub-core/commands/cacheinfo.c: New file.
7054 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7055 moved to cacheinfo.c.
7056 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7057 debug code.
7058 * include/grub/disk.h: Likewise.
7059
fb739ccd
SJ
70602011-08-19 Szymon Janc <szymon@janc.net.pl>
7061
7062 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7063 * grub-core/Makefile.am: Likewise.
7064
2bba8cfd
VS
70652011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7068 non-zero pull.
7069
43526629
VS
70702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7073 All users updated.
7074 (grub_jfs_lookup_symlink): Use correct starting inode.
7075
5c144cc8
VS
70762011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * util/grub-setup.c (main): Add missing gcry initialisation.
7079
b1257f65
VS
70802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 Don't accept text modes on EFI when booting Linux.
7083
7084 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7085 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7086
828bc390
ML
70872011-08-15 Mario Limonciello <mario_limonciello@dell.com>
70882011-08-15 Colin Watson <cjwatson@ubuntu.com>
7089
7090 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7091 use of "/path/.." as in grub-install for EFI as well as handling
7092 symlinks correctly.
7093 Fixes Debian bug #637768.
7094
5f60ccac
CW
70952011-08-15 Colin Watson <cjwatson@ubuntu.com>
7096
7097 * util/grub-probe.c: Remove duplicate #include.
7098
6dc212f9
RM
70992011-08-10 Robert Millan <rmh@gnu.org>
7100
7101 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7102
7103 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7104 function.
7105 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7106 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7107
66816d85
RM
71082011-08-03 Robert Millan <rmh@gnu.org>
7109
7110 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7111 la_array as packed.
7112 Reported by: Zachary Bedell
7113
20168fca
CW
71142011-07-26 Colin Watson <cjwatson@ubuntu.com>
7115
7116 * configure.ac: The Loongson port requires grub-mkfont due to its
7117 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7118 be built.
7119
303b6246
CW
71202011-07-26 Colin Watson <cjwatson@ubuntu.com>
7121
7122 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7123 processing arguments (otherwise help2man fails when GRUB has not yet
7124 been installed).
7125
6795300e
VS
71262011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7127
41aa28ea
VS
7128 New script grub-mkstandalone.
7129
7130 * Makefile.util.def (grub-mkstandalone): New script.
7131 * docs/man/grub-mkstandalone.h2m: New file.
7132 * util/grub-mkstandalone.in: Likewise.
7133
71342011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 Support ATA disks with 4K sectors.
6795300e
VS
7137
7138 * include/grub/ata.h (grub_ata): New member log_sector_size.
7139 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7140 (grub_ata_identify): Read sector size.
7141 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7142
92227597
VS
71432011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * util/grub-install.in: Don't use uhci outside of x86.
7146
c77069f5
VS
71472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * util/grub-mkrescue.in: Add missing quotes.
7150
71512011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7152
7153 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7154 dereference.
7155
583168a2
VS
71562011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7159
6be1c01f
VS
71602011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * include/grub/video.h: add missing EXPORT_FUND on
7163 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7164
a1167439
VS
71652011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * include/grub/mips/kernel.h: Fix define conflict.
7168
bf66054f
VS
71692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7172 all four ways.
7173
8fc4fa45
CW
71742011-07-21 Colin Watson <cjwatson@ubuntu.com>
7175
7176 Preferred resolution detection for VBE.
7177
7178 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7179 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7180 the Flat Panel extension, in line with the X.org VESA driver.
7181 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7182 New function.
7183 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7184 (grub_vbe_bios_read_edid): Likewise.
7185 (grub_vbe_get_preferred_mode): Likewise.
7186 (grub_video_vbe_setup): When the mode is "auto", try to get the
7187 preferred mode from VBE, and use the largest mode that is no larger
7188 than the preferred mode (some BIOSes expose a preferred mode that is
7189 not in their mode list!). If this fails, fall back to 640x480 as a
7190 safe conservative choice.
7191 (grub_video_vbe_get_edid): New function.
7192 (grub_video_vbe_adapter): Add get_edid.
7193 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7194 (struct grub_video_adapter): Add get_edid.
7195 (grub_video_edid_checksum): Add prototype.
7196 (grub_video_edid_preferred_mode): Likewise.
7197 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7198 structure.
7199
7200 * grub-core/commands/videoinfo.c (print_edid): New function.
7201 (grub_cmd_videoinfo): Print EDID if available.
7202
7203 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7204 is more appropriate on a wider range of platforms than 640x480.
7205 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7206 documentation.
7207
ca5572a9
VS
72082011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7211
e4bcf625
VS
72122011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * po/POTFILES.in: Regenerate.
7215
c4edd548
VS
72162011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7219 incorrect memory usage.
7220
16a2bab0
VS
72212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * util/grub-install.in: Source grub-mkconfig_lib.
7224
2e418de6
VS
72252011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 Remove getroot.c from core on emu platform.
7228
7229 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7230 kern/emu/raid.c.
7231 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7232 useless.
7233 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7234 * util/getroot.c (get_win32_path): ... here.
7235 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7236 * util/getroot.c (fini_libzfs): ... here.
7237 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7238 * util/getroot.c (grub_get_libzfs_handle): ... here.
7239 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7240 Moved from here...
7241 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7242 * grub-core/kern/emu/misc.c
7243 (grub_make_system_path_relative_to_its_root): Moved from here...
7244 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7245 * grub-core/kern/emu/getroot.c: Moved from here ...
7246 * util/getroot.c: ... here. All users updated.
7247 * grub-core/kern/emu/raid.c: Moved from here ...
7248 * util/raid.c: ... here. All users updated.
7249
def9832a
VS
72502011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * po/POTFILES.in: Regenerate.
7253
cd8fe79a
VS
72542011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 Fix compilation on GNU/Linux.
7257
7258 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7259 Disable geli.
7260 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7261 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7262 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7263
a251b719
VS
72642011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
72652011-07-07 Michael Gorven <michael@gorven.za.net>
72662011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7267
7268 LUKS and GELI support.
7269
7270 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7271 grub-core/disk/luks.c, grub-core/disk/geli.c,
7272 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7273 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7274 grub-core/lib/arg.c.
7275 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7276 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7277 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7278 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7279 (grub-bin2h): Add libgcry.a.
7280 (grub-mkimage): Likewise.
7281 (grub-mkrelpath): Likewise.
7282 (grub-script-check): Likewise.
7283 (grub-editenv): Likewise.
7284 (grub-mkpasswd-pbkdf2): Likewise.
7285 (grub-pe2elf): Likewise.
7286 (grub-fstest): Likewise.
7287 (grub-mkfont): Likewise.
7288 (grub-mkdevicemap): Likewise.
7289 (grub-probe): Likewise.
7290 (grub-ofpath): Likewise.
7291 (grub-mklayout): Likewise.
7292 (example_unit_test): Likewise.
7293 (grub-menulst2cfg): Likewise.
7294 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7295 * grub-core/Makefile.core.def (cryptodisk): New module.
7296 (luks): Likewise.
7297 (geli): Likewise.
7298 * grub-core/disk/AFSplitter.c: New file.
7299 * grub-core/disk/cryptodisk.c: Likewise.
7300 * grub-core/disk/geli.c: Likewise.
7301 * grub-core/disk/luks.c: Likewise.
7302 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7303 grub_util_is_lvm.
7304 (grub_util_get_dm_abstraction): New function.
7305 (grub_util_follow_gpart_up): Likewise.
7306 (grub_util_get_geom_abstraction): Likewise.
7307 (grub_util_get_dev_abstraction): Use new functions.
7308 (grub_util_pull_device): Pull GELI and LUKS.
7309 (grub_util_get_grub_dev): Handle LUKS and GELI.
7310 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7311 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7312 (follow_geom_up): Removed.
7313 (grub_util_fd_seek): New function.
7314 (open_device): Use grub_util_fd_seek.
7315 (nread): Rename to ..
7316 (grub_util_fd_read): ... this. All users updated.
7317 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7318 (grub_crypto_cbc_decrypt): Likewise.
7319 (grub_crypto_hmac_write): Likewise.
7320 (grub_crypto_hmac_buffer): Likewise.
7321 (grub_password_get): Extend to util.
7322 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7323 New member modname.
7324 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7325 * include/grub/cryptodisk.h: New file.
7326 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7327 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7328 LUKS and GELI.
7329 (grub_util_follow_gpart_up): New proto.
7330 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7331 (grub_util_fd_read): Likewise.
7332 (grub_cryptodisk_cheat_mount): Likewise.
7333 (grub_util_cryptodisk_print_uuid): Likewise.
7334 (grub_util_get_fd_sectors): Likewise.
7335 * util/grub-fstest.c (mount_crypt): New var.
7336 (fstest): Mount crypto if requested.
7337 (options): New option -C.
7338 (argp_parser): Parse -C.
7339 (main): Init and fini gcry.
7340 * util/grub-install.in: Support cryptodisk install.
7341 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7342 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7343 cryptodisk.
7344 (prepare_grub_to_access_device): Likewise.
7345 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7346 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7347 (probe_cryptodisk_uuid): New function.
7348 (probe_abstraction): Likewise.
7349 (probe): Use new functions.
7350 * util/import_gcry.py: Create Makefile.utilgcry.def.
7351 Add modname member.
7352
9bfdcbbc
VS
73532011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 Lazy device scanning.
7356
7357 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7358 (grub-setup): Remove util/raid.c.
7359 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7360 * grub-core/disk/lvm.c (scan_depth): New variable.
7361 (grub_lvm_iterate): Rescan if necessary.
7362 (find_lv): New function based on grub_lvm_open.
7363 (grub_lvm_open): Use find_lv. Rescan on error.
7364 (is_node_readable): New function.
7365 (is_lv_readable): Likewise.
7366 (grub_lvm_scan_device): Skip already found disks.
7367 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7368 Stop if searched device is found and readable.
7369 * grub-core/disk/raid.c (inscnt): New variable.
7370 (scan_depth): Likewise.
7371 (scan_devices): New function based on grub_raid_register. Abort if
7372 looked for device is found.
7373 (grub_raid_iterate): Rescan if needed.
7374 (find_array): NEw function based on -grub_raid_open.
7375 (grub_raid_open): Use find_array and rescan.
7376 (insert_array): Set became_readable_at.
7377 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7378 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7379 New function.
7380 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7381 (grub_util_pull_device): New function.
7382 (grub_util_get_grub_dev): Call grub_util_pull_device.
7383 * util/raid.c: Moved to ..
7384 * grub-core/kern/emu/raid.c: ... here.
7385 (grub_util_raid_getmembers): New parameter "bootable".
7386 All users updated. Support 1.x.
7387 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7388 All users updated.
7389 * include/grub/disk.h (grub_disk_pull_t): New enum.
7390 (grub_disk_dev): Change iterate prototype.
7391 All users updated.
7392 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7393 New proto.
7394 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7395 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7396 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7397 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7398 All users updated.
7399 * include/grub/util/raid.h: Removed.
7400
1c358e59
VS
74012011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * po/POTFILES.in: Regenerate.
7404
abee94ed
VS
74052011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Unify sparc init with other ieee1275.
7408
7409 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7410 instead of kern/sparc64/ieee1275/init.c.
7411 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7412 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7413 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7414 grub/machine/kernel.h.
7415 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7416 (grub_claim_heap) [__sparc__]: Use sparc version.
7417 (grub_machine_init): Moved args parsing to
7418 (grub_parse_cmdline): ...this.
7419 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7420 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7421 New definition.
7422 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7423
7424 Move BOOTP to separate file.
7425
7426 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7427 * grub-core/net/net.c: Move all BOOTP functions to
7428 * grub-core/net/bootp.c: ... here.
7429
7430 Use frame interface on PXE.
7431
7432 * grub-core/Makefile.core.def (pxecmd): Removed.
7433 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7434 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7435 * grub-core/i386/pc/pxe.c: Moved from here ...
7436 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7437 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7438 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7439
7440 EFI network support.
7441
7442 * grub-core/Makefile.core.def (efinet): New module.
7443 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7444 here...
7445 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7446 All users updated.
7447 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7448 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7449 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7450 * grub-core/net/drivers/efi/efinet.c: New file.
7451 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7452 (grub_efi_net_config): New extern var.
7453
7454 Various cleanups and bugfixes.
7455
7456 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7457 error.
7458 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7459 disk declared as partition.
7460 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7461 leak on failure.
7462 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7463 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7464 (grub_debug_zalloc): Likewise.
7465 (grub_debug_realloc): Likewise.
7466 (grub_debug_memalign): Likewise.
7467 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7468 Check that target is IPv4.
7469 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7470 local-mac-address as fallback.
7471 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7472 memory leak.
7473 * grub-core/net/ip.c (ipchksum): Rename to ...
7474 (grub_net_ip_chksum): ... this. All users updated.
7475 (grub_net_recv_ip_packets): Special handling for DHCP.
7476 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7477
7478 Unify prefix handling
7479
7480 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7481 (grub_machine_get_bootlocation): ... this.
7482 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7483 (grub_machine_get_bootlocation): ... this.
7484 (grub_prefix): New variable.
7485 (prefix): Removed.
7486 (root_dev): New variable.
7487 (dir): Likewise.
7488 (main): Use new variables.
7489 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7490 Revamped into ...
7491 (grub_machine_get_bootlocation): ... this.
7492 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7493 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7494 (grub_machine_get_bootlocation): ... this.
7495 (grub_machine_set_prefix): Removed.
7496 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7497 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7498 Revamped into ...
7499 (grub_machine_get_bootlocation): ... this.
7500 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7501 (grub_set_prefix_and_root): ... this. All users updated.
7502 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7503 Revamped into ...
7504 (grub_machine_get_bootlocation): ... this.
7505 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7506 (grub_machine_get_bootlocation): New proto.
7507 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7508
7509 Less intrusive and more reliable seek on network implementation.
7510
7511 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7512 (grub_file_seek): Don't call grub_file_net_seek.
7513 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7514 (grub_net_fs_read_real): .. this.
7515 (grub_net_seek_real): Use net->offset.
7516 (grub_net_fs_read): Seek if necessary.
7517
7518 Unify IEEE1275 netwotk config with the other platforms.
7519
7520 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7521 New variable.
7522 (grub_machine_get_bootlocation): Support network.
7523 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7524 Support type and device parsing.
7525 (grub_ieee1275_get_device_type): New function.
7526 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7527 into ...
7528 (grub_ieee1275_net_config_real): ... this.
7529 (grub_ofnet_probecards): Removed.
7530 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7531 * include/grub/ieee1275/ofnet.h: Removed.
7532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7533 extern var.
7534 (grub_ieee1275_get_device_type): New function.
7535
7536 Unify network device closing across platforms and make more robust.
7537
7538 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7539 grub_grubnet_fini.
7540 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7541 already.
7542 * grub-core/net/net.c (grub_net_network_level_interface_register):
7543 Update num_ifaces.
7544 (grub_net_card_unregister): Close all interfaces.
7545 (receive_packets): Don't poll if no iterfaces are registered.
7546 Open if necessary.
7547 (grub_net_fini_hw): New function.
7548 (grub_net_restore_hw): Likewise.
7549 (fini_hnd): New variable.
7550 (GRUB_MOD_INIT): Register preboot hook.
7551 (GRUB_MOD_FINI): Run and unregister preboot hook.
7552
7553 Poll network cards when idle.
7554
7555 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7556 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7557 * grub-core/net/net.c (receive_packets): Save last poll time.
7558 (grub_net_poll_cards_idle_real): New function.
7559 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7560 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7561 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7562
7563 Rename ofnet interfaces.
7564
7565 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7566 (grub_ofnet_findcards): Use ofnet_%s names.
7567
7568 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7569
7570 Cleanup socket opening.
7571
7572 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7573 (grub_net_fs_close): Likewise.
7574 (grub_net_fs_read_real): Use eof member.
7575 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7576 (+grub_net_udp_close): New inline function.
7577
7578 * include/grub/net/tftp.h: Moved to the top of ...
7579 * grub-core/net/tftp.c: ... here.
7580 * include/grub/net/ip.h: Moved mostly to the top of ...
7581 * grub-core/net/ip.c: ... here.
7582 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7583 * grub-core/net/ethernet.c: ... here.
7584
7585 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7586
7587 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7588 FS name.
7589
7590 * include/grub/net/ip.h (ipv4_ini): Removed.
7591 (ipv4_fini): Likewise.
7592
7593 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7594 (grub_net_send_ip_packets): Likewise.
7595
cf1337aa
VS
75962011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7599 grub_read_cmos prototype.
7600
93c06ff9
VS
76012011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 VGA text support in qemu-mips
7604
7605 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7606 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7607 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7608 text.
7609 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7610 * grub-core/kern/vga_init.c: ... this.
7611 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7612 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7613 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7614 Adjust.
7615 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7616 GRUB_MACHINE_PCI_IO_BASE.
7617
748ccabe
VS
76182011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 MIPS qemu flash support.
7621
7622 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7623 magic.
7624 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7625 (grub_machine_init): Probe memory if its size isn't known.
7626 * util/grub-mkimage.c (image_targets): Add flash targets.
7627 (generate_image): Handle flash targets.
7628
d7345994
VS
76292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 MIPS qemu at_keyboard support.
7632
7633 * gentpl.py (videoinkernel): Add qemu-mips.
7634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7635 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7636 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7637 modules.
7638 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7639 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7640 * grub-core/term/serial.c (grub_serial_register)
7641 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7642
a07a81b3
VS
76432011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 CMOS support on sparc.
7646
7647 * gentpl.py (cmos): Add powerpc and sparc.
7648 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7649 powerpc and sparc.
7650 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7651 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7652 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7653 grub_set_datetime_cmos.
7654 * grub-core/lib/ieee1275/cmos.c: New file.
7655 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7656 (find_rtc): Set no_ieee1275_rtc on error.
7657 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7658 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7659 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7660 fail. Move value to argument. All users updated
7661 (grub_cmos_write): Likewise.
7662 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7663 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7664 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7665 grub_get_datetime_cmos and grub_set_datetime_cmos.
7666
77546584
GS
76672011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7668
7669 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7670 sourcing grub-mkconfig_lib.
7671 * util/update-grub_lib.in: Likewise.
7672 * util/grub.d/00_header.in: Likewise.
7673 * util/grub.d/10_hurd.in: Likewise.
7674 * util/grub.d/10_kfreebsd.in: Likewise.
7675 * util/grub.d/10_linux.in: Likewise.
7676 * util/grub.d/10_netbsd.in: Likewise.
7677 * util/grub.d/10_windows.in: Likewise.
7678 * util/grub.d/20_linux_xen.in: Likewise.
7679 * util/grub.d/30_os-prober.in: Likewise.
7680
54894791
CW
76812011-06-28 Colin Watson <cjwatson@ubuntu.com>
7682
7683 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7684 default_bg_color rather than black.
7685 (grub_gfxterm_fullscreen): Likewise.
7686 (grub_gfxterm_background_color_cmd): Save new background color in
7687 default_bg_color.
7688
8d5d8444
VS
76892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7692
5afeb5bd
VS
76932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7696 mismerge.
7697
ba7df45e
VS
76982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 Chainloading on coreboot support.
7701
7702 * grub-core/Makefile.core.def (chain): Add coreboot.
7703 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7704
d0b526b2
VS
77052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7708 if it happens.
7709
5ff1d945
VS
77102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 Implement time command.
7713
7714 * grub-core/Makefile.core.def (time): New module.
7715 * grub-core/commands/time.c: New file.
7716 * grub-core/script/parser.y: Remove "time" keyword.
7717 * grub-core/script/yylex.l: Likewise.
7718
5ebaad7e
VS
77192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7722
bdea3798
VS
77232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7726 when handling leftovers.
7727
b28c5655
VS
77282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7731 so that help2man doesn't fail.
7732
b6f945dc
VS
77332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7736 type in pointers on sparc64.
7737 (get_card_packet): Likewise.
7738
f9b75e8a
CW
77392011-06-27 Colin Watson <cjwatson@ubuntu.com>
7740
7741 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7742 with `*'.
7743 (grub_cmd_videoinfo): Fetch current video mode.
7744
1e3d9b86
VS
77452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7748 because of underlying system restrictions.
7749
efff4b1c
VS
77502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7753 necessary.
7754
9fc9ce37
VS
77552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 Coreboot video support.
7758
7759 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7760 (vbe): Likewise.
7761 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7762 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7763 here ...
7764 * grub-core/kern/i386/int.S: ... here.
7765 * grub-core/video/i386/pc/vbe.c: Updated includes.
7766 * grub-core/video/i386/pc/vga.c: Likewise.
7767 * include/grub/i386/coreboot/memory.h
7768 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7769 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7770 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7771 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7772 Disable interrupts.
7773 * include/grub/i386/pc/vga.h: Removed. All users updated.
7774
41bec7fe
VS
77752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7778 definitions for dprintf.
7779 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7780
ca80309d
VS
77812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7784 prototype.
7785 (get_card_packet): Likewise.
7786
9e322ce8
YB
77872011-06-26 Yves Blusseau <blusseau@zetam.org>
7788
7789 Display the path of the file when file is not found
7790
7791 * grub-core/fs/fat.c: Display the filename when file is not found.
7792 * grub-core/fs/fshelp.c: Likewise.
7793 * grub-core/fs/hfs.c: Likewise.
7794 * grub-core/fs/jfs.c: Likewise.
7795 * grub-core/fs/minix.c: Likewise.
7796 * grub-core/fs/ufs.c: Likewise.
7797 * grub-core/fs/btrfs.c: Likewise.
7798 * grub-core/commands/i386/pc/play.c: Likewise.
7799
cbf597af
SJ
78002011-06-26 Szymon Janc <szymon@janc.net.pl>
7801
7802 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7803 pointer checks before calling grub_free().
7804 * grub-core/commands/wildcard.c (match_devices): Likewise.
7805 * grub-core/commands/wildcard.c (match_files): Likewise.
7806 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7807 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7808 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7809 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7810 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7811 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7812 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7813 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7814 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7815
6295b32f
P
78162011-06-25 Patrick <p55@mailinator.com>
7817
7818 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7819
77c0840b
VS
78202011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7823 (grub_pxe_send): Likewise.
7824 (GRUB_MOD_INIT): Fix types.
7825
40ea05de
SJ
78262011-06-24 Szymon Janc <szymon@janc.net.pl>
7827
7828 * grub-core/io/xzio.c: Fix code style issues
7829
90162423
MRA
78302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
78312011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7832
7833 Network infrastructure.
7834 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7835
7836 * include/grub/net/arp.h: New file.
90162423
MRA
7837 * include/grub/net/device.h: Likewise.
7838 * include/grub/net/ethernet.h: Likewise.
7839 * include/grub/net/ip.h: Likewise.
7840 * include/grub/net/netbuff.h: Likewise.
7841 * include/grub/net/tftp.h: Likewise.
7842 * include/grub/net/udp.h: Likewise.
7843 * include/grub/ieee1275/ofnet.h: Likewise.
7844 * include/grub/emu/export.h: Likewise.
7845 * include/grub/net.h: Likewise.
7846 * grub-core/net/arp.c: Likewise.
7847 * grub-core/net/ethernet.c: Likewise.
7848 * grub-core/net/ip.c: Likewise.
7849 * grub-core/net/udp.c: Likewise.
7850 * grub-core/net/tftp.c: Likewise.
7851 * grub-core/net/netbuff.c: Likewise.
7852 * grub-core/net/net.c: Likewise.
7853 * grub-core/net/drivers/emu/emunet.c: Likewise.
7854 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7855 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7856 export.h.
7857 * grub-core/Makefile.core.def (net): New module.
7858 (tftp): Likewise.
7859 (ofnet): Likewise.
7860 (emunet): Likewise.
7861 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7862 network protocols.
7863 * grub-core/kern/device.c (grub_net_open) : New variable.
7864 (grub_device_open): Handle network device.
7865 (grub_device_close): Likewise.
7866 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7867 (grub_grubnet_fini): Likewise.
7868 (grub_file_seek): Seek in network device.
7869 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7870 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7871 network root.
7872 (grub_machine_fini): Call grub_grubnet_fini.
7873 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7874 network.
7875 (grub_ieee1275_get_aliasdevname): New function.
7876 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7877 Add unofficial Solaris network info.
7878 (grub_multiboot_make_mbi): Likewise.
7879 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7880 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7881 * include/grub/device.h (grub_fs): Removed.
7882 * include/grub/err.h (grub_err_t): Add network-related values.
7883 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7884 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7885 (grub_ieee1275_get_aliasdevname): New proto.
7886 * include/grub/net.h: Rewritten.
423a1849 7887
031f22a0
VS
78882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7891 names.
7892
4388ca72
VS
78932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7896 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7897 it truncates the output.
7898 Reported by: Ximin Luo.
7899
98e2f506
VS
79002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7903
2a5e94d8
VS
79042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7907 partmap before abstraction.
7908
535c1910
AK
79092011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7910
7911 * util/grub-mkconfig_lib.in: Add missing quotes.
7912
bc09e1a2
VS
79132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7916 old method if mountinfo would return /dev/root and /dev/root doesn't
7917 exist.
7918
290766fb
VS
79192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 ZFS zlib support
7922
7923 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7924 (decomp_table): Add zlib entries.
7925 (zio_read): USe 8 bits for compression function rather than 3.
7926 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7927
79282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/disk/ahci.c: Add missing license statements.
7931 * grub-core/fs/romfs.c: Likewise.
7932 * grub-core/lib/ia64/setjmp.S: Likewise.
7933 * grub-core/loader/i386/pc/freedos.c: Likewise.
7934 * grub-core/loader/ia64/efi/linux.c: Likewise.
7935 * grub-core/video/colors.c: Likewise.
7936 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7937
5ab3f48a
VS
79382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 AHCI support.
7941
7942 * grub-core/Makefile.core.def (ata_pthru): Removed.
7943 (ahci): New module.
7944 (pata): Likewise.
7945 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7946 on unload.
7947 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7948 readwrite.
7949 (grub_hdparm_do_check_powermode_cmd): Likewise.
7950 (grub_hdparm_do_smart_cmd): Likewise.
7951 (grub_hdparm_set_val_cmd): Likewise.
7952 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7953 * grub-core/disk/ahci.c: New file.
7954 * grub-core/disk/ata.c: Factor out the low-level part into ...
7955 * grub-core/disk/pata.c: ... here.
7956 * grub-core/disk/ata_pthru.c: Contents moved to ...
7957 * grub-core/disk/pata.c: ... here.
7958 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7959 (grub_scsi_iterate): Use grub_scsi_names.
7960 (grub_scsi_open): Likewise.
7961 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7962 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7963 (grub_ata_regs_t): New struct.
7964 (grub_disk_ata_pass_through_parms): Likewise.
7965 (grub_ata_device): Renamed to ...
7966 (grub_ata): ... this.
7967 (grub_ata_dev): New struct.
7968 Removed all low-level inline functions.
7969 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7970 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7971 iterate hooks and open. All users updated.
7972 * util/grub-install.in: Handle AHCI disk module.
7973
c31dc5f5
SJ
79742011-06-23 Szymon Janc <szymon@janc.net.pl>
7975
7976 Add support for DRI and RSTn markers in JPEG files.
7977
7978 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7979 (JPEG_MARKER_RST0): Likewise.
7980 (JPEG_MARKER_RST1): Likewise.
7981 (JPEG_MARKER_RST2): Likewise.
7982 (JPEG_MARKER_RST3): Likewise.
7983 (JPEG_MARKER_RST4): Likewise.
7984 (JPEG_MARKER_RST5): Likewise.
7985 (JPEG_MARKER_RST6): Likewise.
7986 (JPEG_MARKER_RST7): Likewise.
7987 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7988 (grub_jpeg_decode_dri): New function.
7989 (grub_jpeg_decode_sos): Move image data related part into
7990 grub_jpeg_decode_data function.
7991 (grub_jpeg_decode_data): New function.
7992 (grub_jpeg_reset): New function.
7993 (grub_jpeg_decode_jpeg): Handle new markers.
7994
fe12fd5b
VS
79952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * util/ieee1275/ofpath.c (check_sas): Close fd.
7998 (main): Free of_path.
7999 Reported by: David Volgyes <dvolgyes>.
8000
03147f46
VS
80012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8004 Reported by: David Volgyes <dvolgyes>.
8005
cad3237f
VS
80062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8009 file after stat.
8010 Reported by: David Volgyes <dvolgyes>.
8011
13548d26
VS
80122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8015
8016 Reported by: David Volgyes <dvolgyes>.
8017
e061a1b5
VS
80182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8021 Prevent memory leak.
8022
1abe47dc
VS
80232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8026 (main): Close file.
e061a1b5 8027 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8028
fbc62666
VS
80292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8032 to continue if allocation is failed.
8033
8034 Reported by: David Volgyes <dvolgyes>.
8035
e98c83e9
DV
80362011-06-23 David Volgyes <dvolgyes>
8037
8038 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8039 dereference.
8040
a199a8cd
VS
80412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 Fix spurious warning.
8044
8045 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8046 (acorn_partition_map_find): Use .bin member.
8047
e2d1dba0
VS
80482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8051 /dev/root as a valid device.
8052
8a5d6919
JM
80532011-06-23 Jim Meyering <meyering@redhat.com>
8054
e2d1dba0
VS
8055 Avoid NULL deref in grub_device_open.
8056
8a5d6919
JM
8057 * grub-core/kern/device.c (grub_device_open): Don't dereference
8058 a NULL pointer upon failed grub_env_get.
8059
f7db6f4a
VS
80602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 Support non-512B sectors and agglomerate reads.
8063
8064 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8065 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8066 (disk_io_guid): Removed.
8067 (make_devices): Locate solely by BlockIO.
8068 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8069 (grub_efidisk_read): Use read_blocks.
8070 (grub_efidisk_write): Use write_blocks.
8071 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8072 log_sector_size.
8073 (get_safe_sectors): Handle non-512B sectors.
8074 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8075 sectors.
8076 (grub_biosdisk_write): Handle non-512B sectors.
8077 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8078 (grub_scsi_read): Remove special non-512B block handling (now handled
8079 one level up).
8080 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8081 and do sanity checks.
8082 (grub_disk_adjust_range): Handle non-512B sectors.
8083 (transform_sector): New function.
8084 (grub_disk_read_small): Likewise.
8085 (grub_disk_read): Rewritten.
8086 (grub_disk_write): Handle non-512B sectors.
8087 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8088 log_sector_size.
8089 (open_device): Use log_sector_size.
8090 (grub_util_biosdisk_read): Likewise.
8091 (grub_util_biosdisk_write): Likewise.
8092 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8093 non-512B sectors.
8094 (pc_partition_map_embed): Likewise.
8095 * include/grub/disk.h (grub_disk): New field log_sector_size.
8096 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8097 (GRUB_DISK_CACHE_BITS): Increased to 6.
8098 * util/grub-fstest.c (fstest): New command testload.
8099 (argp_parser): Likewise.
8100
881ac815
RM
81012011-06-16 Robert Millan <rmh@gnu.org>
8102
8103 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8104 `ata' driver on kernel of FreeBSD 9.
8105
8106 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8107 (get_ataraid_disk_name): New functions.
8108 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8109 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8110 get_ataraid_disk_name() and get_ada_disk_name().
8111
1e9aef7d
CW
81122011-06-13 Colin Watson <cjwatson@ubuntu.com>
8113
8114 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8115 input format.
8116
351c7c8a
CW
81172011-05-29 Colin Watson <cjwatson@ubuntu.com>
8118
8119 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8120 `ftp.gnu.org' for `alpha.gnu.org'.
8121
6b4e6430
CW
81222011-05-27 Colin Watson <cjwatson@ubuntu.com>
8123
8124 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8125 partitions under /dev/disk/by-id/.
8126
c64db050
CW
81272011-05-27 Colin Watson <cjwatson@ubuntu.com>
8128
8129 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8130 after ten consecutive open failures. Scanning all the way up to
8131 10000 is excessive and can cause serious performance problems in
8132 some configurations.
8133 Fixes Ubuntu bug #787461.
8134
245f4aba
VS
81352011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8138 opening new one.
8139
f767c929
VS
81402011-05-21 Colin Watson <cjwatson@ubuntu.com>
81412011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 Don't stat devices unless we have to.
8144
8145 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8146 dir == /dev/mapper.
8147 (grub_guess_root_device): Use already known os_dev if possible.
8148 * grub-core/kern/emu/hostdisk.c
8149 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8150 if device is known to be a dm one.
8151
f35fa3a6
CW
81522011-05-20 Colin Watson <cjwatson@ubuntu.com>
8153
8154 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8155 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8156 Reported by: Pawel Tecza.
8157
9a79fcf2
VS
81582011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8161 (lsefisystab): Likewise.
8162 (lssal): Likewise.
8163 (lsefimmap): Likewise.
8164 (hdparm): Enable on qemu-mips.
8165 (setjmp): Add ia64 nodist.
8166 (serial): Simplify tags.
8167
63e3eea9
CW
81682011-05-18 Colin Watson <cjwatson@ubuntu.com>
8169
8170 * Makefile.util.def (grub-ofpathname): Install manual page.
8171
09728256
CW
81722011-05-18 Colin Watson <cjwatson@ubuntu.com>
8173
8174 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8175
8b63a142
CW
81762011-05-18 Colin Watson <cjwatson@ubuntu.com>
8177
8178 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8179
e775d8ed
VS
81802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8183 into dprintf.
8184
bf947d36
VS
81852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 Use full 64-bit division.
8188
8189 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8190 (grub_divmod64): ... this.
8191 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8192 version.
8193
b84f26c5
CW
81942011-05-18 Colin Watson <cjwatson@ubuntu.com>
8195
8196 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8197 `source'.
8198
5626056f
CW
81992011-05-18 Colin Watson <cjwatson@ubuntu.com>
8200
8201 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8202 to avoid accidents when debugging with 'sh -x'.
8203 * grub-core/gensyminfo.sh.in: Likewise.
8204 * tests/example_scripted_test.in: Likewise.
8205 * tests/grub_cmd_regexp.in: Likewise.
8206 * tests/grub_script_blanklines.in: Likewise.
8207 * tests/grub_script_dollar.in: Likewise.
8208 * tests/grub_script_expansion.in: Likewise.
8209 * tests/grub_script_final_semicolon.in: Likewise.
8210 * tests/partmap_test.in: Likewise.
8211 * tests/util/grub-shell-tester.in: Likewise.
8212 * tests/util/grub-shell.in: Likewise.
8213
e2965f4a
CW
82142011-05-18 Colin Watson <cjwatson@ubuntu.com>
8215
8216 Move gfxmenu color handling to video, so that gfxterm can use it
8217 too.
8218
8219 * grub-core/gfxmenu/named_colors.c: Move to ...
8220 * grub-core/video/colors.c: ... here. Rename
8221 grub_gui_get_named_color to grub_video_get_named_color.
8222 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8223 * grub-core/video/colors.c (my_isxdigit): ... here.
8224 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8225 Move to ...
8226 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8227 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8228 to ...
8229 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8230
8231 * include/grub/gui.h (grub_gui_color_t): Move to ...
8232 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8233 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8234 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8235 * include/grub/gui.h (grub_gui_map_color): Move to ...
8236 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8237 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8238 to ...
8239 * include/grub/video.h (grub_video_get_named_color): ... here.
8240 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8241 * include/grub/video.h (grub_video_parse_color): ... here.
8242
8243 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8244 video/colors.c.
8245 (gfxmenu): Remove gfxmenu/named_colors.c.
8246 (video) [videomodules]: Add video/colors.c.
8247
8248 Add a background_color command.
8249
8250 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8251 function.
8252 (GRUB_MOD_INIT): Register background_color command.
8253 (GRUB_MOD_FINI): Unregister background_color command.
8254 (redraw_screen_rect): Allow blend/replace of text layer to be
8255 controlled independently from whether there is a background bitmap.
8256 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8257 changing bitmap.
8258
1e4b4390
VS
82592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8260
26618ff0
VS
8261 Patch BPB in ntldr and chainloader --bpb.
8262
1e4b4390
VS
8263 * grub-core/fs/fat.c: Include grub/fat.h.
8264 (grub_fat_bpb): Moved to ...
8265 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8266 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8267 grub/ntfs.h.
8268 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8269 Moved from here...
8270 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8271 here.
8272 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8273 New function.
8274 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8275 (GRUB_MOD_INIT): Show --bpb.
8276 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8277 * grub-core/normal/main.c (features): New variable.
8278 (GRUB_MOD_INIT): Set feature_* variables.
8279 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8280 proto.
8281 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8282
cf02731e
VS
82832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8286 for cleanness.
8287
e3a1073f
VS
82882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 FreeDOS direct loading support.
8291
8292 * docs/grub.texi (Supported OS): Add FreeDOS.
8293 * grub-core/Makefile.core.def (freedos): New module.
8294 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8295 variable.
8296 (grub_relocator16_boot): Handle %ebx.
8297 * grub-core/lib/i386/relocator16.S: Likewise.
8298 * grub-core/loader/i386/pc/freedos.c: New file.
8299
05caa461
VS
83002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 Long Linux command line support.
8303
8304 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8305 (maximal_cmdline_size): New variable.
8306 (allocate_pages): Use maximal_cmdline_size.
8307 (grub_cmd_linux): Set and use maximal_cmdline_size.
8308 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8309 (allocate_pages): Use maximal_cmdline_size.
8310 (grub_cmd_linux): Set and use maximal_cmdline_size.
8311 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8312 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8313 and cmdline_size.
8314
a2491e23
VS
83152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
83162011-05-18 Colin Watson <cjwatson@ubuntu.com>
8317
8318 Improve devmapper support
8319
8320 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8321 (grub_util_is_lvm): New function.
8322 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8323 than lvm if not dmraid.
8324 Handle mapped md nodes.
8325 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8326 (grub_util_device_is_mapped): ... this. Make always available. All users
8327 updated.
8328 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8329 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8330 dmraid nodes.
8331 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8332
6ad6223e
VS
83332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8336
8337 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8338 * grub-core/modinfo.sh.in: New file.
8339 * grub-core/Makefile.core.def (modinfo.sh): New script.
8340 * util/grub-mknetdir.in: Use modinfo.sh.
8341 * util/grub-mkrescue.in: Likewise.
8342
543a8f6e
VS
83432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8346 Fix potential usage of Elf32 instead of Elf64 when compiling on
8347 32-bit architecture. Add endianness macros while on it.
8348
4959e111
VS
83492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 Use mipsel- rather than mips- in directories involving mipsel ports to
8352 allow both endiannesses coexist.
8353
8354 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8355 mips. All conditions adjusted.
8356 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8357 variable.
8358 * util/grub-install.in: Adjust conditions to take renaming into account.
8359 * util/grub-mkimage.c (image_targets): Likewise. New target
8360 mips-qemu_mips-elf for bigendian mips.
8361
35341bbc
VS
83622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 Avoid unnecessary copying on MIPS.
8365
8366 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8367 early if src == dest.
8368 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8369 compression is none.
8370
b772baed
VS
83712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 Reduce memory footprint on SGI by putting modules before the kernel
8374 as opposed to after.
8375
8376 * grub-core/Makefile.core.def (kernel): Increase linking address.
8377 (none_decompress): Likewise.
8378 (xz_decompress): Likewise.
8379 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8380 address.
8381 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8382 layout change.
8383 (grub_arch_modules_addr): New function.
8384 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8385 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8386 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8387 here.
8388 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8389 (grub_total_modules_size): ... this. Make global.
8390 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8391 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8392 New definition.
8393 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8394 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8395 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8396 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8397 * util/grub-mkimage.c (image_target_desc): New flag
8398 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8399 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8400 (generate_image): Handle images with modules before kernel.
8401
566a1917
VS
84022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 Prevent potential loss of memory map by overwrite on qemu-mips.
8405
8406 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8407 Save ram size in $s4.
8408 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8409 All users changed to grub_arch_memsize.
8410 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8411 Loongson.
8412 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8413 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8414 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8415 external variable.
8416
5d420cd9
CW
84172011-05-17 Colin Watson <cjwatson@ubuntu.com>
8418
8419 * .bzrignore: Remove grub-dumpbios.
8420
d064b830
CW
84212011-05-17 Colin Watson <cjwatson@ubuntu.com>
8422
8423 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8424 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8425 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8426 existing options which append).
8427 * docs/grub.texi (Simple configuration): Document new options.
8428 Reported by: Ian Jackson. Fixes Debian bug #617538.
8429
3ca2b466
CW
84302011-05-17 Colin Watson <cjwatson@ubuntu.com>
8431
8432 * util/grub-fstest.c (cmd_cat): New function.
8433 (fstest): Handle CMD_CAT.
8434 (options): Add cat.
8435 (argp_parser): Handle cat.
8436
24c9143a
CW
84372011-05-17 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * Makefile.util.def (grub-bin2h): Don't install.
8440 * docs/man/grub-bin2h.h2m: Remove.
8441
90f7ac19
VS
84422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8445 place.
8446
8d4a5178
VS
84472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 Reenable qemu-mips port.
8450
8451 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8452 Fix small arc bug while on it.
8453 * gentpl.py: Handle qemu_mips.
8454 * grub-core/Makefile.am: Likewise.
8455 * grub-core/Makefile.core.def: Likewise.
8456 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8457 inappropriate includes.
8458 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8459 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8460 * grub-core/kern/main.c (grub_modules_get_end)
8461 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8462 * grub-core/kern/mips/qemu-mips: Moved to ..
8463 * grub-core/kern/mips/qemu_mips: ... this.
8464 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8465 (grub_machine_init): Call terminfo_init and serial_init.
8466 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8467 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8468 New variable.
8469 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8470 parameter passing.
8471 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8472 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8473 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8474 * include/grub/mips/qemu_mips/cmos.h: New file.
8475 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8476 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8477 Removed.
8478 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8479 Use correct mips-style address.
8480 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8481 (GRUB_TICKS_PER_SECOND): Removed.
8482 (grub_get_rtc): Likewise.
8483 (grub_cpu_idle): Likewise.
8484 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8485 New definition.
8486 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8487 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8488 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8489 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8490 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8491 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8492 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8493 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8494
400b9371
VS
84952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 SGI ARCS port.
8498
8499 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8500 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8501 platforms.
8502 * configure.ac: New target mips-arc.
8503 * gentpl.py: Likewise.
8504 * grub-core/Makefile.am: Likewise.
8505 * grub-core/Makefile.core.def: Likewise.
8506 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8507 (none_decompress): Likewise.
8508 (lsdev): New module.
8509 (datetime): Use lib/arc/datetime.c on ARC.
8510 (part_dvh): New module.
8511 * grub-core/commands/arc/lsdev.c: New file.
8512 * grub-core/disk/arc/arcdisk.c: Likewise.
8513 * grub-core/kern/mips/arc/init.c: Likewise.
8514 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8515 aligned addresses.
8516 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8517 support.
8518 (grub_arch_dl_relocate_symbols): Likewise.
8519 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8520 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8521 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8522 platforms.
8523 * grub-core/lib/arc/datetime.c: New file.
8524 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8525 pci.h on non-loongson.
8526 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8527 (grub_linux_boot): Set unused registers to 0.
8528 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8529 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8530 * grub-core/mmap/mips/uppermem.c: ...here.
8531 * grub-core/partmap/dvh.c: New file.
8532 * grub-core/term/arc/console.c: Likewise.
8533 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8534 (grub_terminfo_set_current): Add terminal "arc".
8535 (grub_terminfo_readkey): Support ARC sequences.
8536 * include/grub/arc/arc.h: New file.
8537 * include/grub/arc/console.h: Likewise.
8538 * include/grub/disk.h (grub_disk_dev_id): Add
8539 GRUB_DISK_DEVICE_ARCDISK_ID.
8540 * include/grub/mips/arc/kernel.h: New file.
8541 * include/grub/mips/arc/memory.h: Likewise.
8542 * include/grub/mips/arc/time.h: Likewise.
8543 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8544 * include/grub/mips/kernel.h (grub_halt): ... here.
8545 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8546 here...
8547 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8548 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8549 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8550 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8551 proto.
8552 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8553 from here ...
8554 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8555 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8556 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8557 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8558 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8559 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8560 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8561 (grub_phys_addr_t): Moved from here ...
8562 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8563 (grub_vtop): Moved from here ...
8564 * include/grub/mips/memory.h (grub_vtop): ... here.
8565 (grub_map_memory): Moved from here ...
8566 * include/grub/mips/memory.h (grub_map_memory): ... here.
8567 (grub_unmap_memory): Moved from here ...
8568 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8569 (grub_machine_mmap_iterate): Moved from here ...
8570 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8571 (grub_mmap_get_lower): Moved from here ...
8572 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8573 (grub_mmap_get_upper): Moved from here ...
8574 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8575 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8576 here ...
8577 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8578 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8579 here ...
8580 * include/grub/mips/time.h (grub_get_rtc): ... here.
8581 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8582 here ...
8583 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8584 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8585 here ...
8586 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8587 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8588 definition.
8589 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8590 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8591 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8592 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8593 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8594 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8595 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8596 (GRUB_MACHINE_LINK_ADDR): Likewise.
8597 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8598 to 6.
8599 * util/grub-install.in: Run dvhtool on ARC.
8600 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8601 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8602
c8ecc840
VS
86032011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8606 blocks.
8607
153a4b55
VS
86082011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8611 after enabling port.
8612
ff44d107
VS
86132011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 Skip incorrect USB devices.
8616
8617 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8618 configcnt == 0.
8619 * include/grub/usb.h (grub_usb_err_t): New enum value
8620 GRUB_USB_ERR_BADDEVICE.
8621
638dbe4f
VS
86222011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 Fuloong video init support.
8625
8626 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8627 well.
8628 (grub_vga_read_arx): New function.
8629 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8630 definition.
8631 (framebuffer): New members io, mmioptr and mmiobase.
8632 (read_sis_cmd): New function.
8633 (write_sis_cmd): Likewise.
8634 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8635 rather than 640x400.
8636 * grub-core/video/sis315_init.c: New file.
8637
c3fc520c
VS
86382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8641 non-loongson.
8642 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8643 to grub_dl_register_symbol.
8644
67b1e5c9
VS
86452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 Fix compilation errors.
8648
8649 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8650 potentially unused.
8651 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8652 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8653 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8654 to loongson machines.
8655
b756f75f
VS
86562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 Several FS mtime support.
8659
8660 * grub-core/fs/affs.c (grub_affs_time): New struct.
8661 (grub_affs_file): New field mtime.
8662 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8663 type. Removed 'size'. New field 'di'. All users updated.
8664 (grub_affs_mount): Simplify checsum checking.
8665 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8666 (grub_affs_dir): Handle mtime.
8667 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8668 (grub_cpio_dir): Likewise.
8669 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8670 (grub_hfs_filerec): New field mtime.
8671 (grub_hfs_dir): Handle mtime.
8672 (grub_hfs_mtime): New function.
8673 (grub_hfs_fs): Register grub_hfs_mtime.
8674 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8675 (grub_iso9660_dir): New field mtime.
8676 (grub_fshelp_node): New field dirent.
8677 (iso9660_to_unixtime): New function.
8678 (iso9660_to_unixtime2): Likewise.
8679 (grub_iso9660_read_symlink): Use node->dirent.
8680 (grub_iso9660_iterate_dir): Likewise.
8681 (grub_iso9660_dir): Set mtime.
8682 (grub_iso9660_mtime): New function.
8683 (grub_iso9660_fs): Register grub_iso9660_mtime.
8684 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8685 (grub_jfs_inode): New fields atime, ctime and mtime.
8686 (grub_jfs_dir): Set mtime.
8687 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8688 * grub-core/fs/ntfs.c (list_file): Set mtime.
8689 (grub_ntfs_dir): Likewise.
8690 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8691 (grub_reiserfs_iterate_dir): Set mtime.
8692 (grub_reiserfs_dir): Likewise.
8693 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8694 (grub_fshelp_node): Likewise.
8695 (grub_sfs_iterate_dir): Set mtime.
8696 (grub_sfs_dir): Likewise.
8697 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8698 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8699 (grub_xfs_inode): New fields atime, mtime, ctime.
8700 (grub_xfs_dir): Set mtime.
8701 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8702 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8703 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8704
8705 Support UDF symlinks.
8706
8707 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8708 (grub_ufs_read_symlink): New function. All users updated.
8709
8710 Check amiga partmap checksum.
8711
8712 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8713 (grub_amiga_partition): Likewise.
8714 (amiga_partition_map_checksum): New function.
8715 (amiga_partition_map_iterate): Check checksum.
8716
5470225d
VS
87172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 ROMFS support.
8720
8721 * Makefile.util.def (libgrubmods.a): Add romfs.
8722 * grub-core/Makefile.core.def (romfs): New module.
8723 * grub-core/fs/romfs.c: New file.
8724
d4680a35
VS
87252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 Squashfs v4 support.
8728
8729 * Makefile.util.def (libgrubmods.a): Add squash4.
8730 * grub-core/Makefile.core.def (squash4): New module.
8731 * grub-core/fs/squash4.c: New file.
8732 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8733 disk_input_start, disk_input.
8734 (get_byte): Handle disk_input.
8735 (grub_zlib_disk_read): New function.
8736 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8737
bcb18e74
FZ
87382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
87392011-05-15 Feiran Zheng <famcool@gmail.com>
8740
8741 * Makefile.util.def (libgrubmods.a): Add minix3.
8742 * grub-core/Makefile.core.def (minix3): New module.
8743 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8744 (GRUB_MINIX_BSIZE): Removed.
8745 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8746 (grub_minix_ino_t): New type.
8747 (grub_minix_le_to_cpu_ino): New macro.
8748 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8749 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8750 (grub_minix_data): New field block_size.
8751 (grub_minix_read_file): Handle 64-bit correctly.
8752 * grub-core/fs/minix3.c: New file.
8753
32297d5f
TG
87542011-05-15 Tristan Gingold <gingold@free.fr>
87552011-05-15 Robert Millan <rmh.grub@aybabtu.com>
87562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 IA64 support.
8759
8760 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8761 * configure.ac: Add ia64-efi target.
8762 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8763 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8764 * gentpl.py: Add ia64_efi platform.
8765 Rename x86_efi to efi and Add ia64-efi. All users updated.
8766 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8767 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8768 Remove kern/generic/rtc_get_time_ms.c on EFI.
8769 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8770 kern/ia64/dl_helper.c on ia64-efi.
8771 Add kern/emu/cache.c on emu.
8772 (linux): Use on loader/ia64/efi/linux.c on ia64.
8773 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8774 whether symbol is a function.
8775 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8776 (grub_symbol): New field 'isfunc'.
8777 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8778 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8779 (grub_dl_load_segments): Place all sections into the same region.
8780 [__ia64__]: Create trampolines and got.
8781 [GRUB_MACHINE_EMU]: Call mprotect.
8782 (grub_dl_resolve_symbols): Resolve symbol type as well.
8783 [__ia64__]: Create function descriptors.
8784 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8785 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8786 (grub_get_rtc): New function.
8787 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8788 * grub-core/kern/emu/cache.S: Renamed to ...
8789 * grub-core/kern/emu/cache_s.S: ... this.
8790 [__ia64__]: Add a nop.
8791 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8792 [__ia64__]: New function.
8793 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8794 * grub-core/kern/ia64/dl.c: New file.
8795 * grub-core/kern/ia64/dl_helper.c: Likewise.
8796 * grub-core/kern/ia64/efi/init.c: New file.
8797 * grub-core/kern/ia64/efi/startup.S: Likewise.
8798 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8799 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8800 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8801 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8802 * grub-core/loader/ia64/efi/linux.c: New file.
8803 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8804 (GRUB_MOD_DEP): Likewise.
8805 (grub_dl) [__ia64__]: New fields got and tramp.
8806 (grub_dl): New field 'base'.
8807 (grub_dl_register_symbol): New argument isfunc. All users updated.
8808 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8809 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8810 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8811 (grub_ia64_dl_get_tramp_got_size): New proto.
8812 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8813 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8814 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8815 * include/grub/efi/api.h: Skip call wrappers on ia64.
8816 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8817 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8818 * include/grub/elf.h (ELF_ST_INFO): New definition.
8819 * include/grub/ia64/efi/kernel.h: New file.
8820 * include/grub/ia64/efi/memory.h: Likewise.
8821 * include/grub/ia64/efi/time.h: Likewise.
8822 * include/grub/ia64/kernel.h: Likewise.
8823 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8824 * include/grub/ia64/time.h: New file.
8825 * include/grub/ia64/types.h: Likewise.
8826 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8827 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8828 New protos.
8829 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8830 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8831 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8832 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8833 All users updated.
8834 (EFI64_HEADER_SIZE): New definition. All users updated.
8835 (image_targets): Add ia64-efi.
8836 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8837 jumpers_addr. All users updated.
8838 Create function descriptors.
8839 (count_funcs): New function.
8840 (unaligned_uint32): New struct.
8841 (MASK20): New definition.
8842 (MASK19): Likewise.
8843 (MASKF21): Likewise.
8844 (add_value_to_slot_20b): New function.
8845 (add_value_to_slot_21_real): Likewise.
8846 (add_value_to_slot_21): Likewise.
8847 (ia64_kernel_trampoline): New struct.
8848 (nopm): New variable.
8849 (jump): Likewise.
8850 (make_trampoline): New function.
8851 (relocate_addresses): Handle ia64.
8852 (make_reloc_section): Likewise.
8853 (load_image): Likewise.
8854
983b414d
VS
88552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8858 warning. Move variables before code while on it.
8859
5d063cdc
VS
88602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 Fuloong support.
8863
8864 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8865 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8866 * grub-core/boot/mips/loongson/fuloong.S: New file.
8867 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8868 Explicitly init CS5536.
8869 [FULOONG]: Don't use serial until CS5536 is available.
8870 Set GPIO based on dumps.
8871 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8872 [FULOONG]: Handle GPIO and memory controller differences.
8873 Parse machine type in $a2.
8874 * grub-core/boot/mips/startup_raw.S: Determine and save the
8875 architecture.
8876 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8877 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8878 init on architecture type.
8879 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8880 SIS315E. Don't init at_keyboard on fuloong.
8881 (grub_halt): Support Fuloong.
8882 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8883 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8884 (loongson_machtypes): New array.
8885 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8886 type.
8887 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8888 config. All users updated. Handle CS5536 serial.
8889 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8890 default port on machine type. Register serial as inactive.
8891 * grub-core/video/sis315pro.c: New file.
8892 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8893 definition.
8894 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8895 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8896 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8897 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8898 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8899 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8900 to ...
8901 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8902 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8903 definition.
8904 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8905 (grub_arch_machine): New extern var.
8906 * include/grub/mips/loongson/serial.h
8907 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8908 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8909 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8910 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8911 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8912 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8913 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8914 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8915 * include/grub/term.h (grub_term_register_input_inactive): New inline
8916 function.
8917 (grub_term_register_output_inactive): Likewise.
8918 * include/grub/video.h (grub_video_driver_id): New value
8919 GRUB_VIDEO_DRIVER_SIS315PRO.
8920 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8921 New field "names". All users updated.
8922 New field value IMAGE_FULOONG_FLASH.
8923 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8924
6ada82d1
JU
89252011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8926
8927 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8928 and add some clarification.
8929
90c571a4
VS
89302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8933 platforms if kernel is compressed.
8934
de04eecf
VS
89352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8938 unused modules since currently referrence counter isn't reliable and
8939 there isn't much memory to recover there anyway.
8940
57688121
VS
89412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8944 rather than resetting it to allow modules to reference themselves
8945 in init.
8946
3d2c7e35
VS
89472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8950 counter on dependencies since grub_dl_unref already handles this.
8951
b25db218
VS
89522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8955 on error if not already done.
8956
25a45338
VS
89572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 Fix few potential memory misusage.
8960
8961 * grub-core/font/font.c (load_font_index): Don't free char_index to
8962 avoid double free.
b25db218
VS
8963 (grub_font_load): Zero-fill font at alloc for safety.
8964 Close file on error.
8965 (free_font): Free bmp_idx.
25a45338 8966
0cac83df
VS
89672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * docs/grub.texi (Installation): Fix several outdated claims.
8970
2217a143
VS
89712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 Handle module_license on windows.
8974
8975 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8976 sections shifted.
8977 (insert_string): Make argument const char * instead of char *.
8978 (write_section_data): Handle long section names.
8979 Handle module_license.
8980
d4de6b01
VS
89812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8984 handle class-free menuentries.
8985 (grub_normal_add_menu_entry): Add a check to be sure.
8986
4c2a3b43
VS
89872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8990 PgUp and PgDown.
8991
85c6210f
VS
89922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * configure.ac: Bump version to 1.99.
8995
36084912
VS
89962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 Give ATA device a bit more time on first try in order to allow disks
8999 to spin up.
9000
9001 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9002 if dev->present is 1. Reset dev->present on failure.
9003 (grub_ata_device_initialize): Set dev->present to 1.
9004 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9005 (grub_ata_device): New member 'present'.
9006
bda0e219
VS
90072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * util/grub-mkimage.c (generate_image): Update hash.
9010
19e1c41b
VS
90112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 Flush caches on DMA memory.
9014
9015 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9016 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9017 (grub_dma_free): Likewise.
9018 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9019
91bbcc0c
VS
90202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9023 to avoid asm treating ld and sd as macros.
9024
60ddfad3
VS
90252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9028 decompressor.
9029
a298aa04
VS
90302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9033 grub_decompress_core since later would fail if grub_decompress_core
9034 is too far.
9035
9b44feca
VS
90362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9039 R_MIPS_JALR since it's used by newer compiler.
9040
56dbe7b4
VS
90412011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9044
52856af2
VS
90452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9048 file_path to 0 for surety.
9049 (grub_chainloader_boot): Set exit_data to NULL.
9050 Unset the loader once done.
9051 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9052
9c9bfc6d
VS
90532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9056 unknown key into a dprintf.
9057
dd94a3df
VS
90582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9061 on first non-existant partition.
9062
fa68d99c
VS
90632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9066 openning fails.
9067 Reported by: Mark Korenberg.
9068
157effb7
VS
90692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9072 overflow.
9073
ea75312f
VS
90742011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9077 before closing to ensure that it will be readable by grub-setup.
9078
072b5d31
VS
90792011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9082 (devpath_1): Use MAKE_PIWG_PATH.
9083 (devpath_2): Likewise.
9084 (devpath_3): Likewise.
9085 (devpath_4): Likewise.
9086 (devpath_5): Likewise.
9087 (devpath_6): Likewise.
9088
9089 The appleldr.mod was checked that to be binary identical to previous
9090 version.
9091
7fae0051
Z
90922011-05-05 Zach <mikezackles>
9093
9094 Support 2010 Macbooks.
9095
9096 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9097 (devs): Add devpath_6.
9098
7c515bee
VS
90992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9102 /dev/random. /dev/urandom is good enough for our purposes (salting).
9103
ed660bd8
VS
91042011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9107
ee5614b7
VS
91082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9111 hexadecimal.
9112
664889a6
VS
91132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9116 and not 0 on failure.
9117
bd405bbc
CW
91182011-05-03 Colin Watson <cjwatson@ubuntu.com>
9119
9120 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9121 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9122 disk; otherwise grub_fs_probe will not fall back to the next
9123 filesystem.
9124 (grub_pxefs_open): Likewise, for consistency.
9125 Reported and tested by: Ezekiel Grave.
9126
4ebff753
CW
91272011-05-03 Colin Watson <cjwatson@ubuntu.com>
9128
9129 * tests/partmap_test.in: Don't hardcode path to parted.
9130 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9131
8f942553
CW
91322011-05-01 Colin Watson <cjwatson@ubuntu.com>
9133
9134 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9135 of `ls' to find out which devices are available.
9136
3c62402d
VS
91372011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9140 than source address for efi mmap buffer.
9141
723f63f2
VS
91422011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9145 wrong action on non-detecting the magic.
9146
68797f92
VS
91472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9150 already supplied by another part of the module (fixes compilation on
9151 FreeBSD).
9152
6be8715d
VS
91532011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9156 match the one used by mdadm.
9157
e91dba5b
CW
91582011-04-21 Colin Watson <cjwatson@ubuntu.com>
9159
9160 * po/README: Add instructions for creating po/LINGUAS.
9161
c85140b3
CW
91622011-04-21 Colin Watson <cjwatson@ubuntu.com>
9163
9164 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9165 #551428.
9166
9167 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9168 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9169 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9170 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9171 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9172 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9173 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9174 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9175 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9176 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9177 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9178 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9179 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9180 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9181 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9182 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9183 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9184 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9185 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9186 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9187 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9188 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9189
92051871
CW
91902011-04-21 Colin Watson <cjwatson@ubuntu.com>
9191
9192 * grub-core/kern/emu/getroot.c
9193 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9194 test that was incorrectly reintroduced in r3214.
9195 Reported by: Ian Dall. Fixes Savannah bug #33133.
9196
b13f79a4
CW
91972011-04-21 Colin Watson <cjwatson@ubuntu.com>
9198
9199 Fix stack pointer handling in 16-bit relocator.
9200
9201 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9202 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9203 Fixes Ubuntu bug #683904.
9204
9b710a88
VS
92052011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * configure.ac: Bump version to 1.99~rc2.
9208
d97e7b59
VS
92092011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9212 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9213 * grub-core/lib/x86_64/setjmp.S: Likewise.
9214 * grub-core/lib/mips/setjmp.S: Likewise.
9215 * grub-core/lib/powerpc/setjmp.S: Likewise.
9216 * grub-core/lib/sparc64/setjmp.S: Likewise.
9217
0624551c
VS
92182011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9221 * grub-core/lib/efi/datetime.c: Likewise.
9222
e8f28d4c
VS
92232011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9226 New function.
9227 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9228 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9229 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9230
bba79a15
VS
92312011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9234 bitmap.
9235 (grub_gfxterm_term_init): Likewise.
9236
abc474ef
VS
92372011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 Take into account the decorations the computing menu entry width.
9240
9241 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9242 (grub_gfxmenu_create_box): Register get_border_width.
9243 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9244 if available.
9245 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9246 get_border_width.
9247
e74b3947
EP
92482011-04-18 Endres Puschner <code@e7p.de>
9249
9250 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9251 Don't skip first class.
9252
34faa595
VS
92532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9256 chunks.
9257 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9258
93a777e3
VS
92592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 Complete 64-bit division support.
9262
9263 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9264 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9265 * include/grub/misc.h (grub_divmod64): Rename to ...
9266 (grub_divmod64_full): ... this.
9267 (grub_divmod64): New inline function.
9268
a5102d94
VS
92692011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9272
f3fb7b36
VS
92732011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9276 performing the necessary test.
9277
9ac718b0
VS
92782011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9281 (kfreebsd.elf): Likewise.
9282 (pc-chainloader.elf): Likewise.
9283 (ntldr.elf): Likewise.
9284
50d2cc5a
VS
92852011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 Identify RAID by its UUID rather than (guessed) name.
9288
9289 * grub-core/disk/raid.c (ascii2hex): New function.
9290 (grub_raid_open): Accept mduuid/%s specification.
9291 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9292 (get_mdadm_uuid): ... this.
9293 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9294
e03f7bea
VS
92952011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9298 to negative size.
9299
e74c3112
CW
93002011-04-13 Colin Watson <cjwatson@ubuntu.com>
9301
9302 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9303 btrfs subvolume.
9304 * util/grub.d/20_linux_xen.in: Likewise.
9305
78fa584f
CW
93062011-04-13 Colin Watson <cjwatson@ubuntu.com>
9307
9308 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9309 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9310
9311 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9312 Build a list of relevant visible mounts using the mnt_id and
9313 parent_mnt_id fields, and then scan that list at the end.
9314
9d5f8162
CW
93152011-04-12 Colin Watson <cjwatson@ubuntu.com>
9316
9317 * docs/grub.texi (normal): New section.
9318 (normal_exit): New section.
9319 (Embedded configuration): Add reference to normal.
9320 (GRUB only offers a rescue shell): Likewise.
9321 * docs/grub-dev.texi (Error Handling): Fix typo.
9322
09a9d66f
CW
93232011-04-12 Colin Watson <cjwatson@ubuntu.com>
9324
9325 * NEWS: Drop obsolete entry about probe-only btrfs support.
9326
0c676933
CW
93272011-04-12 Colin Watson <cjwatson@ubuntu.com>
9328
9329 * util/import_gcry.py: Fix typo.
9330
ec9f5e0d
VS
93312011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * NEWS: Add btrfs support.
9334
fe6b2cba
VS
93352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
93362011-04-11 Colin Watson <cjwatson@ubuntu.com>
9337
9338 BtrFS support. Written by me (Vladimir) with important bugfixes and
9339 even more important testing by Colin.
9340
9341 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9342 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9343 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9344 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9345 mem_input_off and mem_input. All users updated to accept in-RAM input.
9346 (gzio_seek): New function.
9347 (test_zlib_header): Likewise.
9348 (grub_gzio_read): Likewise.
9349 (grub_zlib_decompress): Likewise.
9350 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9351 Accept partial and non-virtual mounts.
9352 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9353 avoid receiving /dev/dm-X as device.
9354 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9355 Handle bind and partial mounts.
9356 * grub-core/lib/crc.c: New file.
9357 * include/grub/deflate.h: Likewise.
9358 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9359 proto.
9360 * include/grub/lib/crc.h: New file.
9361
e745cf0c
VS
93622011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 Implement automatic module license checking according to new GNU
9365 guidelines.
9366
9367 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9368 (grub_dl_load_core): Use grub_dl_check_license.
9369 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9370 (GRUB_MOD_LICENSE): Likewise.
9371 (GRUB_MOD_DUAL_LICENSE): Likewise.
9372 All modules updated.
9373
2a9bc016
CW
93742011-04-11 Colin Watson <cjwatson@ubuntu.com>
9375
9376 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9377 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9378 loaders.
9379 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9380
8a3bc88e
VS
93812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9384
af869a4a
VS
93852011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9388 failed.
9389
9ee8d94f
VS
93902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9393 parenthesis in the middle of the filename.
9394
b01abe3e
VS
93952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9398 rather than trying to put initrd way too high.
9399 Reported by: Ryan Lortie <desrt@desrt.ca>
9400
335bda1e
VS
94012011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9404 improperly removed string.
9405
5ca1a64d
VS
94062011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9409 is_disk.
9410 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9411 (open_device) Likewise.
9412 (grub_util_biosdisk_close): Likewise.
d8ce9995 9413 Reported by: Mark Korenberg.
5ca1a64d 9414
cbac5b1e
AK
94152011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9416
9417 * util/grub-mkconfig_lib.in: Add missing quotes.
9418
088cdb65
CW
94192011-04-10 Colin Watson <cjwatson@ubuntu.com>
9420
9421 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9422 is NULL.
9423
8b8a81fa
VS
94242011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 Dynamically count the number of lines for the lower banner.
9427
9428 * grub-core/normal/menu_entry.c (per_term_screen): New member
9429 num_entries.
9430 (print_down): Use num_entries.
9431 (update_screen): Likewise.
9432 (grub_menu_entry_run): Set num_entries.
9433 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9434 num_entries.
9435 (grub_print_message_indented): Move real part to ...
9436 (grub_print_message_indented_real): ... here. Additional argument
9437 dry_run.
9438 (draw_border): Additional argument num_entries.
9439 (print_message): Additional argument dry_run.
9440 (print_entries): Receive menu viewer data.
9441 (grub_menu_init_page): New argment num_entries.
9442 (menu_text_set_chosen_entry): Use num_entries.
9443 (grub_menu_try_text): Likewise.
9444 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9445 All users updated.
9446 (grub_ucs4_count_lines): New function.
9447 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9448 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9449 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9450 (grub_term_border_height): Likewise.
9451 (grub_term_num_entries): Likewise.
9452
277f955b
VS
94532011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9456 Remove now unused string.
9457
536ce85a
CW
94582011-04-09 Colin Watson <cjwatson@ubuntu.com>
9459
9460 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9461 build system.
9462 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9463
9464 (Comment): Fix typo.
9465 (Getting started): General copy-editing.
9466 (Typical Development Experience): Likewise.
9467 (Error Handling): Likewise.
9468 (Video API): Likewise.
9469
2cf09e32
CW
94702011-04-09 Colin Watson <cjwatson@ubuntu.com>
9471
9472 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9473 throughout.
9474
1ec652f4
VS
94752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9478 directory.
9479
2c583728
CW
94802011-04-08 Colin Watson <cjwatson@ubuntu.com>
9481
9482 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9483 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9484 "development".
9485
d7a565e9
VS
94862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9489 grub_strcpy since the lines aren't necessarily 0-terminated.
9490
7c2e4909
VS
94912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9494 root on legacy.
9495
34c09785
VS
94962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9499 (GRUB_MOD_INIT): DEVICE isn't optional.
9500
6a6f8058
VS
95012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9504 word on new line if it's too long anyway. Fixes a hang.
9505
2e335e90
VS
95062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9509 const.
9510 * util/grub-setup.c (main): Reuse md device name if available.
9511 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9512 not GRUB name as argument.
9513 Based on patch by: Florian Wagner <fwagner>.
9514
10a7a867
VS
95152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9518 Place mbi on low memory for better compatibility.
9519
7a3d6cd9
VS
95202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9523
18dd6b47
VS
95242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
95252011-04-08 Colin Watson <cjwatson@ubuntu.com>
9526
9527 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9528 * conf/Makefile.common: Likewise.
18dd6b47 9529
3c0e3f14
VS
95302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9531
f7148863
VS
9532 * grub-core/normal/menu.c: Add missing include.
9533
95342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9537
6d1fa41f
MZ
95382011-04-08 Martin Zuther <mzuther@mzuther.de>
9539
9540 * util/grub-mkconfig.in: Ignore emacsen backup.
9541
478182a8
VS
95422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9545 on open.
9546 (grub_util_biosdisk_close): Likewise.
9547
72a89a54
VS
95482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9551 const attribute and use grub_isdigit.
9552
b5ebecfa
A
95532011-04-06 Andrey <dev_null@ukr.net>
9554
9555 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9556 gcc warning.
9557
7755f66e
VS
95582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9561 useful grub_dprintf's.
9562
461121ff
VS
95632011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9566
2a961775
VS
95672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9570
adf594cc
VS
95712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 Output errors if theme loading failed.
9574
9575 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9576 grub_gfxterm_fullscreen on error paths to ...
9577 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9578 theme loading error.
9579
665900a3
VS
95802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9583 space for older compilers.
9584 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9585
a562b479
VS
95862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9589 and report them as not RAID members since they are useless for GRUB.
9590 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9591
850e9373
VS
95922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 Increase LVM implementation robustness in order not to crash on
9595 configurations like pvmove. Previously code assumed that in some places
9596 only lvs or only pvs are used whereas it seems that they are used
9597 interchangeably.
9598
9599 * grub-core/disk/lvm.c (read_node): New function.
9600 (read_lv): Use read_node.
9601 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9602 Match volumes only at the end when all lvs are found. Take both
9603 pvs (first) and lvs (second) into account.
9604 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9605 mirror_* into node_*. All users updated.
9606 (grub_lvm_stripe): Merge this ...
9607 (grub_lvm_mirror): ... and this ...
9608 (grub_lvm_node): ... into this. All users updated.
9609
6f332153
VS
96102011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9613 of function to allow further scanning for LVMs.
9614
829ea451
VS
96152011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9618 on failed seek as it breaks open fd reusage.
9619
09ceb9a5
VS
96202011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * util/grub-install.in: Add a recommendation to use --recheck before
9623 reporting bugs.
9624
67e11623
VS
96252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9628 are obtained.
9629
caee5efd
VS
96302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 GRUB developper manual based on existing Internals section and
9633 contributions by the various authors with active copyright assignment.
9634
9635 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9636 * docs/font_char_metrics.png: New file.
9637 * docs/font_char_metrics.txt: Likewise.
9638 * docs/grub-dev.texi: Likewise.
9639 * docs/grub.texi (Internals): Move from here ...
9640 * docs/grub-dev.texi: ... here.
9641
2cccc747
CW
96422011-04-01 Colin Watson <cjwatson@ubuntu.com>
9643
9644 Store the loopback device as data on loopback grub_disk structures,
9645 rather than the file it points to. This fixes use of freed memory
9646 if an existing loopback device is replaced.
9647
9648 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9649 disk->data, not dev->file.
9650 (grub_loopback_read): Adjust file assignment to match.
9651 Fixes Ubuntu bug #742967.
9652
186ae367
CW
96532011-04-01 Colin Watson <cjwatson@ubuntu.com>
9654
9655 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9656 when replacing an existing device.
9657
cfed2ad0
VS
96582011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9661 memory corruptions.
9662
9663 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9664 unsigned.
9665 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9666 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9667 (grub_jfs_read_inode): Likewise.
9668 (grub_jfs_opendir): Likewise. Remove now useless casts.
9669 (grub_jfs_getent): Likewise.
9670 Make ino a grub_uint32_t rather than int.
9671 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9672 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9673 division and module with bit operations.
9674 (grub_jfs_find_file): Make ino a grub_uint32_t.
9675 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9676
05d2ed32
CW
96772011-04-01 Colin Watson <cjwatson@ubuntu.com>
9678
9679 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9680 warning. (This was in fact always initialised before use, but GCC
9681 wasn't smart enough to prove that.)
9682 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9683
91dc6073
VS
96842011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9687 stack alignment.
9688 (efi_wrap_1): Likewise.
9689 (efi_wrap_2): Likewise.
9690 (efi_wrap_3): Likewise.
9691 (efi_wrap_4): Likewise.
9692 (efi_wrap_5): Likewise.
9693 (efi_wrap_6): Likewise.
9694 (efi_wrap_10): Likewise.
9695 Based on information by: Red Hat/Peter Jones.
9696
a8afc1d1
CW
96972011-03-31 Colin Watson <cjwatson@ubuntu.com>
9698
9699 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9700 set-but-not-used variable.
9701
a826cc7d
CW
97022011-03-31 Colin Watson <cjwatson@ubuntu.com>
9703
9704 * docs/grub.texi (Simple configuration): Be more explicit about
9705 GRUB_DEFAULT, and add an example.
9706 Reported by: Leslie Rhorer.
9707
875b67ba
CW
97082011-03-30 Colin Watson <cjwatson@ubuntu.com>
9709
9710 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9711 shell".
9712
fd7cd914
AS
97132011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9714
9715 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9716 * util/grub.d/20_linux_xen.in: Likewise.
9717
090b1b6a
VS
97182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * util/grub.d/10_linux.in: Try alternative config filenames where
9721 we parse config file.
9722 * util/grub.d/20_linux_xen.in: Likewise.
9723
baad885c
AS
97242011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9725
9726 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9727 * util/grub.d/20_linux_xen.in: Likewise.
9728
241e41f5
VS
97292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/disk/raid.c (insert_array): Add few potentially
9732 useful grub_util_info.
9733 (grub_raid_register): Likewise.
9734
56445fb2
VS
97352011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9738 Preserve partition number in mdadm code path.
9739
c871b1c6
VS
97402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9743 few potentially useful grub_util_info.
9744
5e631b4f
CW
97452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9748
2d5d0333
CW
97492011-03-30 Colin Watson <cjwatson@ubuntu.com>
9750
9751 * docs/grub.texi (default): Use @example rather than nested
9752 itemized lists to avoid breaking gendocs.
9753
3d7ed04e
CW
97542011-03-30 Colin Watson <cjwatson@ubuntu.com>
9755
9756 * docs/grub.texi (Future): Update.
9757
abf04200 97582011-03-30 Colin Watson <cjwatson@ubuntu.com>
9759
9760 * docs/grub.texi (Environment): New chapter.
9761 (Changes from GRUB Legacy): Link to "Environment block" section for
9762 details of limitations.
9763 (Simple configuration): Likewise. Link to documentation of gfxmode
9764 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9765 respectively.
9766 (Shell-like scripting): Note that normal variables are stored in the
9767 environment.
9768 (gettext): Link to documentation of lang and locale_dir.
9769 (list_env): New section.
9770 (load_env): New section.
9771 (save_env): New section.
9772
9773 (Reporting bugs): Fix typo.
9774
e1ad0edd
VS
97752011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9778 the example.
9779
5d803174
VS
97802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/term/at_keyboard.c (set_scancodes)
9783 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9784
2a2da1d0
CW
97852011-03-30 Colin Watson <cjwatson@ubuntu.com>
9786
9787 * docs/grub.texi (Menu-specific commands): Remove some semantics
9788 that were true in GRUB Legacy but not in GRUB 2.
9789 (submenu): New section.
9790 (false): New section.
9791 (read): New section.
9792 (true): New section.
9793
a7527639
CW
97942011-03-30 Colin Watson <cjwatson@ubuntu.com>
9795
9796 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9797
97982011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9799
9800 * docs/grub.texi (Simple configuration): Explain some of the
9801 current limitations of grub-mkconfig.
8a748df2 9802 Reported by: Leslie Rhorer.
e30af029 9803
fc858482
VS
98042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 Old macs search for boot.efi rather than for bootia32.efi.
9807
9808 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9809 * util/grub-mkrescue.in: Likewise.
9810 Suggested by: Peter Jones.
9811
e1eb511d
VS
98122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9815
70e75364
VS
98162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9819 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9820 (grub_lvm_mirror): New struct.
9821 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9822 (grub_lvm_iterate): Iterate only visible volumes.
9823 (grub_lvm_read): Factor out to ..
9824 (read_lv): ... this. Support mirrors.
9825 (grub_lvm_read): New wrapper function.
9826 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9827 stripped or mirrored.
9828
fc18f6a3
VS
98292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9832
5c650f4c
CW
98332011-03-29 Colin Watson <cjwatson@ubuntu.com>
9834
9835 * docs/grub.texi (loopback): New section.
9836
61d7156b
CW
98372011-03-29 Colin Watson <cjwatson@ubuntu.com>
9838
9839 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9840 removed -p option.
9841
994b8264
CW
98422011-03-29 Colin Watson <cjwatson@ubuntu.com>
9843
9844 * docs/grub.texi (BIOS installation): New section, partly based on
9845 previous text in other sections.
9846 (Installing GRUB using grub-install): Replace BIOS discussion with a
9847 cross-reference.
9848 (Images): Likewise.
9849
9e4d19e0
VS
98502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9853 [HAVE_DIOCGDINFO]: Add safety checks.
9854
a307c0b2
VS
98552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9858 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9859
b4db4f39
CW
98602011-03-29 Colin Watson <cjwatson@ubuntu.com>
9861
9862 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9863 real_sb->size is zero (e.g. RAID-0), get the disk size from
9864 real_sb->data_size instead.
9865 Fixes Ubuntu bug #743136.
9866
35e5f84c
VS
98672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9870 printf clauses for printing size and start.
9871
d2e29d81
VS
98722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9875 Reported and tested by: Timothy Nikkel.
9876
ed5587af
VS
98772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9880 (dirty_region_add_real): ... this.
9881 (dirty_region_add): Don't discard margin refresh when performing
9882 scheduled repaint.
9883
a1dc717c
VS
98842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * grub-core/lib/relocator.c (allocate_regstart)
9887 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9888 terminals are capabple of malloc-free operation.
9889 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9890 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9891
9f3677d3
VS
98922011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9893
9894 * util/grub-setup.c: Copy the partition table zone if floppy support
9895 is disabled, even if no partition table is found.
9896
9897 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9898 during POST if an invalid partition table is contained in the PBR
9899 of the active partition when GRUB is installed to a partition.
9900
24148725
CW
99012011-03-28 Colin Watson <cjwatson@debian.org>
9902
9903 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9904 comment.
9905
f329eda7
CW
99062011-03-28 Colin Watson <cjwatson@debian.org>
9907
9908 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9909 to be specific about what kind of RAID device we're scanning for.
9910
c482ad98
SG
99112011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9912
9913 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9914 return freed string.
9915
5ee04984
VS
99162011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9919
f4727da9
VS
99202011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 Use libgeom on FreeBSD to detect partitions.
9923
9924 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9925 (grub-mkrelpath): Likewise.
9926 (grub-script-check): Likewise.
9927 (grub-editenv): Likewise.
9928 (grub-mkpasswd-pbkdf2): Likewise.
9929 (grub-fstest): Likewise.
9930 (grub-mkfont): Likewise.
9931 (grub-mkdevicemap): Likewise.
9932 (grub-probe): Likewise.
9933 (grub-setup): Likewise.
9934 (grub-ofpathname): Likewise.
9935 (grub-mklayout): Likewise.
9936 (example_unit_test): Likewise.
9937 (grub-menulst2cfg): Likewise.
9938 * grub-core/Makefile.core.def (grub-emu): Likewise.
9939 (grub-emu-lite): Likewise.
9940 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9941 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9942 define HAVE_DIOCGDINFO.
9943 (follow_geom_up) [FreeBSD]: New function.
9944 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9945 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9946 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9947 unconditionally of HAVE_DIOCGDINFO.
9948
82fe6c75
VS
99492011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 Fix FreeBSD compilation problem.
9952
9953 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9954 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9955
4c6c9431
CW
99562011-03-24 Colin Watson <cjwatson@ubuntu.com>
9957
9958 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9959 Switch back to page zero before loading a kernel, since some kernel
9960 drivers expect that.
9961 Thanks to: Felix Kuehling.
9962
c7064d94
VS
99632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9966 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9967 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9968
3f71cded
VS
99692011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9972 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9973
ef6de21a
VS
99742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9977 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9978 malloc is disabled.
9979
8bc66a2c
VS
99802011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9983 for modules headers when counting the needed allocation size.
9984
5657722c
VS
99852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9988 if no ASCII character is found to prevent crash.
9989
41a85f55
AK
99902011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9991
9992 * grub-core/video/bitmap.c (match_extension): Ignore case.
9993
59e1e5f1
VS
99942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9997
bd4d051a
VS
99982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * grub-core/script/parser.y: Declare "time" as valid argument.
10001
bae7fcc1
PJ
100022011-03-23 Peter Jones <pjones@redhat.com>
10003
10004 Fix incorrect assert failure reporting.
10005
10006 * grub-core/tests/example_functional_test.c (example_test): Add
10007 a failure comment.
10008 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10009 (failure_start): ...this. Check that malloc succeeded.
10010 Don't call xvasprintf. Return failure struct.
10011 (failure_append_vtext): New function.
10012 (failure_append_text): Likewise.
10013 (add_failure): Likewise.
10014 (grub_test_assert_helper): Likewise.
10015 * include/grub/test.h (grub_test_assert_helper): New declaration.
10016 (grub_test_assert): Macro rewritten.
10017
537dc9be
VS
100182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10021
fa3e01bf
VS
100222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10025
b1d28404
VS
100262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10029 into GRUB-style one.
10030
2e3e2e09
VS
100312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10034 error and not grub_errno.
10035 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10036
ed57e557
VS
100372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10040 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10041
d1611f01
VS
100422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/efiemu/i386/pc/cfgtables.c
10045 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10046 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10047 (grub_xnu_unlock): Likewise.
10048 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10049
7d4e39d6
VS
100502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10053 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10054 * grub-core/commands/hashsum.c (aliases): Likewise.
10055 * grub-core/commands/setpci.c (pci_registers): Likewise.
10056 * grub-core/disk/usbms.c (attach_hook): Likewise.
10057 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10058 (zio_checksum_table): Likewise.
10059 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10060 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10061 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10062 * grub-core/lib/relocator.c (leftovers): Likewise.
10063 (extra_blocks): Likewise.
10064 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10065 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10066 (modules_last): Likewise.
10067 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10068 (devices): Likewise.
10069 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10070 (modules_last): Likewise.
10071 * grub-core/normal/auth.c (users): Likewise.
10072 * grub-core/normal/context.c (initial_menu): Likewise.
10073 (current_menu): Likewise.
10074 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10075 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10076 (grub_serial_terminfo_input_template): Likewise.
10077 (grub_serial_terminfo_output_template): Likewise.
10078 (grub_serial_terminfo_input): Likewise.
10079 (grub_serial_terminfo_output): Likewise.
10080 (registered): Likewise.
10081 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10082
40fc4659
VS
100832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10086 grub_video_mode_type_t.
10087 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10088 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10089 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10090
2da48d28
VS
100912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * util/grub-install.in: Correct the x86-64 name as x86_64.
10094
9b43bf39
CW
100952011-03-11 Colin Watson <cjwatson@ubuntu.com>
10096
10097 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10098 initial chunk read from the kernel always includes GRUB's multiboot
10099 header, which is now outside the first sector.
10100
be1a7ce0
CW
101012011-03-09 Colin Watson <cjwatson@ubuntu.com>
10102
10103 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10104 cached mmap_size, so that this works correctly when called multiple
10105 times.
10106 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10107
83a3c48d
CW
101082011-03-09 Colin Watson <cjwatson@ubuntu.com>
10109
10110 * docs/grub.texi (Simple configuration): Tidy up formatting.
10111
57d75699
SJ
101122011-03-07 Szymon Janc <szymon@janc.net.pl>
10113
10114 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10115 Set-but-not-used variable removed.
10116
028501a0
VS
101172011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 Workaround yet another IEEE1275 bug.
10120
10121 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10122 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10123 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10124 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10125 is set.
10126 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10127 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10128
d998657d
VS
101292011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10132 error.
10133
fee7cdd4
CW
101342011-02-11 Colin Watson <cjwatson@ubuntu.com>
10135
10136 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10137 empty, since in that case we can only generate either nothing or a
10138 syntactically invalid configuration file.
10139 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10140
97286eb5
CW
101412011-02-09 Colin Watson <cjwatson@ubuntu.com>
10142
10143 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10144 (Making a GRUB bootable CD-ROM): Likewise.
10145 (Invoking grub-mkrescue): New section.
10146 Reported by: Yann Dirson. Fixes Debian bug #612585.
10147
22b28eb3
CW
101482011-02-09 Colin Watson <cjwatson@ubuntu.com>
10149
10150 * util/grub-install.in: Remove unnecessary brackets from tr
10151 arguments.
10152 * util/grub.d/10_hurd.in: Likewise.
10153 * util/grub.d/10_kfreebsd.in: Likewise.
10154 * util/grub.d/10_linux.in: Likewise.
10155 * util/grub.d/20_linux_xen.in: Likewise.
10156 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10157
7e735e43
CW
101582011-02-08 Colin Watson <cjwatson@ubuntu.com>
10159
10160 * include/grub/file.h (not_easly_seekable): Rename to ...
10161 (not_easily_seekable): ... this. Update all users.
10162
800f1881
CW
101632011-01-28 Colin Watson <cjwatson@ubuntu.com>
10164
10165 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10166 grub-mkrescue.
10167
3281d3d6
VS
101682011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * util/grub-mkimage.c (generate_image): Refuse to create the images
10171 bigger than the actual flash (512K) in Loongson machines. 512K is also
10172 the biggest chip supported by them.
10173
3533413c
VS
101742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10177
73ae4f4f
VS
101782011-01-22 Anthony DeRobertis <anthony@derobert.net>
10179
10180 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10181 super_offset field.
10182
37f4f608
VS
101832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * util/grub-install.in: Ignore install device on platforms
10186 where it doesn't make sense. Always use UUIDs except on pc, efi and
10187 sparc64.
10188 Reported by: Daniel Kahn Gillmor.
10189
03a4ccb5
VS
101902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10193
ffc8f4d8
VS
101942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10197 (iterate_real): Don't rely on partition being non-NULL.
10198
80f23be7
VS
101992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10202 supported platforms. Put a compile time assert for this rather than
10203 generate a warning with 32-bit shift.
10204
5d4f4dd5
VS
102052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10208 logical expression more readable.
10209
e489601a
VS
102102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10213 even if some elements have a name.
10214 Reported by: Alexander GQ Gerasiov.
10215
96e0a6ea
CW
102162011-01-22 Colin Watson <cjwatson@ubuntu.com>
10217
10218 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10219 path unreadable if `grub-probe -t abstraction' fails, for example if
10220 memberlist fails on an LVM volume group.
10221 Reported by: Darius Jahandarie.
10222
81431e2b
CW
102232011-01-22 Colin Watson <cjwatson@ubuntu.com>
10224
10225 * docs/grub.texi (Simple configuration): Document
10226 GRUB_PRELOAD_MODULES.
10227
5e79d66a
CW
102282011-01-17 Colin Watson <cjwatson@ubuntu.com>
10229
10230 * .bzrignore: Remove nonexistent grub-pbkdf2.
10231
646ada34
VS
102322011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * configure.ac: Bump version to 1.99~rc1.
10235
04360337
VS
102362011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10239 for safety.
10240
46c9db88
VS
102412011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10244 module.
10245
102462011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10247
10248 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10249
4fbf1852
VS
102502011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10253 diskdevid.
10254
f1632d4d
VS
102552011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 Fix compilation on cygwin.
10258
10259 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10260 -R .drectve on cygwin.
10261 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10262 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10263 (COND_CYGWIN): New condition.
10264 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10265 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10266 not @TARGET_OBJ2ELF@.
10267 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10268 type to determine whether aux is to be used.
10269
0b5e127b
VS
102702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10273 realpath'ed device string.
10274 Handle floppy (somewhat).
10275 Issue error in unknown case rather than garbage.
10276 Reported by: Axel Beckert.
10277
173b71e9
VS
102782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * util/grub.d/00_header.in (load_video): Handle the case when no video
10281 drivers available.
10282 Thanks to: Axel Beckert.
10283
f8f479db
VS
102842011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10287 variable. Fixes problem on big endian platforms.
10288
8fc0a245
VS
102892011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10292 It doesn't work well there.
10293
b8494fbe
VS
102942011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10297 warning.
10298 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10299 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10300 counter.
10301
b44a558c
VS
103022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 Use alias->path rather than buggy "canon".
10305
10306 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10307 (ofdisk_hash_add): New argument curcan. All users updated.
10308
51fa856c
CW
103092011-01-11 Colin Watson <cjwatson@ubuntu.com>
10310
10311 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10312
9da068a5
VS
103132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10316 loadmask before doing any calculations. Use correct type for offset.
10317 (grub_linux_load64): Likewise.
10318
86205c94
CW
103192011-01-11 Colin Watson <cjwatson@ubuntu.com>
10320
10321 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10322 with NULL.
10323 (console_grub_equivalences_unshift): Likewise.
10324 Reported by: Daniel Dehennin.
10325
4531a206
VS
103262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10329 (set_env_limn_ro): Likewise.
10330 (GRUB_MOD_INIT): Likewise.
10331 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10332 ARRAY_SIZE while on it.
10333 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10334 * grub-core/normal/context.c (grub_env_export): Move from here ...
10335 * grub-core/kern/env.c (grub_env_export): ... here.
10336 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10337 prefix.
10338 * grub-core/kern/main.c (grub_main): Export root and prefix.
10339 * include/grub/env.h (grub_env_export): Export.
10340 Reported by: Seth Goldberg.
10341
45146057
VS
103422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10345 Take into account space used by ELF sections and multiboot palette.
10346 Reported by: Grégoire Sutre.
10347
f093110b
VS
103482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * BUGS: New file.
10351
3395fe52
VS
103522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 Pass more appropriate video id to Linux.
10355
10356 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10357 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10358 fill have_vga.
10359 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10360 shift params->lfb_size.
10361 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10362
c2fa6cbb
VS
103632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10366
b3ff6ff0
VS
103672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10370 separator and pass bootpath/devid even if only one of them is available.
10371 Reported by: Seth Goldberg.
10372
ae67942e
VS
103732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10376 implementations bug on them.
10377
10378 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10379 memory.
10380 (filter_memory_map): Likewise.
10381
d570097a
VS
103822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10385 Reported by: nebuchadnezzar.
10386
a508e776
VS
103872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10390 Reported by: nebuchadnezzar.
10391
dcb883b1
VS
103922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 Submenu default support.
10395
10396 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10397 auto_boot. All users updated.
10398 Declared static.
10399 Handle chosen and default with submenus.
10400 (grub_menu_execute_with_fallback): Declared static.
10401 Don't notify failure if autobooted. Upper level does it.
10402 (menuentry_eq): New function.
10403 (get_entry_number): Use menuentry_eq.
10404 (show_menu): New parameter "autobooted". All users updated.
10405 (grub_show_menu): Likewise.
10406 * include/grub/normal.h (grub_show_menu): Likewise.
10407 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10408 (grub_menu_execute_with_fallback): Likewise.
10409
6fef99b4
VS
104102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * util/grub-mklayout.c (usage): Update help text.
10413
47a77af5
VS
104142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10417
ce6bb3ee
VS
104182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * util/grub-menulst2cfg.c (main): Trim the line.
10421
db87be2a
VS
104222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10425 (grub_machine_init): Don't check amount of low memory as reportedly
10426 INT 12h can be broken and if low memory is too low we wouldn't have
10427 gotten into grub_machine_init anyway.
10428
c49849cc
VS
104292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10432 (grub_machine_mmap_iterate): Take low memory into account
10433
b1969b30
VS
104342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10437 badfs.
10438 Reported by: TiCPU.
10439
cf0eaf13
VS
104402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10443 members errors.
10444
1f060f39
GS
104452011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10446
10447 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10448 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10449
a21e5672
GS
104502011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10451
10452 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10453 openbsd and netbsd types being in part_bsd module.
10454
c88172fa
VS
104552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10458 (_FILE_OFFSET_BITS): Likewise.
10459 Reported by: Seth Goldberg.
10460
53798c4b
GS
104612011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10462
10463 * configure.ac: Check for libdevmapper header.
10464
e7121b69
VS
104652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10468 avoid aliasing.
10469 (fzap_lookup): Likewise.
10470 (dnode_get): Likewise.
10471 (make_mdn): Likewise.
10472 (zfs_mount): Likewise.
10473 (fzap_iterate): Use temporary pointer to avoid aliasing.
10474 (grub_zfs_read): Likewise.
10475 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10476 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10477 pointers to avoid aliasing.
10478 (grub_cmd_xnu_kernel64): Likewise.
10479 (grub_xnu_load_driver): Likewise.
10480
fc836af9
VS
104812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10484 aliasing warning.
10485 (grub_cmd_terminal_output): Likewise.
10486 Reported and tested by: Grégoire Sutre.
10487
f9f37648
VS
104882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10491 warning.
10492 Reported and tested by: Grégoire Sutre.
10493
ec1dfd63
VS
104942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * configure.ac: Do CPU substitution even if it's specified explicitly.
10497 Reported and tested by: Alain Greppin.
10498
9462775a
VS
104992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10502 Reported and tested by: Alain Greppin.
10503
0fd48e35
VS
105042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 Satisfy some bison versions need for inttypes.h.
10507
10508 * grub-core/lib/posix_wrap/inttypes.h: New file.
10509 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10510 (int16_t): Likewise.
10511 (int32_t): Likewise.
10512 (int64_t): Likewise.
10513 Reported and tested by: Alain Greppin.
10514
43f1bc83
VS
105152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10518 Silence spurious warning.
10519 Reported and tested by: Alain Greppin.
10520
64d1f041
SJ
105212011-01-07 Szymon Janc <szymon@janc.net.pl>
10522
10523 * docs/grub.texi (Support automatic decompression): Update with xz
10524 decompression support.
10525
25953e10
SJ
105262011-01-07 Szymon Janc <szymon@janc.net.pl>
10527
10528 Improve loaders' kernel command line handling.
10529
10530 * grub-core/lib/cmdline.c: New file.
10531 * include/grub/lib/cmdline.h: Likewise.
10532 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10533 grub_create_loader_cmdline to create kernel command line.
10534 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10535 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10536 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10537 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10538 (linux): Add lib/cmdline.c on common.
10539
e72d259f
VS
105402011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10543 inopos might be unaligned.
10544
c0cf26da
VS
105452011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10548 endian transformations.
10549 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10550 Based on report by: Doug Nazar.
10551
0ca09e6c
DN
105522011-01-07 Doug Nazar <nazard.michi@gmail.com>
10553
10554 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10555 array->members[i].start_sector.
10556 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10557
014b6806
VS
105582011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10561 Reported and tested by: Grégoire Sutre.
10562
415502c2
CW
105632011-01-06 Colin Watson <cjwatson@ubuntu.com>
10564
10565 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10566 avoid causing test failures by clearing the screen.
10567
71b6a2b7
CW
105682011-01-06 Colin Watson <cjwatson@ubuntu.com>
10569
10570 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10571 Fix prefix check to handle the case where dir ends with a slash
10572 (most significantly, "/" itself).
10573 Reported by: Michael Vogt.
10574
b3f8d28a
VS
105752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 Run terminfo_cls on initing terminfo output to clear the screen and
10578 move the cursor to (0,0).
10579
10580 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10581 Call grub_terminfo_output_init.
10582 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10583 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10584 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10585
4c3e4f37
VS
105862011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10589 only when needed.
10590
488f71f1
VS
105912011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10594 CTRL.
10595
18a38098
VS
105962011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 The E820 type 5 is BADRAM, not EXEC_CODE.
10599
10600 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10601 (GRUB_E820_BADRAM): New define.
10602 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10603 into reserved. Propagate BADRAM.
10604 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10605 (GRUB_E820_BADRAM): New define.
10606
9eae2084
VS
106072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10610 Ignore the memory post-4G.
10611 (grub_relocator_firmware_alloc_region): Additional debug statement.
10612
ebc71d28
VS
106132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10616 names.
10617 Reported by: David Pravec.
10618
446fa400
VS
106192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10622 BIOSes.
10623
a0159f37
VS
106242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10625
10626 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10627 Prevent overflow.
10628 (grub_reed_solomon_recover): Likewise.
10629
e5146ca1
VS
106302011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10633
106342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10635
10636 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10637 variable.
10638
5b1bdf12
CW
106392011-01-04 Colin Watson <cjwatson@ubuntu.com>
10640
10641 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10642 descriptions of extract_legacy_entries_source and
10643 extract_legacy_entries_configfile.
10644 Reported by: Seung Soo, Ha.
10645
99d925aa
CW
106462011-01-03 Colin Watson <cjwatson@ubuntu.com>
10647
10648 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10649 on devices that do not implement function 0.
10650
4af0504b
DV
106512011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10652
10653 * grub-core/fs/hfsplus.c: Make parent unsigned.
10654 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10655 overflows.
10656 (grub_hfsplus_cmp_extkey): Likewise
10657
469ee10a
VS
106582011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * util/grub-install.in: Correctly use bootloader_id and not
10661 GRUB_DISTRIBUTOR on efibootmgr line.
10662
323a8e9c
VS
106632011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10666
1b394975
IC
106672010-12-31 Ian Campbell <ijc@hellion.org.uk>
10668
10669 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10670 Xen and reorder menu item wording to make it clearer that this entry
10671 will launch Xen. Print separate messages when loading Xen and
10672 Linux.
10673
275bff5f
VS
106742010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10677 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10678 loop in case of incorrect amiga partmap.
10679
307806cb
VS
106802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10681
10682 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10683 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10684 Reported by:EHeM.
10685
b12b923e
VS
106862010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10689 spurious warning.
10690 Reported by: crocket
10691
14b48a19
VS
106922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10695 Preload EFIemu.
10696 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10697
693db2df
VS
106982010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10701 is loaded
10702 (grub_cmd_xnu_kextdir): Likewise.
10703 (grub_cmd_xnu_splash): Likewise.
10704
c7638645
VS
107052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 Avoid using Reed-Solomon with 0 redundancy.
10708
10709 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10710 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10711 or 0 redundancy.
10712 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10713 (grub_reed_solomon_recover): Likewise.
10714
25dd4780
VS
107152010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 Don't use disk subsystem in freebsd_boot.
10718
10719 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10720 (freebsd_biosdev): Likewise.
10721 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10722 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10723
0b2db943
VS
107242010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 Handling of files of unknown size is currently limited. They can't be
10727 used e.g. for initrd or modules. Moreover gzip handling of not
10728 easily seekable files is buggy. Disable unknown file size for now. May
10729 be inefficient but works.
10730
10731 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10732 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10733
5c408d0f
MP
107342010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10735
10736 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10737 floppy probe.
10738
190a011a
JD
107392010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10740
10741 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10742
022d01b8
SL
107432010-12-25 Shea Levy <shlevy>
10744
10745 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10746
c4855fdc
VS
107472010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10750 Windows Server 2008.
10751 Reported by: Devin Giddings.
10752
0354b867
VS
107532010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10756 writing an error message because of async power management.
10757 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10758 (grub_reboot): Likewise.
10759
ab66c69f
JU
107602010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10761
10762 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10763 keep unit tests from failing when they shouldn't.
10764
1426ef35
CW
107652010-12-21 Colin Watson <cjwatson@ubuntu.com>
10766
10767 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10768 previous patch increased the size of the RS code by 20 bytes (at
10769 least with gcc-4.4), so increase this by 20 bytes to match.
10770 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10771
20641b6b
CW
107722010-12-21 Colin Watson <cjwatson@ubuntu.com>
10773
10774 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10775 scratch area. Make sure to initialise chosen in standalone mode as
10776 well as non-standalone.
10777 Reported by: Robert Hooker and Andy Whitcroft.
10778 Tested by: Andy Whitcroft.
10779
d060ad60
CW
107802010-12-21 Colin Watson <cjwatson@ubuntu.com>
10781
10782 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10783 constructing a new unescaped string and passing it to grub_xputs in
10784 one go, rather than passing characters to grub_printf one at a time.
10785
b889cfad
CW
107862010-12-21 Colin Watson <cjwatson@ubuntu.com>
10787
10788 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10789 initialising utf16.
10790
4e01b6c8
CW
107912010-12-21 Colin Watson <cjwatson@ubuntu.com>
10792
10793 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10794 comment. Add an extra layer of quotation, requiring the output of
10795 this function to be used in a printf format string.
10796 (gettext_printf): New function.
10797 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10798 Extract translatable strings from here-documents and use a temporary
10799 variable instead, so that xgettext can find them.
10800 * util/grub.d/10_kfreebsd.in: Likewise.
10801 * util/grub.d/10_linux.in: Likewise.
10802 * util/grub.d/20_linux_xen.in: Likewise.
10803
10804 * po/grub.d.sed: New file.
10805 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10806 arguments. Set c-format flags on all strings extracted from
10807 util/grub.d/ (xgettext refuses to include these itself for strings
10808 it extracted from a shell file, but these really are c-format).
10809
5318fe98
VS
108102010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10813 Avoid next pointing to nowhere.
10814
6c85b743
VS
108152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10818 rather than assuming than rootblock is exactly in the middle.
10819 (grub_affs_label): Likewise.
10820
a2a08a35
VS
108212010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10824 reserved_first_sector to 0.
10825 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10826 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10827 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10828
7059d1ec
VS
108292010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 Fix handling of UTF-16 UDF labels.
10832
10833 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10834 (read_string): .. here.
10835 (grub_udf_label): Use read_string.
10836
30aff4cb
BC
108372010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10838
10839 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10840 editor under argument scope.
10841 Reported by: Jordan Uggla
10842
5cf86f4b
VS
108432010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10846
32570200
CW
108472010-12-18 Colin Watson <cjwatson@ubuntu.com>
10848
10849 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10850 line, and other keys scroll an entire page (previous handling was
10851 for \r and \n to scroll a page and other keys to scroll two lines).
10852
e1dffcf2
VS
108532010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10856 Set ptrdest to correct get_physical_target_address rather than
10857 incorrect get_virtual_current_address.
10858
b04298cf 108592010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10860
10861 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10862 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10863
5367ecd3
CW
108642010-12-10 Colin Watson <cjwatson@ubuntu.com>
10865
10866 * .bzrignore: Ignore grub-core/rs_decoder.S.
10867
1fb430f8
CW
108682010-12-10 Colin Watson <cjwatson@ubuntu.com>
10869
10870 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10871 .mo/.mo.gz opening sequence to ...
10872 (grub_mofile_open_lang): ... here.
10873 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10874 * util/grub.d/00_header.in (grub_lang): Include country part of
10875 locale.
10876 Reported by: Mario Limonciello.
10877
a94a6671
RM
108782010-12-09 Robert Millan <rmh@gnu.org>
10879
10880 * NEWS: Document addition of ZFS support.
10881
24b7938b
CW
108822010-12-04 Colin Watson <cjwatson@ubuntu.com>
10883
10884 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10885 rather than `/ 2', as the latter requires -Wa,--divide which would
10886 require bumping our minimum binutils version.
10887
bddc3ef6
BC
108882010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10889
10890 * util/grub-script-check.c (main): Print script line number on
10891 error.
10892
bf78d5b2
RM
108932010-12-01 Robert Millan <rmh@gnu.org>
10894
10895 * grub-core/fs/zfs/zfs.c: New file.
10896 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10897 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10898 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10899 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10900
10901 * include/grub/zfs/dmu.h: Likewise.
10902 * include/grub/zfs/dmu_objset.h: Likewise.
10903 * include/grub/zfs/dnode.h: Likewise.
10904 * include/grub/zfs/dsl_dataset.h: Likewise.
10905 * include/grub/zfs/dsl_dir.h: Likewise.
10906 * include/grub/zfs/sa_impl.h: Likewise.
10907 * include/grub/zfs/spa.h: Likewise.
10908 * include/grub/zfs/uberblock_impl.h: Likewise.
10909 * include/grub/zfs/vdev_impl.h: Likewise.
10910 * include/grub/zfs/zap_impl.h: Likewise.
10911 * include/grub/zfs/zap_leaf.h: Likewise.
10912 * include/grub/zfs/zfs.h: Likewise.
10913 * include/grub/zfs/zfs_acl.h: Likewise.
10914 * include/grub/zfs/zfs_znode.h: Likewise.
10915 * include/grub/zfs/zil.h: Likewise.
10916 * include/grub/zfs/zio.h: Likewise.
10917 * include/grub/zfs/zio_checksum.h: Likewise.
10918
10919 * Makefile.util.def: Build ZFS into libgrubmods.
10920 * grub-core/Makefile.core.def: Build zfs.mod.
10921
3f0f3831
SJ
109222010-11-30 Szymon Janc <szymon@janc.net.pl>
10923
10924 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10925 variable.
10926 * grub-core/commands/wildcard.c (match_files): Likewise.
10927
3a4253b2
RM
109282010-11-30 Robert Millan <rmh@gnu.org>
10929
10930 * grub-core/loader/i386/bsd.c
10931 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10932 whether kernel is loaded using grub_loader_is_loaded(), rather
10933 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10934 certain error conditions.
10935
8c317b27
RM
109362010-11-30 Robert Millan <rmh@gnu.org>
10937
c5c9cd3e
RM
10938 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10939 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10940
49d3ab46
VS
109412010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 Avoid using tricks for initialising endian variables.
10944
10945 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10946 Make const.
10947 (GRUB_MOD_INIT): Don't byte-swap.
10948 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10949 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10950 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10951 (grub_swap_bytes32_compile_time): Likewise.
10952 (grub_cpu_to_le32_compile_time): Likewise.
10953 (grub_cpu_to_le16_compile_time): Likewise.
10954
f420a804
VS
109552010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * util/grub-setup.c (setup): Stop recommending --force. People who
10958 understand the dangers of blocklists are able to find this option
10959 anyway and the ones who don't shouldn't use it anyway.
10960
4e7db17b
RM
109612010-11-26 Robert Millan <rmh@gnu.org>
10962
10963 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10964 Update all users.
10965
9be57a0d
CW
109662010-11-26 Colin Watson <cjwatson@ubuntu.com>
10967
10968 Fix LVM-on-RAID probing.
10969
10970 * util/grub-probe.c (probe): Remember which disk was detected as
10971 RAID (perhaps an LVM physical volume). Use that disk's raidname
10972 rather than that of the top-level disk.
10973
2c7859b3 109742010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10975
d7647bb6
BC
10976 Fix cmdline argument quotes for setparams command of menuentry
10977 definitions.
7e623b0d
BC
10978
10979 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10980 quotes for arguments.
f866fe80 10981 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10982 grub_strchrsub function instead.
f866fe80 10983
7955bea0 10984 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10985
74f72a64
CW
109862010-11-24 Colin Watson <cjwatson@ubuntu.com>
10987
10988 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10989 effort by skipping "." and ".." entries up-front.
10990 Suggested by: Michael Lazarev.
10991
5a407278
CW
109922010-11-24 Colin Watson <cjwatson@ubuntu.com>
10993
10994 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10995 ldflags to ldadd, to fix link line ordering.
10996 (none_decompress): Likewise.
10997
3030d8ec
CW
109982010-11-24 Colin Watson <cjwatson@ubuntu.com>
10999
11000 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11001 platforms.
11002 (grub-emu-lite): Remove kern/emu/cache.S.
11003
b7fbac12
CW
110042010-11-23 Colin Watson <cjwatson@ubuntu.com>
11005
11006 * util/deviceiter.c (compare_devices): If the by-id link for a
11007 device couldn't be resolved, fall back to sorting by the by-id link
11008 rather than segfaulting.
11009 Reported and tested by: Daniel Mierswa.
11010
5225f328
CW
110112010-11-23 Colin Watson <cjwatson@ubuntu.com>
11012
11013 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11014 ldflags, to fix link line ordering.
11015
038b3ce8
CW
110162010-11-23 Colin Watson <cjwatson@ubuntu.com>
11017
11018 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11019 linkers are picky about this.
11020
bf16e98e
CW
110212010-11-23 Colin Watson <cjwatson@ubuntu.com>
11022
11023 * grub-core/Makefile.am (command.lst): Adjust sed expression
11024 ordering so that extended and priority commands aren't treated as
11025 ordinary commands.
11026
7242bab6
CW
110272010-11-23 Colin Watson <cjwatson@ubuntu.com>
11028
11029 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11030 Remove byte-swapping function calls, which are not valid in
11031 structure initialisers.
11032 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11033 non-const.
11034 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11035 grub_gpt_partition_type_bios_boot.
11036
14e8b279
CW
110372010-11-22 Colin Watson <cjwatson@ubuntu.com>
11038
11039 Fix test program build on GNU/kFreeBSD.
11040
11041 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11042 $(LIBNVPAIR)' library dependencies.
11043
e6f63338 110442010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11045
11046 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11047
cf8ffc38
CW
110482010-11-22 Colin Watson <cjwatson@ubuntu.com>
11049
11050 * util/grub-install.in: Remove excessive quoting that broke
11051 installations to RAID devices.
11052
7f8b0fd7
VS
110532010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11056 bootloader version instead of 0.
11057
dfd240b1
VS
110582010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11061 warning.
11062
7b61e609
VS
110632010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11066 retrieve the metadat sector if size isn't known.
11067 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11068
9dfe92d0
RM
110692010-11-18 Robert Millan <rmh@gnu.org>
11070
11071 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11072 with grub_memcmp().
11073
41cc919e
VS
110742010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11077 arrow.
11078 Reported by: Jordan Uggla.
11079
1afcc914
VS
110802010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 Make better UTF compliant.
11083
11084 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11085 sequences as incorrect.
11086 (grub_is_valid_utf8): Likewise.
11087 (grub_utf8_to_ucs4): Likewise.
11088 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11089 (grub_ucs4_to_utf8_alloc): Likewise.
11090 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11091
f1808884
VS
110922010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 Make legacy_source behave like source.
11095
11096 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11097 grub_show_menu.
11098 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11099
24ec575b
CW
111002010-11-16 Colin Watson <cjwatson@debian.org>
11101
11102 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11103 (-Wunused implies -Wunused-parameter, but not vice versa).
11104
72b7c7aa
CW
111052010-11-16 Colin Watson <cjwatson@ubuntu.com>
11106
11107 * configure.ac: Make error messages less confusing by testing for
11108 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11109 accepted, but produces a diagnostic if something else is wrong).
11110
e98937aa
VS
111112010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11114 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11115 (now unused).
11116 (grub_keyboard_controller_init)
11117 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11118 read the initial state since controller isn't inited yet.
11119
f6bbabc3
VS
111202010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11123 allocate_regbeg may need to create new chunk header.
11124
22e7dbb2
VS
111252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 Fix quoting in legacy parser.
11128
11129 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11130 single quotes.
11131 (grub_legacy_parse): Likewise.
11132 Reported by: Jordan Uggla.
11133 Tested by: Jordan Uggla.
11134
03f80960
VS
111352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 Don't add -lgcc on i386 and x86_64.
11138
11139 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11140 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11141 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11142
779dc15b
VS
111432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * configure.ac: Add -Wno-trampolines when supported.
11146
d20a3b37
MV
111472010-11-14 Modestas Vainius <modax@debian.org>
11148
11149 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11150 fakeraid.
11151
e5360933
GC
111522010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11153
11154 Add generic logical block size support for UDF.
11155
11156 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11157 (GRUB_UDF_BLKSZ): Removed.
11158 (struct grub_udf_data): New field "lbshift" to hold the logical block
11159 size of the file system in log2 format. All users updated.
11160 (sblocklist): Change type to unsigned.
11161 (grub_udf_mount): Change type of "sblklist" to unsigned.
11162 Move AVDP search before VRS recognition, because the latter requires
11163 knowledge of the logical block size, which is detected during the
11164 former.
11165 Detect and validate logical block size during AVDP search, adding
11166 support for block sizes 512, 1024 and 4096.
11167 Make VRS recognition independent of block size.
11168
cb0229c5
GC
111692010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11170
11171 Properly handle deleted files on UDF.
11172
11173 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11174 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11175 set.
11176
406858a8
GC
111772010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11178
11179 Support reading files larger than 2 GiB.
11180
11181 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11182 "offset" to grub_off_t.
11183 (grub_udf_read_file): Likewise for parameter "pos".
11184
130da6a7
VS
111852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11188 unavailable.
11189 (Simple configuration): Refer to Changes from GRUB Legacy about
11190 save_env availability.
11191
65e93f6b
VS
111922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * util/grub-install.in: Ignore empty partition table detection
11195 instead of trying to include part_ module.
11196
1fd08bf1
VS
111972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11200 LVM on RAID support.
11201
de1a024f
VS
112022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 Properly define WORDS_BIGENDIAN in wrapped environments.
11205
11206 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11207 definition.
11208 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11209
11210 Reported by: Manoel Rebelo Abranches.
11211 Tested by: Manoel Rebelo Abranches.
11212
bc5dd0b9
VS
112132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * util/grub-mkconfig.in: Fix quoting.
11216
58c184be
VS
112172010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 Support big ext2 files.
11220
11221 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11222 (grub_ext2_read_block): Support triple indirect blocks.
11223 (grub_ext2_read_file): Use 64-bit types and read size_high.
11224 (grub_ext2_open): Read size_high.
11225 Reported by: Ximin Luo.
11226 Tested by: Manoel Rebelo Abranches.
11227
5f0c02b3
VS
112282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * util/grub-install.in: Handle filenames containing spaces.
11231 Reported by: Jordan Uggla.
11232 Tested by: Jordan Uggla.
11233
4417aae6
VS
112342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 * util/grub-mkconfig.in (grub_script_check): New variable.
11237 Use grub_script_check instead of grub-script-check.
11238 Reported by: Barry Jackson.
11239
7625a68e
VS
112402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * docs/grub.texi (menu): Correct the order.
11243 Reported by: D. Hugh Redelmeier.
11244
10001ac5
VS
112452010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11248 jump.
11249
9c4cf53b
MRA
112502010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11251
10001ac5
VS
11252 * include/grub/elfload.h (grub_elf32_size): New parameter.
11253 All users updated.
9c4cf53b
MRA
11254 Return maximum segments alignment.
11255 (grub_elf64_size): Likewise.
11256 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11257 Return maximum segments alignment.
11258 (grub_elf64_size): Likewise.
11259 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11260 (grub_linux_claimmap_iterate): New function. Uses the
11261 "available" property in the "memory" node for memory allocation
11262 for kernel in the PowerPC loader.
9c4cf53b
MRA
11263 (grub_linux_load32): Correctly find linux entry point offset.
11264 (grub_linux_load64): Likewise.
11265
d2bf06bf
RM
112662010-11-07 Robert Millan <rmh@gnu.org>
11267
11268 On mips-yeeloong, build with -march=loongson2f when this flag is
11269 available (GCC >= 4.4).
11270 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11271 `-march=mips3'.
11272 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11273 or otherwise add -march=mips3.
11274
898c99a2
BC
112752010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11276
87220a68
BC
11277 Suppress shell expansion on echo '*' and echo "*" like cases.
11278 Reported by: Jordan Uggla.
898c99a2
BC
11279
11280 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11281 string arguments before shell expansion.
11282 * tests/grub_cmd_echo.in: New testcases.
11283
4f9b406a
RM
112842010-11-07 Robert Millan <rmh@gnu.org>
11285
11286 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11287 transition.
11288
80c6d25e
VS
112892010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * grub-core/kern/emu/hostdisk.c
11292 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11293
4a1a0153
VS
112942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11297 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11298 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11299
34706ddc
VS
113002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11303
6972dea9
VS
113042010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * util/grub-install.in: Replace useless recomendation to pass
11307 --modules with a recomendation to report a bug.
11308
9c693bd6
VS
113092010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 Properly register serial terminfo.
11312 Reported by: Jordan Uggla
11313
11314 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11315 const.
11316 (grub_serial_terminfo_output_template): Likewise.
11317 (grub_cmd_serial): Register "serial" with terminfo.
11318 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11319 grub_serial_terminfo_output.
11320
6c9e4c0c
RM
113212010-11-05 Robert Millan <rmh@gnu.org>
11322
11323 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11324 needed).
11325
b9b3839f
RM
113262010-11-05 Robert Millan <rmh@gnu.org>
11327
11328 On Yeeloong, pass machine type information to Linux.
11329
11330 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11331 (LOONGSON_MACHTYPE): New macro, set to
11332 "machtype=lemote-yeeloong-2f-8.9inches".
11333 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11334 additional argument to Linux.
11335
1a3aaff4
RM
113362010-11-04 Robert Millan <rmh@gnu.org>
11337
11338 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11339 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11340 (its SATA disks are detected as slaveless IDE master drives on
11341 kFreeBSD).
11342 Reported by Carsten Aulbert.
11343
a75f4f62
CW
113442010-11-02 Colin Watson <cjwatson@ubuntu.com>
11345
11346 * util/bin2h.c (main): Fix spelling error in generated output.
11347
33b4b0c6
GS
113482010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11349
11350 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11351
2b36fbf4
VS
113522010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11355 vga= option is supplied.
11356
74aaf558
VS
113572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11360 * util/grub.d/10_kfreebsd.in: Likewise.
11361 * util/grub.d/10_linux.in: Likewise.
11362 * util/grub.d/20_linux_xen.in: Likewise.
11363
6428dec3
VS
113642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11367 argument as an argument to no-argument option.
11368
f8729d98
VS
113692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * util/grub.d/10_linux.in: Add missing load_video with explicit
11372 GRUB_GFXPAYLOAD_LINUX.
11373
89d68fa6
VS
113742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11377
3a1197cd
VS
113782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11381 elements with invlid index.
11382 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11383 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11384 members.
11385 * include/grub/raid.h (grub_raid_member): New struct.
11386 (grub_raid_array): Transform devices and start_sector into usage of
11387 grub_raid_member. All users updated
11388 (allocated_devs): New member.
11389
71574288
VS
113902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11393 is modified
11394
8d40ec65
BC
113952010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11396
11397 NetBSD build fix for getline function conflict from gnulib.
11398
11399 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11400 components that depend on gnulib headers.
11401 (libgrubmods.a): Renamed from earlier libgrub.a.
11402 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11403
95b9257e
VS
114042010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11407 install rather than creating a broken install.
11408
26c53dc6
VS
114092010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * util/grub-setup.c (argp): Remove misleading example of installing to
11412 a partition.
11413
4171b3c5
VS
114142010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * util/grub-setup.c (setup): Clarify the error message.
11417
18568d18
VS
114182010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11421
4f6a2e21
VS
114222010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/kern/emu/misc.c
11425 (grub_make_system_path_relative_to_its_root)
11426 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11427
114282010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11429
11430 * grub-core/kern/emu/misc.c
11431 (grub_make_system_path_relative_to_its_root): Revert r2882.
11432
e138c458
VS
114332010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11436 useless field head. All users updated.
11437 (free_subchunk): Correct handling of IN_REGION subchunk.
11438
0cbcdf0e
CW
114392010-10-22 Colin Watson <cjwatson@ubuntu.com>
11440
11441 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11442 (Supported kernels): Likewise.
11443
b65ea155
GS
114442010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11445
11446 Make mktemp invocations portable.
11447
11448 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11449 exit if mktemp fails.
11450 * tests/grub_script_blockarg.in: Likewise.
11451 * tests/partmap_test.in: Likewise.
11452 * tests/util/grub-shell-tester.in: Likewise.
11453 * tests/util/grub-shell.in: Likewise.
11454 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11455 * Makefile.am: Likewise, and chain shell commands with `&&'
11456 instead of ';'.
11457 * util/grub-mkrescue.in: Use the same explicit template as above, and
11458 exit if mktemp fails.
11459
05f43cdd
BC
114602010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11461
11462 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11463 Linux kernel, reported by Dennis Schridde.
11464
800e6a9b
SJ
114652010-10-17 Szymon Janc <szymon@janc.net.pl>
11466
11467 * grub-core/normal/auth.c (grub_auth_check_authentication):
11468 Set-but-not-used variable removed.
11469
d82df574
VS
114702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11473 32-bit linux protocol.
11474
7bced458
VS
114752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11478 cursor shape for sanity.
11479
5b027690
VS
114802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * docs/grub.texi (Installation): Document buggy BIOS install.
11483
ba5f65cf
VS
114842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * docs/grub.texi (Installation): Indent.
11487
fdf2ec9c
VS
114882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 * util/grub-setup.c (setup): New parameter allow_floppy.
11491 (arguments): New member allow_floppy.
11492 (argp_parser): Handle --allow-floppy.
11493 (main): Pass allow_floppy.
11494 * util/grub-install.in: New option --allow-floppy passed though to
11495 grub-setup.
11496
861dfd4c
VS
114972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * util/grub-install.in: Handle partitionless disks.
11500
f77a8c24
VS
115012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 * util/grub-setup.c (setup): Don't clean blocklists before readability
11504 verfification.
11505
27d9ee32
VS
115062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 * docs/grub.texi (Installation): Document embedding zone. Remove
11509 obsolete grub-install example.
11510
6bdda8f8
SJ
115112010-10-16 Szymon Janc <szymon@janc.net.pl>
11512
11513 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11514 Set-but-not-used variable ifdef'ed.
11515 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11516 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11517 variable removed.
11518 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11519 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11520 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11521 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11522 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11523 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11524 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11525 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11526 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11527 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11528 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11529 Likewise.
11530
e19b016b
VS
115312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11534 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11535 enum value.
11536
6c8d3002
VS
115372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11540 synonym to _S5_. Needed for some DSDTs.
11541
c32b51c9
VS
115422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 Userspace ACPI parser debugging.
11545
11546 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11547 headers and add relevant defines. Don't include standard headers.
11548 (main) [GRUB_DSDT_TEST]: New function.
11549 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11550 Don't declare functions.
11551
fbfbeb39
VS
115522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 Remove dead grub_efi_mm_fini.
11555
11556 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11557 (ALLOCATED_PAGES_SIZE): Likewise.
11558 (MAX_ALLOCATED_PAGES): Likewise.
11559 (allocated_pages): Likewise.
11560 (grub_efi_allocate_pages): Don't record allocated pages.
11561 (grub_efi_free_pages): Likewise.
11562 (grub_efi_mm_init): Likewise.
11563 (grub_efi_mm_fini): Removed.
11564
65f7ed7c
VS
115652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11568 (grub_efi_mm_init): Take into account the memory map size increase.
11569
24977b44
VS
115702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11573 (serial_hw_put): Wait based on real time rather than port reads. Don't
11574 roken ports.
11575 * include/grub/serial.h (grub_serial_port): New field broken.
11576
1eb01cd2
RM
115772010-10-16 Robert Millan <rmh@gnu.org>
11578
11579 * grub-core/kern/emu/misc.c
11580 (grub_make_system_path_relative_to_its_root): Fix premature return
11581 when processing non-root ZFS filesystems.
5f8b440b 11582 Reported by Sergio Talens-Oliag.
1eb01cd2 11583
2d5fed60
RM
115842010-10-15 Robert Millan <rmh@gnu.org>
11585
11586 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11587 guarantee compressed ones are processed first.
11588
d0f4c1ea
VS
115892010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11592 grub_efiemu_autocore.
11593
d87c681f
VS
115942010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11597 rather than 0x1b.
11598 (grub_console_getkey): Use correct jae opcode rather than ja.
11599
219b3564
RM
116002010-10-12 Robert Millan <rmh@gnu.org>
11601
11602 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11603 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11604 variable. All references updated.
11605
11606 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11607
20c6bb7e
VS
116082010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 Correctly distinguish mdraid flavours.
11611
11612 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11613 (insert_array): New argument raid.
11614 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11615 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11616 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11617
74baff84
VS
116182010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11621 handling of special keys.
11622
3ef068df 116232010-10-02 Aleš Nesrsta <starous@volny.cz>
11624
c7980ad9
VS
11625 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11626 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11627
a9455194 116282010-10-02 Aleš Nesrsta <starous@volny.cz>
11629
c7980ad9
VS
11630 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11631 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11632 users updated.
a9455194 11633 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11634 Use right endpoint when querying descriptor.
a9455194 11635
441cfe65
VS
116362010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 Clear out 0x80 color bit on EFI.
11639 Tested by: decoder
11640 Reported by: decoder and meta tech.
11641
11642 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11643 (grub_console_setcolorstate): Clear out 0x80 bit.
11644 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11645 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11646 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11647
bf26bcc4
VS
116482010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11651 Set to "auto".
11652
6e3c515d
VS
116532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11656 mo_file after freeing.
11657
e6d983ba
VS
116582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11661
74ccb5b5
VS
116622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11665 flags.
11666
17821956
VS
116672010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11668
11669 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11670 usage.
11671
ee74fa48
VS
116722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11675
11676 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11677 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11678 and terminfo.h when needed.
11679 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11680 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11681 (terminfo): Enable only on terminfokernel.
11682 (extcmd): Likewise.
11683 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11684 * include/grub/lib/arg.h: Likewise.
11685 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11686 incorrect usage of ->.
11687
aa438e68
VS
116882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11691 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11692
57994012
VS
116932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 Fix coreboot compilation.
11696
11697 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11698 Take VBE info into account even if only text is supported.
11699 (fill_vbe_info): Take into account the case when only VGA text
11700 is supported.
11701 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11702 on coreboot, multiboot and qemu.
11703
2a406611
VS
117042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11707 debug messages.
11708 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11709
d33613fc
VS
117102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11713 parameters.
11714
44a1b432
VS
117152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11718 if they were BSD-style.
11719
edde54e6
VS
117202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * grub-core/boot/i386/pc/lnxboot.S: Replace
11723 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11724 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11725
b65830fa
VS
117262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 Write embedding zone using Reed-Solomon.
11729
11730 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11731 * grub-core/Makefile.am (rs_decoder.S): New target.
11732 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11733 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11734 (multiboot): Move to RS part.
11735 (post_reed_solomon): New label.
11736 (grub_boot_drive): Move to non-RS part since it's modified in memory
11737 on boot.
11738 Include rs_decoder.S.
11739 * grub-core/lib/reed_solomon.c: New file.
11740 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11741 New definition.
11742 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11743 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11744 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11745 * include/grub/partition.h (grub_partition_map): Change prototype of
11746 embed to allow returning additional sectors.
11747 * include/grub/reed_solomon.h: New file.
11748 * util/grub-setup.c (setup): Handle Reed-Solomon.
11749
0b4b227f
CW
117502010-09-28 Colin Watson <cjwatson@ubuntu.com>
11751
11752 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11753 i386 and x86-64 definedness tests.
11754
f772623b
YB
117552010-09-27 Yves Blusseau <blusseau@zetam.org>
11756
11757 Fix generation of kernel_syms.lst
11758
11759 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11760 ASM_PREFIX
11761
8e57a6ca
RM
117622010-09-26 Robert Millan <rmh@gnu.org>
11763
11764 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11765
11766 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11767 the pool is an array of devices, iterate through it and return the
11768 first device that passes a stat() test (instead of blindly returning
11769 the first one).
11770
f9130836
RM
117712010-09-26 Robert Millan <rmh@gnu.org>
11772
11773 Build fixes for GNU/kFreeBSD.
11774
11775 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11776 to programs that require ZFS conversion.
11777 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11778 kernels that don't have FLOPPY_MAJOR.
11779
96510faf
BC
117802010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11781
11782 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11783
449333eb
BC
117842010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11785
11786 Fix grub-emu build.
11787
11788 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11789 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11790 mdraid09 and mdraid1x.
11791
e1fd1939
CW
117922010-09-24 Colin Watson <cjwatson@ubuntu.com>
11793
11794 Re-enable grub-extras.
11795
11796 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11797 avoid confusing Automake. Run autogen only twice, once for the top
11798 level and once for grub-core. Add Makefile.util.def and
11799 Makefile.core.def from extra modules to the appropriate autogen
11800 invocations. If Makefile.common exists in an extra module, include
11801 it in both Makefile.util.am and grub-core/Makefile.core.am;
11802 similarly, include any Makefile.util.common file in Makefile.util.am
11803 and any Makefile.core.common file in grub-core/Makefile.core.am.
11804 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11805 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11806 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11807 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11808
11809 * gentpl.py (gvar_add): Turn GVARS into a set.
11810 (global_variable_initializers): Sort global variables on output.
11811 (vars_init): New function.
11812 (first_time): Likewise.
11813 (library): Ensure that non-global variable initialisations are
11814 emitted before the first time we emit code for a library block.
11815 Append to variables rather than setting them. Only emit
11816 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11817 each conditional path.
11818 (program): installdir() emits an Autogen macro, so must be passed to
11819 var_add rather than gvar_add.
11820 (data): Likewise.
11821 (script): Likewise.
11822 (rules): New function, centralising handling for different target
11823 types. Set up Guile association lists for first_time and vars_init,
11824 and send most output to a diversion so that variable initialisations
11825 can be emitted first.
11826 (module_rules): Use new rules function.
11827 (kernel_rules): Likewise.
11828 (image_rules): Likewise.
11829 (library_rules): Likewise.
11830 (program_rules): Likewise.
11831 (script_rules): Likewise.
11832 (data_rules): Likewise.
11833
11834 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11835
11836 * .bzrignore: Add contrib and grub-core/contrib. Remove
11837 grub-core/Makefile.gcry.am.
11838
1d12cf29
YB
118392010-09-24 Yves Blusseau <blusseau@zetam.org>
11840
11841 * grub-core/lib/LzFind.c: Add missing include.
11842 * grub-core/lib/LzmaEnc.c: Likewise.
11843 * grub-core/script/lexer.c: Likewise.
11844 * grub-core/script/yylex.l: Likewise.
11845 * util/grub-macho2img.c: Likewise.
11846 * util/grub-menulst2cfg.c: Likewise.
11847 * util/grub-mklayout.c: Likewise.
11848 * util/grub-mkpasswd-pbkdf2.c
11849 * util/grub-mkrelpath.c: Likewise.
11850 * util/resolve.c: Likewise.
11851
dd363028
BC
118522010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11853
11854 * Makefile.util.def (example_unit_test): Add
11855 grub-core/gnulib/libgnu.a.
11856
f5a109e2
GS
118572010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11858
11859 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11860
6d0fa83c
VS
118612010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 Support xz compression on yeeloong.
11864
11865 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11866 * configure.ac: Check for LZMA.
11867 * grub-core/Makefile.core.def (xz_decompress): New target.
11868 (none_decompress): Likewise.
11869 * grub-core/boot/decompressor/minilib.c: New file.
11870 * grub-core/boot/decompressor/none.c: Likewise.
11871 * grub-core/boot/decompressor/xz.c: Likewise.
11872 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11873 * grub-core/kern/mips/cache_flush.S: Likewise.
11874 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11875 * grub-core/kern/mips/startup.S: Move first stage to ...
11876 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11877 nomacro.
11878 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11879 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11880 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11881 Allocate statically.
11882 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11883 Allocate statically or use scratch. Don't check CRC32.
11884 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11885 Allocate statically. Don't check CRC32.
11886 * include/grub/decompressor.h: New file.
11887 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11888 Removed.
11889 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11890 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11891 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11892 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11893 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11894 * util/grub-mkimage.c (grub_compression_t): New type.
11895 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11896 (image_target_desc): New field default_compression.
11897 (image_targets): Adjust yeeloong targets.
11898 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11899 (compress_kernel): New parameter comp.
11900 (generate_image): Likewise. Handle new compression case.
11901 (options): New option --compression
11902 (help): Likewise.
11903 (main): Handle new option.
11904
1b655af6
GS
119052010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11906
11907 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11908
8f03f0b5
CW
119092010-09-22 Colin Watson <cjwatson@ubuntu.com>
11910
11911 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11912 typo in __i386__ conditional.
11913
7835dfd3
VS
119142010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11917 include.
11918
e255597e
VS
119192010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11920
6d0fa83c 11921 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11922
11923 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11924 new tags as supported.
11925 (acpiv2_size): New function.
11926 (grub_multiboot_get_mbi_size): Take new tags into account.
11927 (grub_multiboot_make_mbi): Add new tags.
11928 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11929
6cc14051 119302010-09-21 Aleš Nesrsta <starous@volny.cz>
11931
11932 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11933 Added missing configuration of USB device.
11934
df7769d8
CW
119352010-09-21 Colin Watson <cjwatson@ubuntu.com>
11936
11937 * grub-core/normal/menu_entry.c (run): Make sure we always return
11938 a value.
11939
b031012d
CW
119402010-09-21 Colin Watson <cjwatson@ubuntu.com>
11941
11942 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11943 NumberOfPages is UINT64 according to the UEFI specification, not
11944 UINTN. Fix printf format.
11945
174de8f3
CW
119462010-09-21 Colin Watson <cjwatson@ubuntu.com>
11947
11948 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11949 `err' to grub_usb_err_t.
11950 Reported and tested by: KESHAV P.R.
11951
d7dbe923
CW
119522010-09-21 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11955 tpart non-const, so that we can assign to it. (Since this is a
11956 typedef, the constness refers to the pointer rather than what it
11957 points to.)
11958
8d5e2af3
CW
119592010-09-21 Colin Watson <cjwatson@ubuntu.com>
11960
11961 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11962 $(top_srcdir)/grub-core/gnulib as well as
11963 $(top_builddir)/grub-core/gnulib.
11964 Reported by: KESHAV P.R.
11965
5c527783
CW
119662010-09-21 Colin Watson <cjwatson@ubuntu.com>
11967
11968 * util/grub-install.in: Fix the bootloader ID option to be
11969 consistently --bootloader-id, not --bootloader_id.
11970 Reported by: KESHAV P.R.
11971
d309a16e
CW
119722010-09-21 Colin Watson <cjwatson@ubuntu.com>
11973
11974 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11975 check hash checksum." consistently translatable.
11976
b830cd16
YB
119772010-09-21 Yves Blusseau <blusseau@zetam.org>
11978
11979 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11980 $(top_builddir).
11981
c4fe27a8
CW
119822010-09-21 Colin Watson <cjwatson@ubuntu.com>
11983
11984 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11985 (GRUB_MOD_INIT): Register sha1sum command.
11986 (GRUB_MOD_FINI): Unregister sha1sum command.
11987
a4c1d277
YB
119882010-09-21 Yves Blusseau <blusseau@zetam.org>
11989
11990 Keep boot and grub directory names in sync with utils scripts
11991
11992 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11993 * config.h.in: Add previous macros.
11994 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11995 * util/grub-install.in: Use $bootdir and $grubdir variables.
11996
4eff79d2
CW
119972010-09-21 Colin Watson <cjwatson@ubuntu.com>
11998
11999 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12000 convert partition names to disk names if the new `convert' parameter
12001 is set.
12002 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12003 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12004 disk in its own right. This can happen with Xen disk images.
12005
934d7e44
YB
120062010-09-21 Yves Blusseau <blusseau@zetam.org>
12007
12008 * util/grub-editenv.c: Update strings to avoid warnings when generating
12009 grub.pot file.
12010 * util/grub-setup.c: Likewise.
934d7e44 12011
df3367cc
VS
120122010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * configure.ac: Change version to 1.99~beta0.
12015
77a94e98
VS
120162010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12019 Add BADRAM.
12020 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12021 Likewise.
12022 * include/multiboot.h: Resynced with specification.
12023 * include/multiboot2.h: Likewise.
12024
269004c1
CW
120252010-09-21 Colin Watson <cjwatson@ubuntu.com>
12026
12027 Fix po directory handling.
12028
12029 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12030 * grub-core/gnulib/Makefile.am: Import gettext module.
12031 * m4/gnulib-cache.m4: Likewise.
12032 * m4/gnulib-comp.m4: Likewise.
12033 * m4/gettext.m4: New file, from gnulib.
12034 * m4/glibc2.m4: Likewise.
12035 * m4/iconv.m4: Likewise.
12036 * m4/intdiv0.m4: Likewise.
12037 * m4/intl.m4: Likewise.
12038 * m4/intldir.m4: Likewise.
12039 * m4/intlmacosx.m4: Likewise.
12040 * m4/intmax.m4: Likewise.
12041 * m4/inttypes-pri.m4: Likewise.
12042 * m4/lcmessage.m4: Likewise.
12043 * m4/lib-ld.m4: Likewise.
12044 * m4/lib-link.m4: Likewise.
12045 * m4/lib-prefix.m4: Likewise.
12046 * m4/lock.m4: Likewise.
12047 * m4/nls.m4: Likewise.
12048 * m4/po.m4: Likewise.
12049 * m4/printf-posix.m4: Likewise.
12050 * m4/progtest.m4: Likewise.
12051 * m4/threadlib.m4: Likewise.
12052 * m4/uintmax_t.m4: Likewise.
12053 * m4/visibility.m4: Likewise.
12054 * po/Makefile.am: Remove.
12055 * po/Makefile.in.in: New file, from gettext.
12056 ($(DOMAIN).pot-update): Support POTFILES-shell.
12057 * po/Makevars: New file.
12058 * po/POTFILES-shell: Rename to ...
12059 * po/POTFILES-shell.in: ... this. Update.
12060 * po/POTFILES: Rename to ...
12061 * po/POTFILES.in: ... this. Update.
12062 * po/Rules-quot: New file, from gettext.
12063 * po/boldquot.sed: Likewise.
12064 * po/en@boldquot.header: Likewise.
12065 * po/en@quot.header: Likewise.
12066 * po/insert-header.sin: Likewise.
12067 * po/quot.sed: Likewise.
12068 * po/remove-potcdate.sin: Likewise.
12069
3e0fa5d0
VS
120702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12073
ade9bd66
VS
120742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12075
12076 * util/grub.d/20_linux_xen.in: Use submenus.
12077
fc55cc4c
VS
120782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12079
12080 Support submenus.
12081
12082 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12083 parameter submenu. All users updated.
12084 * grub-core/normal/main.c (free_menu): Rename to ...
12085 (grub_normal_free_menu): ... this. Made global.
12086 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12087 if requested.
12088 * grub-core/normal/menu_entry.c (screen): New field submenu.
12089 (make_screen): Set submenu.
12090 (run): Open new context if requested.
12091 * include/grub/menu.h (grub_menu_entry): New field submenu.
12092 * include/grub/normal.h (grub_normal_free_menu): New proto.
12093
600cedf7
VS
120942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 Menu entries extractor.
12097
12098 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12099 variants.
12100 (GRUB_MOD_INIT): Register new variants.
12101 (GRUB_MOD_FINI): Unregister new variants.
12102 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12103 into grub_cmd_legacy_source.
12104 (grub_cmd_legacy_source): Implement extractor variants.
12105 (GRUB_MOD_INIT): Register new variants.
12106 (GRUB_MOD_FINI): Unregister new variants.
12107 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12108 as an extractor.
12109 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12110 search as an extractor.
12111 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12112 test as an extractor.
12113 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12114 as an extractor.
12115 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12116 (grub_env_new_context): New function.
12117 (grub_env_context_open): Likewise.
12118 (grub_env_extractor_open): Likewise.
12119 (grub_env_extractor_close): Likewise.
12120 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12121 grub_extractor_level.
12122 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12123 * include/grub/env.h (grub_env_extractor_open): New proto.
12124 (grub_env_extractor_close): Likewise.
12125 * include/grub/normal.h (grub_extractor_level): New external variable.
12126
7bda3a87
VS
121272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 Make cutmem accept a region specification.
12130 Suggested by: Samuel Thibault
12131
12132 * grub-core/mmap/mmap.c (parsemem): New function.
12133 (grub_cmd_cutmem): Handle new arguments.
12134
2ea57f88
VS
121352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 New command cutmem.
12138
12139 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12140 (GRUB_MOD_INIT): Register new command.
12141 (GRUB_MOD_FINI): Unregister new command.
12142
74342e31
VS
121432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 Support some annoying BSD and Minix subpartitions.
12146
12147 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12148 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12149 Properly handle concatenation.
12150 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12151 * grub-core/normal/completion.c (iterate_partition): Likewise.
12152 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12153 contain partition. All users updated.
12154 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12155 struct.
12156 (grub_openbsdlabel_partition_map): Likewise.
12157 (bsdlabel_partition_map_iterate): Rename to ..
12158 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12159 (bsdlabel_partition_map_iterate): New function.
12160 (netopenbsdlabel_partition_map_iterate): Likewise.
12161 (netbsdlabel_partition_map_iterate): Likewise.
12162 (openbsdlabel_partition_map_iterate): Likewise.
12163 (GRUB_MOD_INIT): Register new partmaps.
12164 (GRUB_MOD_FINI): Unregister new partmaps.
12165 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12166 (grub_partition_msdos_iterate): ... this. All users updated.
12167 Don't support embedding other than in a minix partition.
12168 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12169 proto.
12170 * include/grub/partition.h (grub_partition): New field msdostype.
12171 * util/grub-install.in: Handle openbsd and netbsd types being in
12172 part_bsd module.
12173
1e8d555b
VS
121742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12177
12178 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12179 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12180 (mdraid09): ... this.
12181 (mdraid1x): New module.
12182 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12183 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12184
899d8af4
VS
121852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12188 vsprintf.
12189
40901acd
CW
121902010-09-20 Colin Watson <cjwatson@ubuntu.com>
12191
12192 * grub-core/commands/efi/lsefimmap.c: Correct header.
12193 * NEWS: Update.
12194
dfe3b247
CW
121952010-09-20 Colin Watson <cjwatson@ubuntu.com>
12196
12197 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12198 as printf format strings; the translations might contain '%' which
12199 could cause a crash.
12200 (main): Likewise.
12201 * util/grub-fstest.c (argp_parser): Likewise.
12202 * util/grub-setup.c (argp_parser): Likewise.
12203 (main): Likewise.
12204
3286a4b4
VS
122052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 Use argp in grub-fstest.
12208
12209 * util/grub-fstest.c: Don't include getopt.h.
12210 Include argp.h.
12211 (root): New variable.
12212 (args_count): Likewise.
12213 (nparm): Likewise.
12214 (num_disks): Likewise.
12215 (images): Likewise.
12216 (cmd): Likewise.
12217 (debug_str): Likewise.
12218 (args): Likewise.
12219 (options): Transformed to argp.
12220 (usage): Removed.
12221 (main): Split argument parsing into ...
12222 (argp_parser): ... this. Changed to argp format.
12223 (argp): New variable.
12224 (main): Use argp_parse.
12225
3dccbe4b
TG
122262010-09-20 Tristan Gingold <gingold@free.fr>
122272010-09-20 Robert Millan <rmh.grub@aybabtu.com>
122282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * grub-core/commands/efi/lsefimmap.c: New file.
12231 * grub-core/Makefile.core.def (lsefimmap): New module.
12232 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12233
38c259a7
VS
122342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 Pause the execution (10s max) if any errors are displayed so the user
12237 has a chance to see them.
12238
12239 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12240 (grub_print_error): Increment grub_err_printed_errors.
12241 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12242 execution if any errors were displayed.
12243 (show_menu): Remove old code for pause.
12244 * grub-core/normal/menu_entry.c (run): Likewise.
12245 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12246 users updated.
12247 (grub_normal_get_char_counter): Likewise.
12248 * include/grub/err.h (grub_err_printed_errors): New external variable.
12249 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12250
f218b09c
VS
122512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 Support multiboot VBE info.
12254
12255 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12256 Take VBE info into account.
12257 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12258 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12259 Call fill_vbe_info when appropriate.
12260 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12261 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12262 as supported.
12263 (grub_multiboot_get_mbi_size): Take new tags into account.
12264 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12265 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12266 Call fill_vbe_tag when appropriate.
12267 (grub_multiboot_make_mbi): Properly align tags.
12268 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12269 function.
12270 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12271 proto.
12272 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12273
a9cc5438
VS
122742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 Suport manual terminal geometry specification.
12277
12278 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12279 Save state in grub_ofconsole_terminfo_output.
12280 (grub_ofconsole_term): Use grub_terminfo_getwh.
12281 (grub_ofconsole_getwh): Removed.
12282 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12283 (grub_serial_term): Use grub_terminfo_getwh.
12284 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12285 (options): New struct.
12286 (OPTION_*): New enum.
12287 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12288 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12289 width and height.
12290 (grub_terminfo_getwh): New proto.
12291 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12292
1a8fed20
VS
122932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 Handle legacy "terminal" command.
12296
12297 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12298 and FLAG_TERMINAL.
12299 (legacy_commands): Add terminal and title.
12300 (grub_legacy_parse): Handle terminal. Simplify title handling.
12301
41e9c57d
VS
123022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12305 parameters overflow.
12306
61c874c5
CW
123072010-09-20 Colin Watson <cjwatson@ubuntu.com>
12308
12309 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12310 widthspec.h.
12311
12312 * docs/grub.texi (Shell-like scripting): Document `!'.
12313 (Network): Simplify using new i386-pc-pxe format. Mention
12314 grub-mknetdir.
12315
12316 * NEWS: Update.
12317
943682b4
CW
123182010-09-20 Colin Watson <cjwatson@ubuntu.com>
12319
12320 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12321 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12322 when needed.
12323
6d3d698d
CW
123242010-09-20 Colin Watson <cjwatson@ubuntu.com>
12325
12326 * grub-core/commands/efi/lsefisystab.c: Correct header.
12327 * grub-core/commands/efi/lssal.c: Likewise.
12328 * grub-core/commands/testload.c: Likewise.
12329
c982589f
CW
123302010-09-20 Colin Watson <cjwatson@ubuntu.com>
12331
12332 * util/grub-mkrescue.in: Add explicit root argument to --set to
12333 prevent the UUID being interpreted as an argument to --set (matches
12334 previous change to prepare_grub_to_access_device).
12335
a63c31b6
CW
123362010-09-20 Colin Watson <cjwatson@ubuntu.com>
12337
12338 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12339 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12340 the verbosity of later #ifs.
12341 (find_partition_start): Define this function on FreeBSD too.
12342 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12343 function.
12344 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12345 on FreeBSD.
12346
6439b8ee
YB
123472010-09-20 Yves Blusseau <blusseau@zetam.org>
12348
12349 * util/grub-editenv.c: Use argp instead of getopt.
12350
c5930ec8
YB
123512010-09-20 Yves Blusseau <blusseau@zetam.org>
12352
12353 * util/grub-setup.c: Use argp instead of getopt.
12354
15c69261
YB
123552010-09-20 Yves Blusseau <blusseau@zetam.org>
12356
12357 Use gnulib-tool to create gnulib source files.
12358
12359 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12360 grub-core/gnulib directories
12361 * .bzignore: Add **/.deps and autogenerated gnulib files
12362 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12363 of gnulib macros, add grub-core/gnulib/Makefile
12364 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12365 include m4 directory to aclocal.
12366 * Makefile.util.def: Remove direct compilation of gnulib source files
12367 and use the new grub-core/gnulib/libgnu.a.
12368 * build-aux/config.rpath: move config.rpath from top directory to
12369 build-aux
12370 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12371 in gnulib headers
12372 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12373 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12374 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12375 header.
12376 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12377 string.
12378
e511c9f5
YB
123792010-09-20 Yves Blusseau <blusseau@zetam.org>
12380
12381 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12382 grub-core/genmod.sh and grub-core/gensyminfo.sh
12383
c2dede05
BC
123842010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12385
12386 Add a test for echo command options.
12387
12388 * tests/grub_cmd_echo.in: New test.
12389 * Makefile.util.def: Rules for new test.
12390
c55f5018
SJ
123912010-09-20 Szymon Janc <szymon@janc.net.pl>
12392
12393 Remove crc.mod and move crc command to hashsum.mod.
12394 Remove lib/crc.c - users updated to use gcrypt implementation.
12395
12396 * grub-core/commands/crc.c: Removed.
12397 * grub-core/Makefile.core.def (crc): Module removed.
12398 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12399 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12400 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12401 * grub-core/lib/crc.c: Removed.
12402 * include/grub/lib/crc.h: Removed.
12403 * Makefile.util.def (crc): Remove lib/crc.c
12404 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12405 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12406 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12407 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12408 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12409 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12410
e0337366
VS
124112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12414
742f9232
VS
124152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 Split config.h for util and core.
12418
12419 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12420 (ADDR32): Likewise.
12421 (DATA32): Likewise.
12422 (BSS_START_SYMBOL): Likewise.
12423 (END_SYMBOL): Likewise.
12424 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12425 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12426 * config.h.in: New file.
12427 * configure.ac: Use config-util.h as config define file.
12428 Rename MACHINE into GRUB_MACHINE. All users updated.
12429 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12430 updated.
12431 (NESTED_FUNC_ATTR): Likewise.
12432 Substitue new variables.
12433 (COND_HAVE_ASM_USCORE): New conditional.
12434 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12435 (kernel_syms.lst): Use ASM_PREFIX.
12436 * grub-core/kern/emu/console.c: Include config-util.h.
12437 * grub-core/kern/emu/misc.c: Likewise.
12438 * grub-core/kern/emu/mm.c: Likewise.
12439 * include/grub/emu/misc.h: Likewise.
12440 * include/grub/libgcc.h: Likewise.
12441
39feb0e8
VS
124422010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12445 constants usage.
12446 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12447 Fix GRUB_TERM_KEY_* constants usage.
12448 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12449
9af6dac3
VS
124502010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12453 print pointer.
12454 * grub-core/bus/usb/uhci.c: Remove empty define.
12455 (grub_uhci_check_transfer): Add missing cast.
12456 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12457 print pointer.
12458 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12459 PRIuGRUB_SIZE.
12460 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12461
d6d94820
VS
124622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * grub-core/Makefile.core.def (legacycfg): Add
12465 lib/i386/pc/vesa_modes_table.c on emu.
12466
3572f2b6
BC
124672010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12468
12469 Reduce number of temporary files generated by build system.
12470
12471 * grub-core/gencmdlist.sh: Removed.
12472 * grub-core/genfslist.sh: Removed.
12473 * grub-core/genhandlerlist.sh: Removed.
12474 * grub-core/genmodsrc.sh: Removed.
12475 * grub-core/genpartmaplist.sh: Removed.
12476 * grub-core/genparttoollist.sh: Removed.
12477 * grub-core/gentermiinallist.sh: Removed.
12478 * grub-core/genvideolist.sh: Removed.
12479
12480 * grub-core/genmod.sh.in: New file.
12481 * grub-core/gensyminfo.sh.in: New file.
12482
12483 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12484 * conf/Makefile.extra-dist: Update with new files.
12485 * gentpl.py: Remove rules related to unnecessary temporary files.
12486 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12487 and und-* files.
12488 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12489 genmod.sh scripts.
12490 * grub-core/bus/usb/uhci.c: Remove empty #define.
12491 * grub-core/genmoddep.awk: Updated with new syminfo format.
12492 * util/bash-completion.d/Makefile.am: Add config.log to
12493 CLEANFILES.
12494
c836b030
YB
124952010-09-19 Yves Blusseau <blusseau@zetam.org>
12496
12497 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12498
2f4e8053
BC
124992010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12500
12501 * util/grub-mkconfig.in: Check the config script for syntax errors
12502 before saving.
12503
75831c34
CW
125042010-09-19 Colin Watson <cjwatson@ubuntu.com>
125052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12508 platforms.
12509 * util/grub-install.in: Add EFI and IEEE1275 support.
12510 * util/i386/efi/grub-install.in: Removed.
12511 * util/ieee1275/grub-install.in: Likewise.
12512
eaf41b25
VS
125132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12516 (grub_cmd_cmosclean): Likewise.
12517 (GRUB_MOD_INIT): Register command cmosclean.
12518 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12519 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12520
1a9130dd
CPE
125212010-09-18 Carles Pina i Estany <carles@pina.cat>
125222010-09-18 Aleš Nesrsta <starous@volny.cz>
125232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 Add keyboard layouts support.
12526
12527 * Makefile.util.def (grub-mklayout): New file.
12528 (grub-kbdcomp): New script.
12529 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12530 Add keyboard_layouts.h.
12531 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12532 commands/boot.c on yeeloong.
12533 (keylayouts): New module.
12534 * grub-core/bus/usb/ohci.c
12535 * grub-core/bus/usb/uhci.c
12536 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12537 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12538 (attach_root_port): Likewise.
12539 (poll_nonroot_hub): Likewise.
12540 (grub_usb_poll_devices): Likewise.
12541 (detach_device): Close transfer.
12542 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12543 function.
12544 (grub_usb_bulk_setup_readwrite): Likewise.
12545 (grub_usb_bulk_finish_readwrite): Likewise.
12546 * grub-core/commands/keylayouts.c: New file.
12547 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12548 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12549 aliases.
12550 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12551 support scancode 2.
12552 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12553 * include/grub/keyboard_layouts.h: New file.
12554 * util/grub-mklayout.c: New file.
12555 * util/grub-kbdcomp.in: Likewise.
12556
a1d84a5e
VS
125572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 Unify memory types.
12560
12561 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12562 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12563 types.
12564 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12565 (grub_upper_mem): Likewise.
12566 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12567 * include/grub/memory.h (grub_memory_type_t): New enum.
12568 All users updated.
12569
9696382e
VS
125702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 * grub-core/Makefile.core.def (lsapm): New module.
12573 * grub-core/commands/i386/pc/lsapm.c: New file.
12574 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12575 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12576 Likewise.
12577 * include/grub/i386/pc/apm.h: New file.
12578 * include/multiboot.h (multiboot_apm_info): New struct.
12579
125802010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 GRUB-legacy configuration file support.
12583
12584 * Makefile.util.def (grub-menulst2cfg): New util.
12585 * docs/man/grub-menulst2cfg.h2m: New file.
12586 * grub-core/Makefile.core.def (legacycfg): New module.
12587 * grub-core/commands/legacycfg.c: New file.
12588 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12589 (grub_normal_add_menu_entry): ... this.
12590 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12591 (grub_normal_set_password): ...this.
12592 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12593 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12594 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12595 * grub-core/lib/legacy_parse.c: New file.
12596 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12597 * include/grub/i386/pc/vesa_modes_table.h: New file.
12598 * include/grub/legacy_parse.h: Likewise.
12599 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12600 * util/grub-menulst2cfg.c: New file.
12601
bf8d1338
CW
126022010-09-17 Colin Watson <cjwatson@ubuntu.com>
12603
12604 * grub-core/kern/emu/hostdisk.c
12605 (convert_system_partition_to_system_disk): Initialise node.
12606
9c0bad2e
CW
126072010-09-17 Colin Watson <cjwatson@ubuntu.com>
12608
12609 * grub-core/kern/emu/hostdisk.c
12610 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12611 leak.
12612 Reported and based on patch by: Modestas Vainius.
12613
a939d135
CW
126142010-09-17 Colin Watson <cjwatson@ubuntu.com>
12615
12616 Fix DM-RAID probing with recent versions of device-mapper udev
12617 rules.
12618
12619 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12620 canonicalise device paths under /dev/mapper/.
12621 (convert_system_partition_to_system_disk): Compare the
12622 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12623 path, since device nodes under /dev/mapper/ are often symlinks.
12624
0f7ee3c9
YB
126252010-09-17 Yves Blusseau <blusseau@zetam.org>
12626
12627 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12628
10854d0d
YB
126292010-09-16 Yves Blusseau <blusseau@zetam.org>
12630
12631 * configure.ac: Avoid some annoying error messages if freetype-config
12632 program is not found.
12633
108538d8
CW
126342010-09-16 Colin Watson <cjwatson@ubuntu.com>
12635
12636 Support RAID on virtio devices, and others.
12637
12638 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12639 Rename to ...
12640 [__MINGW32__] (grub_find_device): ... this.
12641 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12642 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12643 reasonable default if dir is NULL.
12644 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12645 ...
12646 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12647 (grub_guess_root_device): Update callers.
12648 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12649
12650 * util/raid.c (grub_util_getdiskname): Remove.
12651 (grub_util_raid_getmembers): Use grub_find_device rather than
12652 grub_util_getdiskname.
12653
e5bfc130
CW
126542010-09-16 Colin Watson <cjwatson@ubuntu.com>
12655
12656 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12657 needing to be compiled with serial support.
12658 (ls): Indicate that multiple files are accepted.
12659 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12660 indicate that multiple files are accepted.
12661
be458ae2
CW
126622010-09-16 Colin Watson <cjwatson@ubuntu.com>
12663
12664 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12665 libgrub_a_init.c, and util/bash-completion.d/grub.
12666
cb731b5e
VS
126672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * util/grub-setup.c (setup): Fix incorrect container semantics.
12670
35139e8a
VS
126712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12674 misusage.
12675 Reported by: J. Nick Terry
12676
e50fca4a
VS
126772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Move embedding routines to partmap sources files.
12680
12681 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12682 [GRUB_UTIL]: New variable.
12683 (gpt_partition_map_iterate): Set part.parent.
12684 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12685 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12686 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12687 New function.
12688 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12689 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12690 (grub_partition_map) [GRUB_UTIL]: New field embed.
12691 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12692 (setup): Use ->embed.
12693
f00478b7
VS
126942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12697 function.
12698 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12699 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12700
2b94e3ff
YB
127012010-09-15 Yves Blusseau <blusseau@zetam.org>
12702
12703 Add function to get completions from usage.
12704
12705 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12706 completions from usage. Use LC_ALL=C to get options properly.
12707
2e04a006
VS
127082010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * grub-core/gnulib/basename-lgpl.c: Imported.
12711 * grub-core/gnulib/basename.c: Likewise.
12712 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12713 * grub-core/gnulib/dirname.c: Likewise.
12714 * grub-core/gnulib/dirname.h: Likewise.
12715 * grub-core/gnulib/stripslash.c: Likewise.
12716
5dcdf93a
VS
127172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * grub-core/gnulib/error.c: Resynced.
12720 * grub-core/gnulib/getopt.c: Likewise.
12721 * grub-core/gnulib/getopt_int.h: Likewise.
12722 * grub-core/gnulib/regex.h: Likewise.
12723 * grub-core/gnulib/regex_internal.c: Likewise.
12724 * grub-core/gnulib/regex_internal.h: Likewise.
12725
014f47b7
SJ
127262010-09-15 Szymon Janc <szymon@janc.net.pl>
12727
12728 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12729 CRC calculations and validity checks.
12730 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12731 calculations.
12732
dd521a4a
SJ
127332010-09-15 Szymon Janc <szymon@janc.net.pl>
12734
12735 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12736
79c4eeb9
VS
127372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 Fix incorrect echo options handling.
12740 Reported by: Yves Blusseau.
12741
12742 * include/grub/command.h (grub_command_flags_t): New flags
12743 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12744 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12745 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12746
ed80f7d5
VS
127472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12750 users updated.
12751 (GRUB_COMMAND_FLAG_MENU): Likewise.
12752 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12753 (GRUB_COMMAND_FLAG_TITLE): Removed.
12754 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12755 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12756 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12757 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12758 (grub_command_flags_t): New enum. All users updated.
12759
5fe7620a
SG
127602010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12761
12762 Fix solaris compilation.
12763
12764 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12765 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12766 (grub-emu-list): Likewise.
12767
545b752f
VS
127682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 Remove deprecated root command.
12771
12772 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12773 updated.
12774
6c1a338c
VS
127752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 * util/i386/pc/grub-setup.c: Merge this ...
12778 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12779 * util/grub-setup.c: ... into this.
12780 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12781 New struct.
12782
127832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12786 possible.
12787
d2ea4551
VS
127882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12791 allocate p.
12792
3c3b5040
VS
127932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12796 explicit root argument to set to prevent UUID to be interpreted as
12797 argument to set.
12798
b71c3fae
VS
127992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12802
275433e6
VS
128032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 Don't export grub_gate_a20.
12806
12807 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12808 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12809 to ...
12810 (grub_gate_a20): ... this. All users updated.
12811 * include/grub/i386/pc/init.h: Removed. All users updated.
12812
a5dbb1f1
VS
128132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 Create euro.pf2 which supports most European languages.
12816
12817 * Makefile.am (grubdata_DATA): Add euro.pf2.
12818 (euro.pf2): New target.
12819 (CLEANFILES): Add euro.pf2.
12820
62a747cb
VS
128212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * configure.ac: Disable emu-usb by default to prevent inadvertent
12824 device takeover.
12825
608e43b1
VS
128262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 Disable usbserial on grub-emu since our libusb code isn't good enough
12829 yet.
12830
12831 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12832 (usbserial_pl2303): Likewise.
12833 (usbserial_ftdi): Likewise.
12834
94564f81
VS
128352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * include/grub/disk.h (grub_disk): Remove has_partitions.
12838 All users updated.
12839 * disk/loopback.c (grub_loopback): Remove has_partitions.
12840 All users updated.
12841 (options): Remove partitions. All users updated.
12842 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12843 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12844 actual partition table is found.
12845
3352800b
VS
128462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 Remove readability checks (too many false negatives).
12849
12850 * util/grub-install.in: Remove readability checks.
12851 * util/grub-mkconfig.in: Likewise.
12852 * util/grub.d/10_hurd.in: Likewise.
12853 * util/grub.d/10_kfreebsd.in: Likewise.
12854 * util/grub.d/10_linux.in: Likewise.
12855 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12856 way.
12857
2419f17a
VS
128582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 Enable acpi shutdown on all ACPI platforms.
12861
12862 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12863 on coreboo, multiboot and EFI.
12864 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12865 (grub_acpi_halt): Likewise.
12866 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12867 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12868 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12869 * grub-core/lib/i386/halt.c (grub_halt)
12870 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12871
0575c7c3
VS
128722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12875 context.
12876
54ac3cd1
VS
128772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12880 * grub-core/video/efi_uga.c: Likewise.
12881
b2a30ac5
VS
128822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 Filter devaliases and never open same device twice.
12885
12886 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12887 (last_ihandle): Likewise.
12888 (ofdisk_hash_ent): New member shortest.
12889 (ofdisk_hash_add): Add canonical path too.
12890 (scan): New function.
12891 (grub_ofdisk_iterate): Iterate over hashed entries.
12892 (compute_dev_path): Don't add :0.
12893 (grub_ofdisk_open): Don't really open the disk.
12894 (grub_ofdisk_close): Avoid closing unrelated disk.
12895 (grub_ofdisk_read): Implement reopen logic.
12896 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12897 New function.
12898 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12899 New proto.
12900
fb53b340
VS
129012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 Fix sparc64.
12904
12905 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12906 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12907 right address. Add sparc64_ieee1275_ldflags.
12908 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12909 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12910 to grub_host_to_target_addr
12911 (load_image): Likewise.
12912
f452b040
VS
129132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 * grub-core/normal/completion.c (complete_file): Handle device
12916 containing slash.
12917 Fix based on patch by Doug Nazar.
12918
9b5b2541
VS
129192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 grub-mknetdir script.
12922
12923 * Makefile.util.def (grub-mknetdir): New module.
12924 * tests/util/grub-shell.in: Support boot=net
12925 * util/grub-mknetdir.in: New file.
12926
9d2be652
VS
129272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 videoinfo on non-vbe.
12930
12931 * grub-core/Makefile.core.def (vbeinfo): Removed.
12932 (vbetest): Removed.
12933 (videoinfo): New module.
12934 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12935 * grub-core/commands/i386/pc/vbetest.c: Removed.
12936 * grub-core/commands/videoinfo.c: New file.
12937 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12938 specification.
12939 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12940 as vbetest.
12941 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12942 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12943 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12944 mode_number. New parameter mode. All users updated.
12945 (grub_video_gop_iterate): New function.
12946 (grub_video_efi_gop): New member iterate.
12947 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12948 (grub_vbe_set_video_mode): Remove setting useless fields.
12949 (vbe2videoinfo): New function.
12950 (grub_video_vbe_iterate): Likewise.
12951 (grub_video_vbe_setup): Use vbe2videoinfo.
12952 (grub_video_vbe_print_adapter_specific_info): New function.
12953 (grub_video_vbe_adapter): New fields iterate and
12954 print_adapter_specific_info.
12955 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12956 All users updated.
12957 (grub_video_mode_info): New field mode_number.
12958 (grub_video_adapter): New fields iterate and
12959 print_adapter_specific_info.
12960
179503f5
TG
129612010-09-13 Tristan Gingold <gingold@free.fr>
129622010-09-13 Robert Millan <rmh.grub@aybabtu.com>
129632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * grub-core/commands/efi/lsefisystab.c: New file.
12966 * grub-core/commands/efi/lssal.c: Likewise.
12967 * grub-core/Makefile.core.def (lsacpi): New module.
12968 (lsefisystab): Likewise.
12969 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12970 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12971 (grub_efi_sal_system_table): New struct.
12972 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12973 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12974 (grub_efi_sal_system_table_platform_features): Likewise.
12975 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12976 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12977 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12978 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12979
cf9827de
VS
129802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 Support explicit user claim that a device is BIOS-visible.
12983
12984 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12985 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12986 * grub-core/kern/emu/hostdisk.c
12987 (convert_system_partition_to_system_disk): Support mdX.
12988 (find_system_device): New parameter add. All users updated.
12989 (grub_util_biosdisk_is_present): New function.
12990 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12991 proto.
12992
53f0eb1f
VS
129932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 Search hints support.
12996
12997 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12998 All users updated.
12999
b23ffd70
YB
130002010-09-13 Yves Blusseau <blusseau@zetam.org>
13001
13002 Bash completion script for util commands
13003
13004 * Makefile.am: Add util/bash-completion.d directory
13005 * configure.ac: Likewise.
13006 * util/bash-completion.d/Makefile.am: New file.
13007 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13008
d547dc28
VS
130092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13012 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13013 Reported by: Yves Blusseau.
13014
2fc8ccb9
VS
130152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13018 partition size and offset.
13019
d8a84076
VS
130202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13021
13022 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13023
84fb3b3d
VS
130242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13027
768ec2e2
VS
130282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13031 (grub_xvasprintf): Likewise.
13032
4870900f
VS
130332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13036
faca6bec
VS
130372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13040 args ending with NULL.
13041
130422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13043
13044 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13045 pointer.
13046
3c70f225
SJ
130472010-09-11 Szymon Janc <szymon@janc.net.pl>
13048
13049 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13050
4df7996d
VS
130512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 Shutdown using ACPI.
13054
13055 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13056 * grub-core/commands/acpihalt.c: New file.
13057 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13058 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13059 (grub_acpi_halt): New proto.
13060 (GRUB_ACPI_SLP_EN): New const.
13061 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13062 (GRUB_ACPI_OPCODE_*): New enum.
13063 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13064
126b4c32
TG
130652010-09-11 Tristan Gingold <gingold@free.fr>
130662010-09-11 Robert Millan <rmh.grub@aybabtu.com>
130672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 * commands/lsacpi.c: New file.
13070 * grub-core/Makefile.core.def (lsacpi): New module.
13071 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13072 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13073 (grub_acpi_madt_entry_header): New struct.
13074 (grub_acpi_madt): Likewise.
13075 (grub_acpi_madt_entry_interrupt_override): Likewise.
13076 (grub_acpi_madt_entry_sapic): Likewise.
13077 (grub_acpi_madt_entry_lsapic): Likewise.
13078 (grub_acpi_madt_entry_platform_int_source): Likewise.
13079 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13080 (PRIuGRUB_UINT32_T): Likewise.
13081 (PRIxGRUB_UINT64_T): Likewise.
13082
1aa4fe88
VS
130832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 Implement loading palette on ieee1275_fb.
13086
13087 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13088 (have_setcolors): Likewise.
13089 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13090 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13091 (grub_video_ieee1275_set_palette): Implement.
13092
25761e13
VS
130932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
130942010-09-11 Colin Watson <cjwatson@ubuntu.com>
13095
13096 * util/grub-install.in (grub_partition): New variable.
13097 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13098 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13099 Fixes a bug reported by Yves Blusseau.
13100
050abaea
VS
131012010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 Fix emu on mipsel.
13104
13105 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13106 =grub_cpu_flush_cache on all mips and not only yeeloong.
13107 * configure.ac (COND_mips): New conditional.
13108 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13109 platforms.
13110 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13111 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13112 [GRUB_LINKER_HAVE_INIT]: New function.
13113 (grub_emu_post_init): Likewise.
13114 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13115 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13116 * include/grub/cache.h (_mips): Include mips/cache.h.
13117 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13118 LVM and RAID prototypes.
13119 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13120 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13121 function.
13122
5ed7d816
CW
131232010-09-10 Colin Watson <cjwatson@ubuntu.com>
13124
13125 * util/grub-install.in: Don't try to verify core.img until after
13126 running grub-mkimage to create it.
13127
90367e04
RM
131282010-09-10 Robert Millan <rmh@gnu.org>
13129
13130 * util/grub.d/10_hurd.in: Add misc readability checks.
13131 * util/grub.d/10_kfreebsd.in: Likewise.
13132 * util/grub.d/10_linux.in: Likewise.
13133
c452fa66
CW
131342010-09-10 Colin Watson <cjwatson@ubuntu.com>
13135
13136 * util/grub-install.in: ${imgext} won't be defined here until the
13137 install branch is merged. For the meantime, only verify core.img on
13138 i386-pc and sparc64-ieee1275 platforms.
13139
c38fe9f4
RM
131402010-09-10 Robert Millan <rmh@gnu.org>
13141
13142 Solaris support in grub_find_zpool_from_dir(). Thanks
13143 Seth Goldberg for referring to getextmntent() facility.
13144
13145 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13146 `sys/mkdev.h'.
13147 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13148 `<sys/mnttab.h>'.
13149 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13150 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13151 method for finding zpool name.
13152
905f7773
CW
131532010-09-10 Colin Watson <cjwatson@ubuntu.com>
13154
13155 grub-fstest needs the host and hostfs modules while other utilities
13156 actively require those modules to be absent, so grub-fstest needs
13157 its own initialisation and finalisation code.
13158
13159 * Makefile.am (grub_fstest.pp): New target.
13160 (grub_fstest_init.lst): Likewise.
13161 (grub_fstest_init.c): Likewise.
13162 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13163
fb90b546
RM
131642010-09-10 Robert Millan <rmh@gnu.org>
13165
13166 * configure.ac: Check for `struct statfs.f_fstypename' and
13167 `struct statfs.f_mntfromname'.
13168
13169 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13170 kFreeBSD-specific code.
13171
66d4bea5
RM
131722010-09-10 Robert Millan <rmh@gnu.org>
13173
13174 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13175 on ZFS. Now non-main filesystems are supported as / too.
13176
b6a690ee
CW
131772010-09-09 Colin Watson <cjwatson@ubuntu.com>
13178
13179 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13180 and grub-core/disk/host.c to ...
13181 (grub-fstest): ... here. Having the host disk implementation
13182 present confuses grub-probe and other utility programs.
13183
13184 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13185 when writing to a file, not when writing to stdout.
13186
8901b00c 131872010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13188
13189 * tests/partmap_test.in: New test for partitions.
13190 * Makefile.util.def: Rules for new test.
13191
7bf45fdd
RM
131922010-09-09 Robert Millan <rmh@gnu.org>
13193
13194 * util/grub-probe.c (probe): Fix a pair of unhandled error
13195 conditions.
13196
4dfbc574
RM
131972010-09-09 Robert Millan <rmh@gnu.org>
13198
13199 Basic Btrfs support (detection and UUID).
13200
13201 * grub-core/fs/btrfs.c: New file.
13202 * Makefile.util.def (library): Register btrfs.c.
13203 * grub-core/Makefile.core.def: Likewise.
13204
6b8e78ae
RM
132052010-09-08 Robert Millan <rmh@gnu.org>
13206
13207 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13208 with (optional) parameters to specify device and relative path.
13209 * util/grub-install.in: Use is_path_readable_by_grub() to
13210 verify readability of a few critical files.
13211 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13212 verify readability of grub.cfg.new.
13213
27f21a8b
VS
132142010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 Split minix.mod into minix.mod and minix2.mod.
13217
13218 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13219 * grub-core/Makefile.core.def (minix2): New module.
13220 * grub-core/fs/minix.c: Use definitions instead of runtime version
13221 checking.
13222 * grub-core/fs/minix2.c: New file.
13223
c0e53ea5
YB
132242010-09-08 Yves Blusseau <blusseau@zetam.org>
13225
13226 Add new --boot-directory option to replace --root-directory
13227
13228 * util/grub-install.in: Add new --boot-directory option
13229 * util/grub-reboot.in: Likewise.
13230 * util/grub-set-default.in: Likewise.
13231
b9fe6ea2
YB
132322010-09-08 Yves Blusseau <blusseau@zetam.org>
13233
13234 * util/grub-mkconfig.in: Use new variable.
13235
d87aedff
YB
132362010-09-08 Yves Blusseau <blusseau@zetam.org>
13237
13238 * configure.ac: Define some useful variables.
13239
e55e8495
VS
132402010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13243 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13244 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13245 Use terminfo and don't use cursor-on/cursor-off unless it's known
13246 to work.
13247 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13248 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13249
6fa6d675
CW
132502010-09-08 Colin Watson <cjwatson@ubuntu.com>
13251
13252 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13253 starts with "(,", fill the drive containing the loaded image in
13254 between those two characters, but expect that a full partition
13255 specification including partition map names will follow.
13256
92f2aef0
RM
132572010-09-08 Robert Millan <rmh@gnu.org>
13258
13259 * configure.ac: Remove `--enable-grub-fstest' option.
13260 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13261
13262 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13263 `grub-fstest' instead of `grub-probe' for readability verification.
13264 * util/grub-probe.c (probe): Remove readability verification kludge.
13265
99fd620d
RM
132662010-09-08 Robert Millan <rmh@gnu.org>
13267
13268 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13269 initializing `GRUB_FS'.
13270
058e30ac 132712010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13272
13273 Not command (!) support to GRUB script.
13274
13275 * tests/grub_script_not.in: New test.
13276 * Makefile.util.def: Rules for new test.
13277
13278 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13279 ! command as a special case.
13280 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13281
b61d05ed 132822010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13283
058e30ac 13284 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13285 grub_free.
b61d05ed 13286
4d69c786 132872010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13288
13289 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13290
aa3119c4 132912010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13292
13293 * docs/grub.texi (Shell-like scripting): Documentation for break,
13294 continue, shift and return commands.
13295
db0f7e3d
VS
132962010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 Rename CD-ROM to cd on BIOS.
13299
13300 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13301 "cd".
13302 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13303
88b87c93
VS
133042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13307 * util/grub-probe.c (main): Likewise.
13308 * util/i386/pc/grub-setup.c (main): Likewise.
13309 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13310 Reported and debugged by: alexxy
13311
294f324d
VS
133122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13315 diagnostic info.
13316
d7ee3441
JS
133172010-09-05 Jo Shields <directhex@apebox.org>
13318
13319 * util/grub.d/30_os-prober.in: Add missing classes.
13320
d7e06c1f
VS
133212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * docs/grub.texi (Theme file format): Document new position format.
13324
fc157e53
VS
133252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13328 a table. Use @code instead of @verbatim.
13329
506e9a1c
CB
133302010-09-05 Colin D Bennett <colin@gibibit.com>
13331
13332 Gfxmenu documentation.
13333
13334 * docs/grub.texi (Theme file format): New chapter.
13335
f0aff67c
SJ
133362010-09-05 Szymon Janc <szymon@janc.net.pl>
13337
13338 * grub-core/Makefile.core.def (xzio): New module.
13339 * grub-core/io/xzio.c: New file.
13340 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13341 * grub-core/lib/xzembed/xz_config.h: Likewise.
13342 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13343 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13344 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13345 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13346 * grub-core/lib/xzembed/xz_private.h: Likewise.
13347 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13348 * include/grub/file.h (grub_file_filter_id): New compression filter
13349 GRUB_FILE_FILTER_XZIO.
13350
82a85062
VS
133512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13354 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13355 size.
13356
3579415d
VS
133572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13360 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13361
5124ae6d
VS
133622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 Uncompressed checksum support.
13365
13366 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13367 (check_list): New parameter uncompress.
13368 (grub_cmd_hashsum): Handle --uncompress.
13369
9aadb3d1
VS
133702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 Reintroduce testload.
13373
13374 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13375 from here ...
13376 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13377 (GRUB_MOD_INIT): New function.
13378 (GRUB_MOD_FINI): Likewise.
13379 * grub-core/Makefile.core.def (testload): New module.
13380
a17792c3
SJ
133812010-09-05 Szymon Janc <szymon@janc.net.pl>
13382
13383 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13384 (uint8_t): New type.
13385 (uint16_t): Likewise.
13386 (uint32_t): Likewise.
13387 (uint64_t): Likewise.
13388
b81e40a3
SJ
133892010-09-05 Szymon Janc <szymon@janc.net.pl>
13390
13391 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13392
fc2ef117
VS
133932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13396 Made static.
13397 (grub_gzfile_open): Removed. All users updated.
13398 (GRUB_MOD_INIT): New function.
13399 (GRUB_MOD_FINI): Likewise.
13400 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13401 (grub_file_filters_enabled): Likewise.
13402 (grub_file_open): Handle filters.
13403 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13404 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13405 * include/grub/file.h (grub_file_filter_id_t): New type.
13406 (grub_file_filter_t): Likewise.
13407 (grub_file_filters_all): New extern variable.
13408 (grub_file_filters_enabled): Likewise.
13409 (grub_file_filter_register): New inline function.
13410 (grub_file_filter_unregister): Likewise.
13411 (grub_file_filter_disable): Likewise.
13412 (grub_file_filter_disable_compression): Likewise.
13413 * include/grub/gzio.h: Removed.
13414
35ee15e0
BC
134152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13416
13417 Filename expansion support for wildcards in GRUB script.
13418
13419 * tests/grub_script_expansion.in: New test.
13420 * Makefile.util.def: Rule for new test.
13421
13422 * grub-core/commands/wildcard.c: New file, implements filename
13423 expansion support for GRUB script.
13424 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13425 * grub-core/script/argv.c: Cosmetic changes.
13426 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13427 Refactored to perform wildcard expansion on arguments.
13428 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13429 struct.
13430
13431 * tests/util/grub-shell.in: Fix quoting for read input.
13432
5f0c4aca
BC
134332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13434
13435 Support for updating environment variables with matched substrings
13436 of regexp.
13437
13438 * tests/grub_cmd_regexp.in: New test.
13439 * Makefile.util.def: Rule for new test.
13440
13441 * grub-core/commands/regexp.c: New option -s to update environment
13442 variables with regexp matches.
13443
3759a35f
SJ
134442010-09-04 Szymon Janc <szymon@janc.net.pl>
13445
13446 * include/grub/file.h (grub_file): New member not_easly_seekable.
13447 (grub_file_seekable): New inline function.
13448 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13449 easily seekable.
13450 (grub_gzio_open): Set not_easly_seekable.
13451 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13452 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13453
ed8c6dec
BC
134542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13455
13456 Support for options to appear multiple times on cmdline.
13457
13458 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13459 * grub-core/commands/extcmd.c: Support for repeatable option.
13460 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13461 repeatable option support.
13462
13463 Refactor menuentry into a regular command.
13464
13465 * grub-core/commands/menuentry.c: New file, menuentry command
13466 implementation.
13467 * grub-core/Makefile.core.def: Rule update for normal.mod.
13468 * grub-core/normal/main.c: Moved menuentry creation to
13469 grub-core/commands/menuentry.c.
13470 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13471 (grub_menu_execute_entry_real): Removed.
13472 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13473 function.
13474 (grub_script_execute_menuentry): Removed.
13475 * grub-core/script/parser.y (menuentry): Removed.
13476 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13477 * grub-core/script/yylex.l (menuentry): Removed.
13478 * include/grub/menu.h (grub_menu_init): New prototype.
13479 (grub_menu_fini): New prototype.
13480 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13481 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13482 (grub_script_execute_sourcecode): New prototype.
13483
dacd0cf0
BC
134842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13485
13486 "return" command for GRUB script functions.
13487
13488 * tests/grub_script_return.in: New test.
13489 * Makefile.util.def: Rules for new test.
13490
13491 * grub-core/script/execute.c (grub_script_return): New function.
13492 * grub-core/script/main.c: Register/unregister return commaond.
13493 * include/grub/script_sh.h (grub_script_return): New prototype.
13494
52e72f9d
BC
134952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13496
13497 "setparams" command to update positional parameters.
13498
13499 * tests/grub_script_setparams.in: New test.
13500 * Makefile.util.def: Rules for new test.
13501
13502 * grub-core/script/argv.c (grub_script_argv_make): New function.
13503 * grub-core/script/execute.c (replace_scope): New function.
13504 (grub_script_setparams): New function.
13505 * grub-core/script/lexer.c: Remove unused variables.
13506 * grub-core/script/main.c: Register/unregister setparams command.
13507 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13508 (grub_script_setparams): New prototype.
13509
25b60c91
BC
135102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13511
13512 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13513 grub_free order.
13514
37e7bf68
BC
135152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13516
13517 Support for passing block of commands as an argument to extcmds.
13518
13519 * Makefile.util.def: Rules for new test.
13520 * tests/grub_script_blockarg.in: New test.
13521 * grub-core/tests/test_blockarg.c: New file, block argument
13522 command used in the test.
13523
13524 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13525 (grub_register_extcmd_prio): New function prototype.
13526 (grub_extcmd_dispatcher): New function prototype.
13527 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13528 type.
13529 * include/grub/script_sh.h (struct grub_script): New members
13530 `children', `next_siblings' and `refcnt' for block arguments and
13531 reference counting.
13532 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13533 (grub_script_arg): New member `script' for block argument.
13534 (grub_script_argv): New member `script' for block argument.
13535 (grub_parser_param): New member `scripts' for block argument.
13536 (grub_script_mem_free): New extern function prototype.
13537 (grub_script_ref): New function prototype.
13538 (grub_script_unref): New function prototype.
13539
13540 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13541 extcmd form to support block arguments.
13542 * grub-core/script/argv.c: Block arguments support.
13543 * grub-core/script/execute.c: Likewise.
13544 * grub-core/script/lexer.c: Likewise.
13545 * grub-core/script/main.c: Likewise.
13546 * grub-core/script/script.c: Likewise.
13547 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13548 non-terminals.
13549
13550 * grub-core/commands/acpi.c: Update extcmd implementations with
13551 grub_extcmd_context_t.
13552 * grub-core/commands/cat.c: Likewise.
13553 * grub-core/commands/echo.c: Likewise.
13554 * grub-core/commands/extcmd.c: Likewise.
13555 * grub-core/commands/hashsum.c: Likewise.
13556 * grub-core/commands/hdparm.c: Likewise.
13557 * grub-core/commands/help.c: Likewise.
13558 * grub-core/commands/hexdump.c: Likewise.
13559 * grub-core/commands/i386/cpuid.c: Likewise.
13560 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13561 * grub-core/commands/i386/pc/halt.c: Likewise.
13562 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13563 * grub-core/commands/iorw.c: Likewise.
13564 * grub-core/commands/keystatus.c: Likewise.
13565 * grub-core/commands/loadenv.c: Likewise.
13566 * grub-core/commands/ls.c: Likewise.
13567 * grub-core/commands/lspci.c: Likewise.
13568 * grub-core/commands/memrw.c: Likewise.
13569 * grub-core/commands/probe.c: Likewise.
13570 * grub-core/commands/search_wrap.c: Likewise.
13571 * grub-core/commands/setpci.c: Likewise.
13572 * grub-core/commands/sleep.c: Likewise.
13573 * grub-core/disk/loopback.c: Likewise.
13574 * grub-core/hello/hello.c: Likewise.
13575 * grub-core/loader/i386/bsd.c: Likewise.
13576 * grub-core/loader/xnu.c: Likewise.
13577 * grub-core/term/gfxterm.c: Likewise.
13578 * grub-core/term/serial.c: Likewise.
13579 * grub-core/tests/lib/functional_test.c: Likewise.
13580
888d1500
BC
135812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13582
13583 Multi-line quoted strings support.
13584
13585 * grub-core/script/lexer.c (append_newline): Removed.
13586 (grub_script_lexer_yywrap): Refactored.
13587 (grub_script_lexer_init): Refactored.
13588 * grub-core/script/yylex.l (yywrap): New function.
13589 (grub_lexer_resplit): New function.
13590 (grub_lexer_unput): New function.
13591 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13592 and resplit.
13593 * tests/grub_script_echo1.in: Added few more testcases.
13594
dda060dd
VS
135952010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * grub-core/kern/misc.c: Don't add abort alias in utils.
13598 Reported by: echoline.
13599
6556eba9
BC
136002010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13601
13602 Add missing files into "make dist" tarball for other platforms.
13603
13604 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13605 * conf/Makefile.common (dist_noinst_DATA): New variable.
13606 * conf/Makefile.extra-dist: Added missing make dist files.
13607 * grub-core/Makefile.core.def: Likewise.
13608
c8e7bf5f
VS
136092010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 Compress grub_prefix.
13612
13613 * grub-core/boot/i386/pc/lnxboot.S: Use
13614 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13615 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13616 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13617 GRUB_MACHINE_PREFIX_END. All users updated.
13618 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13619 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13620 + 0x40.
13621 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13622 * util/grub-mkimage.c (image_target_desc): Change data_end to
13623 prefix_end. All users updated.
13624
a7c00cdb
VS
136252010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13628 value.
13629 (grub_openbsd_boot): Likewise.
13630 (grub_netbsd_boot): Likewise.
13631 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13632 (grub_xnu_boot): Likewise.
13633
9f915872
VS
136342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * configure.ac: Clean LIBS variable after tests.
13637
efa1bee7
CW
136382010-09-02 Colin Watson <cjwatson@ubuntu.com>
13639
13640 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13641
61d720e5
VS
136422010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13645 echo if libdevmapper will be used.
13646
ef8e0ec8
IT
136472010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13648
13649 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13650 constant for the same file.
13651
03e261d8
VS
136522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13655
c2a4eba6
CW
136562010-09-02 Colin Watson <cjwatson@ubuntu.com>
13657
13658 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13659 grub-core/*.pp.
13660
9056cbf3
CW
136612010-09-02 Colin Watson <cjwatson@ubuntu.com>
13662
13663 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13664 required by the boot protocol.
13665
13666 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13667 ebp and edi members.
13668 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13669 state.ebp and state.edi.
13670 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13671 %ebp and %edi according to grub_relocator32_ebp and
13672 grub_relocator32_edi respectively.
13673 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13674 and state.edi.
13675
529cc99a
VS
136762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 Add i386-pc-pxe image target.
13679
13680 * util/grub-mkimage.c (image_target_desc): New enum value
13681 IMAGE_I386_PC_PXE.
13682 (image_targets): New target i386-pc-pxe.
13683 (generate_image): Handle i386-pc-pxe image.
13684
9a093920
VS
136852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 Fix grub_pxe_scan.
13688
13689 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13690 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13691 All users updated.
13692 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13693 (grub_pxe_pxenv): Correct type.
13694
f9cefc4e
CW
136952010-09-01 Colin Watson <cjwatson@ubuntu.com>
13696
13697 * NEWS: Document most of the important changes since 1.98.
13698
4066f57f
CW
136992010-09-01 Colin Watson <cjwatson@ubuntu.com>
13700
13701 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13702 generated manual page) a little.
13703
da2891f9
CW
137042010-09-01 Colin Watson <cjwatson@ubuntu.com>
13705
13706 * docs/grub.texi: Add myself as an author.
13707
ad717fae
VS
137082010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * Makefile.util.def (libgrub.a): Add missing sunpc.
13711 Reported by: Seth Goldberg.
13712
eefe8abd
VS
137132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 Interrupt wrapping and code simplifications.
13716
9494ef9a
VS
13717 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13718 x86_noieee1275 which are functionaly equivalent in this case.
13719 (grub-install): Make source on each platform explicit. Enable on
13720 all noemu.
13721 * gentpl.py (x86_efi_pc): Removed group.
13722 (x86_noefi): Likewise.
13723 (i386_noefi): Likewise.
13724 (x86_noieee1275): Likewise.
13725 (i386_noieee1275): Likewise.
13726 (i386_noefi_noieee1275): Likewise.
13727 (i386_pc_qemu_coreboot): Likewise.
13728 (i386_coreboot_multiboot): Likewise.
13729 (i386_pc_coreboot_multiboot_qemu): Likewise.
13730 (x86_noefi_mips): Likewise.
13731 (noieee1275): Likewise.
13732 (ieee1275_mips): Likewise.
13733 (noemu_noieee1275): Likewise.
13734 (cmos): New group.
13735 (usb): Likewise.
13736 (videoinkernel): Likewise.
13737 (videomodules): Likewise.
eefe8abd 13738 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13739 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13740 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13741 include/grub/loader.h, include/grub/msdos_partition.h,
13742 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13743 include/grub/machine/console.h, include/grub/machine/vga.h,
13744 include/grub/machine/vbe.h, include/grub/machine/init.h,
13745 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13746 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13747 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13748 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13749 * grub-core/Makefile.core.def (kernel): Explicit the source for
13750 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13751 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13752 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13753 Use videoinkernel tag.
13754 (usb): Enable on all usb.
13755 (usbserial_common): Likewise.
13756 (usbserial_pl2303): Likewise.
13757 (usbserial_ftdi): Likewise.
13758 (uhci): Enable on all x86.
13759 (ohci): Enable on all pci.
13760 (cmostest): Enable on all CMOS.
13761 (acpi): Include commands/acpi.c on all platforms.
13762 (halt): Add relevant lib/*/halt.c.
13763 (hdparm): Enable on all pci.
13764 (lspci): Likewise.
13765 (usbtest): Enable on all usb.
13766 (ata): Enable on all pci.
13767 (ata_pthru): Likewise.
13768 (usbms): Enable on all usb.
13769 (usb_keyboard): Likewise.
13770 (font): Use tag videomodules.
13771 (bufio): Likewise.
13772 (datetime): Use tag cmos. Enable on all noemu.
13773 (mmap): Use tags common and x86.
13774 (gfxterm): Use tag videomodules.
13775 (bitmap): Likewise.
13776 (bitmap_scale): Likewise.
13777 (video_fb): Likewise.
13778 (video): Likewise.
13779 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13780 adjust padding accordingly. All users updated.
13781 (grub_ohci_transaction): Fix bad format specification.
13782 (GRUB_MOD_INIT): Add asserts for struct size.
13783 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13784 (grub_alloc_td): Likewise.
13785 (grub_free_queue): Likewise.
13786 (grub_uhci_transfer): Likewise.
13787 (grub_uhci_transaction): Fix bad format specification.
13788 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13789 (grub_usb_bulk_readwrite): Likewise.
13790 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13791 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13792 Made static.
13793 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13794 Made static.
13795 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13796 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13797 Transformed into C.
13798 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13799 Moved from here ...
13800 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13801 ... here. Transformed into C. Made static.
13802 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13803 Moved from here ...
13804 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13805 ... here. Transformed into C. Made static.
13806 * grub-core/kern/i386/pc/startup.S
13807 (grub_biosdisk_check_int13_extensions): Moved from here ...
13808 * grub-core/disk/i386/pc/biosdisk.c
13809 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13810 Made static.
13811 * grub-core/kern/i386/pc/startup.S
13812 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13813 * grub-core/disk/i386/pc/biosdisk.c
13814 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13815 Transformed into C. Made static.
13816 * grub-core/kern/i386/pc/startup.S
13817 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13818 * grub-core/disk/i386/pc/biosdisk.c
13819 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13820 Transformed into C. Made static.
13821 * grub-core/kern/i386/pc/startup.S
13822 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13823 * grub-core/disk/i386/pc/biosdisk.c
13824 (grub_biosdisk_get_diskinfo_standard): ... here.
13825 Transformed into C. Made static.
13826 * grub-core/kern/i386/pc/startup.S
13827 (grub_biosdisk_get_num_floppies): Moved from here ...
13828 * grub-core/disk/i386/pc/biosdisk.c
13829 (grub_biosdisk_get_num_floppies): ... here.
13830 Transformed into C. Made static.
13831 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13832 New function.
13833 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13834 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13835 Transformed into C. Made static.
13836 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13837 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13838 Transformed into C. Made static.
13839 * grub-core/kern/i386/ieee1275/init.c: Removed.
13840 * grub-core/kern/i386/misc.S: Likewise.
13841 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13842 Splitted from here ...
13843 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13844 Transformed into C. Made static. All users updated.
13845 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13846 Transformed into C. Made static. All users updated.
13847 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13848 Moved from here...
13849 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13850 Transformed into C. Made static. All users updated.
13851 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13852 Moved from here...
13853 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13854 Transformed into C. Made static. All users updated.
13855 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13856 Removed (replaced by C version).
13857 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13858 Moved from here...
13859 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13860 Transformed into C. Made static.
13861 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13862 Moved from here...
13863 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13864 ... here. Transformed into C.
13865 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13866 Moved from here...
13867 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13868 ... here. Transformed into C.
13869 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13870 Moved from here...
13871 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13872 ... here. Transformed into C. Made static.
13873 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13874 Moved from here...
13875 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13876 ... here. Transformed into C.
21ed554b
VS
13877 * grub-core/kern/i386/pc/startup.S
13878 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13879 * grub-core/video/i386/pc/vbe.c
13880 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13881 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13882 Moved from here...
13883 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13884 ... here. Transformed into C.
13885 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13886 Moved from here...
13887 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13888 ... here. Transformed into C.
13889 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13890 Moved from here...
13891 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13892 ... here. Transformed into C.
13893 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13894 Moved from here...
13895 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13896 ... here. Transformed into C.
13897 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13898 Moved from here...
13899 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13900 ... here. Transformed into C. Made static.
13901 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13902 Moved from here...
13903 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13904 ... here. Transformed into C. Made static.
13905 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13906 Moved from here...
13907 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13908 ... here. Transformed into C. Made static.
13909 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13910 pxe_rm_entry as third argument.
13911 (grub_bios_interrupt): New function.
13912 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13913 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13914 of calling grub_stop.
13915 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13916 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13917 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13918 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13919 * grub-core/lib/i386/halt.c: Moved from here ...
13920 * grub-core/lib/i386/halt.c: ... here.
13921 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13922 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13923 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13924 grub_stop_floppy.
13925 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13926 * include/grub/i386/coreboot/init.h: Removed.
13927 * include/grub/i386/multiboot/init.h: Likewise.
13928 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13929 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13930 * include/grub/i386/pc/int.h: New file.
13931 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13932 (grub_pxe_scan): Removed.
13933 (grub_pxe_call): Update prototype.
13934 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13935 prototypes.
13936 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13937 * include/grub/i386/qemu/init.h: Removed.
13938 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13939 noreturn.
13940 (grub_halt): Likewise.
13941 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13942 (grub_reboot): Likewise.
13943 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13944 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13945 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13946
215dd471
RM
139472010-08-30 Robert Millan <rmh@gnu.org>
13948
13949 * NEWS: Document addition of ZFS support in `grub-install' and
13950 `grub-mkconfig'.
13951
ebd65b82
BC
139522010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13953
13954 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13955 dprintf output.
13956
11721d19
VS
139572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 Remove leftover embedding of font objects.
13960
13961 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13962 * util/grub-install.in (font): Removed.
13963 * util/grub-mkimage.c (generate_image): Remove font support. All users
13964 updated.
13965
37837d4e
VS
139662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13967
13968 Remove leftover embedding of font objects.
13969
13970 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13971 * util/grub-install.in (font): Removed.
13972 * util/grub-mkimage.c (generate_image): Remove font support. All users
13973 updated.
13974
b4c1aae0
VS
139752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13978 Reported by: Ian Turner
b4c1aae0 13979
8920a08d
VS
139802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13983 timeout to avoid indefinite boot stalling.
13984
f21db033
VS
139852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13988 (grub_env_write_color_highlight): Likewise.
13989
9a9de209
VS
139902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * grub-core/normal/term.c (print_more): Return to normal and not
13993 to standard state after printing "---MORE---".
13994
3dca01d7
VS
139952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13998 Mask out the bit 0x80 since it has other meaning that specifiing color.
13999
0b986c40
VS
140002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 New relocator. Allows for more kernel support and more straightforward
14003 loader writing.
14004
14005 * Makefile.am (BOOTTARGET): New variable.
14006 (QEMU32): Likewise.
14007 (linux.init.x86_64): New target.
14008 (linux.init.i386): Likewise.
14009 (multiboot.elf): Likewise.
14010 (kfreebsd.elf): Likewise.
14011 (kfreebsd.aout): Likewise.
14012 (pc-chainloader.elf): Likewise.
14013 (pc-chainloader.bin): Likewise.
14014 (ntldr.elf): Likewise.
14015 (ntldr.bin): Likewise.
14016 (multiboot2.elf): Likewise.
14017 (kfreebsd.init.x86_64): Likewise.
14018 (kfreebsd.init.i386): Likewise.
14019 (knetbsd.init.i386): Likewise.
14020 (kopenbsd.init.i386): Likewise.
14021 (knetbsd.init.x86_64): Likewise.
14022 (kopenbsd.init.x86_64): Likewise.
14023 (linux-initramfs.i386): Likewise.
14024 (linux-initramfs.x86_64): Likewise.
14025 (kfreebsd-mfsroot.i386.img): Likewise.
14026 (knetbsd.image.i386): Likewise.
14027 (kopenbsd.image.i386): Likewise.
14028 (kopenbsd.image.x86_64): Likewise.
14029 (knetbsd.miniroot-image.i386.img): Likewise.
14030 (kfreebsd-mfsroot.x86_64.img): Likewise.
14031 (knetbsd.image.x86_64): Likewise.
14032 (knetbsd.miniroot-image.x86_64.img): Likewise.
14033 (kfreebsd-mfsroot.i386.gz): Likewise.
14034 (bootcheck-kfreebsd-i386): Likewise.
14035 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14036 (bootcheck-kfreebsd-x86_64): Likewise.
14037 (knetbsd.miniroot-image.i386.gz): Likewise.
14038 (bootcheck-knetbsd-i386): Likewise.
14039 (bootcheck-kopenbsd-i386): Likewise.
14040 (bootcheck-kopenbsd-x86_64): Likewise.
14041 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14042 (bootcheck-knetbsd-x86_64): Likewise.
14043 (bootcheck-linux-i386): Likewise.
14044 (bootcheck-linux-x86_64): Likewise.
14045 (bootcheck-linux16-i386): Likewise.
14046 (bootcheck-linux16-x86_64): Likewise.
14047 (bootcheck-multiboot): Likewise.
14048 (bootcheck-multiboot2): Likewise.
14049 (bootcheck-kfreebsd-aout): Likewise.
14050 (bootcheck-pc-chainloader): Likewise.
14051 (bootcheck-ntldr): Likewise.
14052 (CLEANFILES): Add new targets.
14053 (BOOTCHECKS): New variable.
14054 (.PHONY): Add bootchecks.
14055 (SUCCESSFUL_BOOT_STRING): New variable.
14056 (BOOTCHECK_TIMEOUT): Likewise.
14057 (bootcheck): New target
14058 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14059 * configure.ac: Correct efiemu excuse.
14060 * docs/grub.texi (Supported kernels): New chapter.
14061 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14062 include/grub/mm_private.h. Simplify inclusion of
14063 include/grub/boot.h, include/grub/loader.h
14064 and include/grub/msdos_partition.h
14065 (KERNEL_HEADER_FILES) [i386_coreboot]:
14066 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14067 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14068 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14069 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14070 include/grub/machine/loader.h.
14071 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14072 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14073 extra_dist.
14074 (pci.mod): Enable on i386-multiboot.
14075 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14076 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14077 i386-qemu.
14078 (relocator.mod): Rewritten.
14079 (aout.mod): Enable on all x86.
14080 (bsd.mod): Likewise.
14081 (ntldr.mod): New module.
14082 (linux.mod): Use loader/i386/linux.c on all x86.
14083 (xnu.mod): Enable on all x86.
14084 (vga_text.mod): disable on EFI and QEMU.
14085 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14086 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14087 * grub-core/efiemu/loadcore.c: Likewise.
14088 * grub-core/efiemu/main.c: Likewise.
14089 (grub_efiemu_exit_boot_services): Removed.
14090 (grub_efiemu_finish_boot_services): Likewise.
14091 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14092 function.
14093 * grub-core/efiemu/i386/nocfgtables.c: New file.
14094 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14095 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14096 (grub_efi_finish_boot_services): Moved from here ...
14097 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14098 Fille finish memory map and related data.
14099 (finish_mmap_buf): New variable.
14100 (grub_efi_uintn_t finish_mmap_size): Likewise.
14101 (grub_efi_uintn_t finish_key): Likewise.
14102 (grub_efi_uintn_t finish_desc_size): Likewise.
14103 (grub_efi_uint32_t finish_desc_version): Likewise.
14104 (grub_efi_is_finished): Likewise.
14105 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14106 finished.
14107 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14108 (grub_elf64_phdr_iterate): Likewise.
14109 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14110 (grub_os_area_size): Likewise.
14111 (grub_machine_init): Don't reserve os area.
14112 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14113 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14114 * grub-core/kern/i386/loader.S: Removed.
14115 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14116 (grub_os_area_size): Likewise.
14117 (grub_machine_init): Don't reserve os area.
14118 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14119 Don't call grub_dl_unload_all.
14120 Don't include loader.S.
14121 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14122 Declare the memory after _end as available.
14123 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14124 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14125 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14126 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14127 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14128 * include/grub/mm_private.h (grub_mm_header): ... here.
14129 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14130 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14131 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14132 (grub_mm_region): ..here. Removed addr. Added pre_size.
14133 All users updated.
14134 * grub-core/kern/mm.c (base): Renamed to ...
14135 (grub_mm_base): ... this. Made global.
14136 (grub_real_malloc): Alloc from end of region.
14137 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14138 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14139 * grub-core/kern/powerpc/cache_flush.S: ... here.
14140 * grub-core/lib/efi/relocator.c: New file.
14141 * grub-core/lib/i386/relocator.c: Rewritten.
14142 * grub-core/lib/i386/relocator16.S: New file.
14143 * grub-core/lib/i386/relocator32.S: Likewise.
14144 * grub-core/lib/i386/relocator64.S: Likewise.
14145 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14146 * grub-core/lib/i386/relocator_common.S: New file.
14147 * grub-core/lib/ieee1275/relocator.c: Likewise.
14148 * grub-core/lib/mips/relocator.c: Rewritten.
14149 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14150 stylistic adjustments.
14151 * grub-core/lib/powerpc/relocator.c: New file.
14152 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14153 * grub-core/lib/relocator.c: Rewritten.
14154 * grub-core/lib/x86_64/relocator_asm.S: New file.
14155 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14156 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14157 (bsd_tag): New struct.
14158 (tags): New variable.
14159 (tags_last): Likewise.
14160 (netbsd_module): New struct.
14161 (netbsd_mods): New variable.
14162 (netbsd_mods_last): Likewise.
14163 (openbsd_opts): New parameter "serial".
14164 (OPENBSD_SERIAL_ARG): New definition.
14165 (netbsd_opts): New parameter "serial".
14166 (NETBSD_SERIAL_ARG): New definition.
14167 (grub_freebsd_add_meta): Reorganised into ...
14168 (grub_bsd_add_meta): ...this. All users updated.
14169 (grub_freebsd_add_mmap): Reorganised into ...
14170 (generate_e820_mmap): ...this...
14171 (grub_bsd_add_mmap): ...and this. All users updated.
14172 (grub_freebsd_list_modules): Use tags.
14173 (grub_netbsd_add_meta_module): New function.
14174 (grub_netbsd_list_modules): Likewise.
14175 (grub_freebsd_boot): Use relocator and finish EFI.
14176 (grub_openbsd_boot): Likewise.
14177 (grub_netbsd_setup_video): New function.
14178 (grub_netbsd_add_modules): Likewise.
14179 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14180 and finish EFI.
14181 (grub_bsd_unload): Unload tags.
14182 (grub_bsd_load_aout): Use relocator.
14183 (grub_bsd_elf32_size_hook): New function.
14184 (grub_bsd_elf32_hook): Use relocator.
14185 (grub_bsd_elf64_size_hook): New function.
14186 (grub_bsd_elf64_hook): Use relocator.
14187 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14188 (grub_bsd_load): Zero-out openbsd_ramdisk.
14189 (grub_bsd_load): Use relocator.
14190 (grub_cmd_openbsd): Support serial.
14191 (grub_cmd_netbsd): Support modules.
14192 (grub_cmd_freebsd_module): Use relocator.
14193 (grub_netbsd_module_load): New function.
14194 (grub_cmd_netbsd_module): Likewise.
14195 (grub_cmd_openbsd_ramdisk): Likewise.
14196 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14197 kopenbsd_ramdisk.
14198 (GRUB_MOD_FINI): Unregister new commands.
14199 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14200 (grub_freebsd_load_elfmodule_obj): Use relocator.
14201 (grub_freebsd_load_elfmodule): Likewise.
14202 (grub_freebsd_load_elf_meta): Likewise.
14203 (grub_netbsd_load_elf_meta): New function.
14204 (grub_openbsd_find_ramdisk): Likewise.
14205 * grub-core/loader/i386/bsd_helper.S: Removed.
14206 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14207 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14208 * grub-core/loader/i386/efi/linux.c: Likewise.
14209 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14210 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14211 (DEFAULT_VIDEO_MODE): Likewise.
14212 (real_mode_target): New variable.
14213 (prot_mode_target): Likewise.
14214 (initrd_mem_target): Likewise.
14215 (relocator): Likewise.
14216 (efi_mmap_buf): Likewise.
14217 (efi_mmap_size): Likewise.
14218 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14219 (free_pages): Use relocator.
14220 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14221 (grub_linux_setup_video): Return error.
14222 (grub_linux_trampoline_start): Removed.
14223 (grub_linux_trampoline_end): Likewise.
14224 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14225 andd video parameters depending on firmware.
14226 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14227 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14228 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14229 (grub_cmd_initrd): Use relocator.
14230 * grub-core/loader/i386/linux_trampoline.S: Removed.
14231 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14232 (elf_sec_entsize): Likewise.
14233 (elf_sec_shstrndx): Likewise.
14234 (elf_sections): Likewise.
14235 (grub_multiboot_load): Use relocator.
14236 (grub_multiboot_get_mbi_size): Account for sections.
14237 (grub_multiboot_make_mbi): Use relocator and support sections.
14238 (grub_multiboot_add_elfsyms): New function.
14239 (grub_multiboot_free_mbi): Free sections.
14240 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14241 (grub_linux_real_target): Likewise.
14242 (grub_linux_real_chunk): Likewise.
14243 (grub_linux16_prot_size): Likewise.
14244 (grub_linux16_boot): Use relocator.
14245 (grub_linux_unload): Unload relocator.
14246 (grub_cmd_linux): Use relocator.
14247 (grub_cmd_initrd): Likewise.
14248 * grub-core/loader/i386/pc/ntldr.c: New file.
14249 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14250 Don't try to guess CPU frequency.
14251 (grub_xnu_set_video): Stretch bitmap.
14252 (grub_xnu_boot): Use relocator.
14253 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14254 (grub_linux_unload): Free relocator.
14255 (grub_linux_load32): Use relocator.
14256 (grub_linux_load64): Likewise.
14257 (grub_cmd_initrd): Likewise.
14258 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14259 (grub_multiboot_unload): Unload relocator.
14260 (grub_cmd_multiboot): Use relocator.
14261 (grub_cmd_module): Likewise.
14262 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14263 Use relocator and support sections.
14264 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14265 (elf_sec_entsize): Likewise.
14266 (elf_sec_shstrndx): Likewise.
14267 (elf_sections): Likewise.
14268 (grub_multiboot_load): Use relocator.
14269 (grub_multiboot_get_mbi_size): Account for sections.
14270 (grub_multiboot_make_mbi): Use relocator and support sections.
14271 (grub_multiboot_add_elfsyms): New function.
14272 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14273 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14274 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14275 Prototype changed. All users updated.
14276 (grub_xnu_align_heap): Simplified.
14277 (grub_xnu_writetree_toheap): Likewise.
14278 (grub_xnu_unload): Unload relocator.
14279 (grub_cmd_xnu_kernel): Use relocator.
14280 (grub_cmd_xnu_kernel64): Likewise.
14281 (grub_xnu_register_memory): Simplified.
14282 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14283 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14284 EFI is finished.
14285 (grub_console_checkkey): Likewise.
14286 (grub_console_getkey): Likewise.
14287 (grub_console_getwh): Likewise.
14288 (grub_console_getxy): Likewise.
14289 (grub_console_gotoxy): Likewise.
14290 (grub_console_cls): Likewise.
14291 (grub_console_setcolorstate): Likewise.
14292 (grub_console_setcursor): Likewise.
14293 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14294 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14295 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14296 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14297 * grub-core/tests/boot/kernel-8086.S: Likewise.
14298 * grub-core/tests/boot/kernel-i386.S: Likewise.
14299 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14300 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14301 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14302 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14303 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14304 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14305 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14306 * grub-core/tests/boot/linux.cfg: Likewise.
14307 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14308 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14309 * grub-core/tests/boot/linux16.cfg: Likewise.
14310 * grub-core/tests/boot/multiboot.cfg: Likewise.
14311 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14312 * grub-core/tests/boot/ntldr.cfg: Likewise.
14313 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14314 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14315 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14316 New definition.
14317 * include/grub/dl.h (grub_dl_unload_all): Removed.
14318 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14319 (grub_efi_finish_boot_services): Change prototype.
14320 (grub_efi_is_finished): New variable.
14321 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14322 Changed prototype.
14323 (grub_efiemu_finish_boot_services): Removed.
14324 (grub_machine_efiemu_init_tables): New prototype.
14325 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14326 (grub_elf64_phdr_iterate): Likewise.
14327 * include/grub/i386/bsd.h: Include relocator.h.
14328 (freebsd_tag_header): New struct.
14329 (grub_openbsd_bios_mmap): Removed.
14330 (grub_unix_real_boot): Removed.
14331 (grub_freebsd_load_elfmodule32): Changed prototype.
14332 (grub_freebsd_load_elfmodule_obj64): Likewise.
14333 (grub_freebsd_load_elf_meta32): Likewise.
14334 (grub_freebsd_load_elf_meta64): Likewise.
14335 (grub_freebsd_add_meta): Removed.
14336 (grub_netbsd_load_elf_meta32): New prototype.
14337 (grub_netbsd_load_elf_meta64): Likewise.
14338 (grub_bsd_add_meta): Likewise.
14339 (grub_openbsd_ramdisk_descriptor): New struct.
14340 (grub_openbsd_find_ramdisk32): New prototype.
14341 (grub_openbsd_find_ramdisk64): Likewise.
14342 * include/grub/i386/coreboot/loader.h: Removed.
14343 * include/grub/i386/efi/loader.h: Likewise.
14344 * include/grub/i386/ieee1275/loader.h: Likewise.
14345 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14346 to grub_uint32_t.
14347 * include/grub/i386/loader.h: Removed.
14348 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14349 value.
14350 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14351 (grub_phys_addr_t): New type.
14352 (grub_vtop): New inline function.
14353 (grub_map_memory): Likewise.
14354 (grub_unmap_memory): Likewise.
14355 * include/grub/i386/multiboot/loader.h: Removed.
14356 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14357 (NETBSD_BTINFO_CONSOLE): New definition.
14358 (NETBSD_BTINFO_SYMTAB): Likewise.
14359 (NETBSD_BTINFO_MODULES): Likewise.
14360 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14361 (grub_netbsd_bootinfo): New struct.
14362 (grub_netbsd_btinfo_common): Use explicit bitsize.
14363 (grub_netbsd_btinfo_mmap_entry): Removed.
14364 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14365 (grub_netbsd_btinfo_bootdisk): New struct.
14366 (grub_netbsd_btinfo_symtab): Likewise.
14367 (grub_netbsd_btinfo_serial): Likewise.
14368 (grub_netbsd_btinfo_modules): Likewise.
14369 (grub_netbsd_btinfo_framebuf): Likewise.
14370 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14371 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14372 Likewise.
14373 (grub_openbsd_bootargs): Use explicit bitsize.
14374 (grub_openbsd_bootarg_console): New struct.
14375 (GRUB_OPENBSD_COM_MAJOR): New definition.
14376 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14377 * include/grub/i386/pc/efiemu.h: Removed.
14378 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14379 * include/grub/i386/qemu/loader.h: Removed.
14380 * include/grub/i386/relocator.h: Rewritten.
14381 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14382 * include/grub/mips/memory.h: New file.
14383 * include/grub/mips/multiboot.h: Rewritten.
14384 * include/grub/mips/relocator.h: Rewritten.
14385 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14386 (grub_vtop): New function.
14387 (grub_map_memory): Likewise.
14388 (grub_unmap_memory): Likewise.
14389 * include/grub/misc.h (ALIGN_DOWN): New definition.
14390 * include/grub/mm.h (grub_mm_check_real): New proto.
14391 (GRUB_MM_CHECK): New definition.
14392 * include/grub/mm_private.h: New file.
14393 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14394 (grub_multiboot_get_mbi_size): Removed.
14395 (grub_multiboot_make_mbi): Change prottype.
14396 (grub_multiboot_set_accepts_video): New proto.
14397 (grub_multiboot_add_elfsyms): Likewise.
14398 (grub_multiboot_payload_eip): New variable.
14399 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14400 New prototype.
14401 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14402 New definition.
14403 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14404 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14405 * include/grub/powerpc/ieee1275/loader.h: Removed.
14406 * include/grub/powerpc/memory.h: New file.
14407 * include/grub/powerpc/relocator.h: Likewise.
14408 * include/grub/relocator.h: Likewise.
14409 * include/grub/relocator_private.h: Likewise.
14410 * include/grub/sparc64/ieee1275/loader.h: Removed.
14411 * include/grub/x86_64/memory.h: New file.
14412 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14413 (grub_xnu_heap_malloc): Likewise.
14414 (grub_xnu_heap_real_start): Removed.
14415 (grub_xnu_heap_start): Likewise.
14416 (grub_xnu_relocator): New variable.
14417 (grub_xnu_heap_target_start): Likewise.
14418 * tests/util/grub-shell.in: Support non-pc.
14419 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14420
5303b85d
VS
144212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14424 on malloc error.
14425 (grub_bidi_logical_to_visual): Check that malloc succeded.
14426 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14427 puts.
14428 (grub_xputs_normal): Likewise.
14429
d768d159
VS
144302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14433 extra_dist.
14434
144352010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14438
5bf84df4
VS
144392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14442
3626810e
VS
144432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14446 dprintf.
14447
a7363f53
BC
144482010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14449
14450 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14451
902f75f6
VS
144522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * grub-core/normal/term.c (print_more): Fix a memory leak.
14455 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14456 (grub_xputs_normal): Likewise.
14457
3c707967
VS
144582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14461 the begining of the string
14462
2053cc07
VS
144632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14464
14465 * grub-core/script/script.c (grub_script_parse): Free parsed on
14466 failure.
14467
46422ebf
VS
144682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14471 on failure.
14472
9e0fa3f6
VS
144732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14476 return.
14477
3393cf16
VS
144782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14481 (scroll_up): Fix a memory leak.
14482
b17540cb
VS
144832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14486 errors.
14487
67140446
VS
144882010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 Handle USB pendrives exposed as floppies.
14491
14492 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14493 floppy.
14494 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14495 Check for partitions on all devices.
14496
e35e46fc
VS
144972010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14500 (readkey): Likewise.
14501
d24c6190
BC
145022010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14503
14504 Multiple variable names support to "export" command.
14505
14506 * normal/context.c (grub_cmd_export): "export" command supports
14507 multiple variable names.
14508
04ddcc6a
ST
145092010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14510
14511 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14512 --target=drive output to Mach device name.
14513
0c8b61d8
BC
145142010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14515
14516 New Automake based build system for GRUB.
14517
14518 * ABOUT-NLS: New file.
14519 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14520 in Makefile.util.def file.
14521 * Makefile.util.def: New file. Autogen build definitions file for
14522 GRUB host utils.
14523 * conf/Makefile.common: New file. Common variables for GRUB host
14524 utils and target modules.
14525 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14526 * docs/Makefile.am: New file. Automake file for docs.
14527 * gentpl.py: New file. Python script to generate Autogen
14528 template.
14529 * grub-core/Makefile.am: New file. GRUB target modules' rules
14530 that doesn't fit in Makefile.core.def file.
14531 * grub-core/Makefile.core.def: New file. Autogen build
14532 definitions file for GRUB target modules.
14533 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14534 specific setjmp.S file.
14535 * po/Makefile.am: New file.
14536
14537 * .bzrignore: New ignores.
14538 * INSTALL: New requirements, without Ruby.
14539 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14540 * autogen.sh: Updated to invoke autogen as necessary.
14541 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14542 and defines for Automake conditionals.
14543 * geninit.sh: Refactoring.
14544
14545 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14546 necessary.
14547 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14548 New prototype.
14549
14550 * include/grub/test.h: Fix functional test modules' naming.
14551 * grub-core/tests/example_functional_test.c: Fix test module name.
14552
14553 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14554 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14555 * util/grub-editenv.c: Likewise.
14556 * util/grub-fstest.c: Likewise.
14557 * util/grub-mkdevicemap.c: Likewise.
14558 * util/grub-mkfont.c: Likewise.
14559 * util/grub-mkimage.c: Likewise.
14560 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14561 * util/grub-probe.c: Likewise.
14562 * util/grub-script-check.c: Likewise.
14563 * util/i386/pc/grub-setup.c: Likewise.
14564 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14565
14566 * tests/util/grub-shell.in: Fix override directory path.
14567 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14568 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14569
14570 * util/lvm.c: Update #includes.
14571 * util/raid.c: Likewise.
14572 * util/resolve.c: Likewise.
14573 * grub-core/bus/emu/pci.c: Likewise.
14574 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14575 * grub-core/lib/posix_wrap/string.h: Likewise.
14576 * grub-core/kern/emu/main.c: Likewise.
14577
14578 * grub-core/gensymlist.sh: New file. Script for generating kernel
14579 symbols file.
14580 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14581
14582 * grub-core/gentrigtables.c: Fix unused variable warnings.
14583
14584 * Makefile.in: Removed.
14585 * conf/any-emu.rmk: Removed.
14586 * conf/common.rmk: Removed.
14587 * conf/i386-coreboot.rmk: Removed.
14588 * conf/i386-efi.rmk: Removed.
14589 * conf/i386-ieee1275.rmk: Removed.
14590 * conf/i386-multiboot.rmk: Removed.
14591 * conf/i386-pc.rmk: Removed.
14592 * conf/i386-qemu.rmk: Removed.
14593 * conf/i386.rmk: Removed.
14594 * conf/mips-yeeloong.rmk: Removed.
14595 * conf/mips.rmk: Removed.
14596 * conf/powerpc-ieee1275.rmk: Removed.
14597 * conf/sparc64-ieee1275.rmk: Removed.
14598 * conf/tests.rmk: Removed.
14599 * conf/x86-efi.rmk: Removed.
14600 * conf/x86_64-efi.rmk: Removed.
14601 * gendistlist.sh: Removed.
14602 * geninitheader.sh: Removed.
14603 * genkernsyms.sh.in: Removed.
14604 * genmk.rb: Removed.
14605 * gensymlist.sh.in: Removed.
14606 * mkinstalldirs: Removed.
14607 * boot: Moved ...
14608 * grub-core/boot: ... to here.
14609 * bus: Moved ...
14610 * grub-core/bus: ... to here.
14611 * commands: Moved ...
14612 * grub-core/commands: ... to here.
14613 * disk: Moved ...
14614 * grub-core/disk: ... to here.
14615 * efiemu: Moved ...
14616 * grub-core/efiemu: ... to here.
14617 * font: Moved ...
14618 * grub-core/font: ... to here.
14619 * fs: Moved ...
14620 * grub-core/fs: ... to here.
14621 * gencmdlist.sh: Moved ...
14622 * grub-core/gencmdlist.sh: ... to here.
14623 * genemuinit.sh: Moved ...
14624 * grub-core/genemuinit.sh: ... to here.
14625 * genemuinitheader.sh: Moved ...
14626 * grub-core/genemuinitheader.sh: ... to here.
14627 * genfslist.sh: Moved ...
14628 * grub-core/genfslist.sh: ... to here.
14629 * genhandlerlist.sh: Moved ...
14630 * grub-core/genhandlerlist.sh: ... to here.
14631 * genmoddep.awk: Moved ...
14632 * grub-core/genmoddep.awk: ... to here.
14633 * genmodsrc.sh: Moved ...
14634 * grub-core/genmodsrc.sh: ... to here.
14635 * genpartmaplist.sh: Moved ...
14636 * grub-core/genpartmaplist.sh: ... to here.
14637 * genparttoollist.sh: Moved ...
14638 * grub-core/genparttoollist.sh: ... to here.
14639 * genterminallist.sh: Moved ...
14640 * grub-core/genterminallist.sh: ... to here.
14641 * gentrigtables.c: Moved ...
14642 * grub-core/gentrigtables.c: ... to here.
14643 * genvideolist.sh: Moved ...
14644 * grub-core/genvideolist.sh: ... to here.
14645 * gettext: Moved ...
14646 * grub-core/gettext: ... to here.
14647 * gfxmenu: Moved ...
14648 * grub-core/gfxmenu: ... to here.
14649 * gnulib: Moved ...
14650 * grub-core/gnulib: ... to here.
14651 * hello: Moved ...
14652 * grub-core/hello: ... to here.
14653 * hook: Moved ...
14654 * grub-core/hook: ... to here.
14655 * io: Moved ...
14656 * grub-core/io: ... to here.
14657 * kern: Moved ...
14658 * grub-core/kern: ... to here.
14659 * lib: Moved ...
14660 * grub-core/lib: ... to here.
14661 * loader: Moved ...
14662 * grub-core/loader: ... to here.
14663 * mmap: Moved ...
14664 * grub-core/mmap: ... to here.
14665 * normal: Moved ...
14666 * grub-core/normal: ... to here.
14667 * partmap: Moved ...
14668 * grub-core/partmap: ... to here.
14669 * parttool: Moved ...
14670 * grub-core/parttool: ... to here.
14671 * script: Moved ...
14672 * grub-core/script: ... to here.
14673 * term: Moved ...
14674 * grub-core/term: ... to here
14675 * tests/example_functional_test.c: Moved ...
14676 * grub-core/tests/example_functional_test.c: ... to here.
14677 * tests/lib/functional_test.c: Moved ...
14678 * grub-core/tests/lib/functional_test.c: ... to here.
14679 * tests/lib/test.c: Moved ...
14680 * grub-core/tests/lib/test.c: ... to here.
14681 * video: Moved ...
14682 * grub-core/video: ... to here.
14683
645586e6
BC
146842010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14685
14686 Replace --enable-grub-emu-modules with grub-emu-lite.
14687
14688 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14689 cache.S.
14690
14691 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14692 * kern/emu/full.c: New file. For grub-emu specific initialization.
14693 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14694 * kern/emu/main.c: Call initialization function grub_emu_init.
14695
14696 * Makefile.in: Include grub-emu-lite in install.
14697 * commands/parttool.c: Use grub_no_autoload to differentiate
14698 between grub-emu and grub-emu-lite.
14699 * include/grub/misc.h: New variable grub_no_autoload.
14700
14701 * conf/any-emu.rmk: New rules for grub-emu-lite.
14702 * configure.ac: Remove --enable-grub-emu-modules.
14703 * genmk.rb: Cleanup unnecessary rules.
14704 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14705
14706 * normal/main.c: Don't load list files on grub-emu-lite.
14707 * util/misc.c (grub_arch_sync_caches): Removed.
14708
f86a4030
CW
147092010-08-23 Colin Watson <cjwatson@ubuntu.com>
14710
14711 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14712 grub-mkimage rather than grub-mkelfimage.
14713 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14714
06776944
VS
147152010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14718 a key after CapsLock or NumLock. It's just a qemu bug.
14719
df262419
VS
147202010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14723 needed by libusb wrapper.
14724
b40ea81b
ST
147252010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14726
14727 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14728
dee50575
VS
147292010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14730
14731 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14732 --nounzip is passed.
14733
fb1d7b79
VS
147342010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 USB hotunplugging and USB serial support.
14737
14738 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14739 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14740 (grub_uhci_transfer): Respect timeout and set *actual.
14741 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14742 non-standard length.
14743 (grub_usb_device_attach): Autoload modules.
14744 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14745 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14746 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14747 users updated.
14748 (grub_usb_add_hub): Fill nports and children.
14749 (attach_root_port): Receive hub instead of controller.
14750 All users updated. Fill hub->devices.
14751 (grub_usb_root_hub): Allocate hub->devices.
14752 (detach_device): New function.
14753 (poll_nonroot_hub): Fill children and detach devices.
14754 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14755 actual arguments. All users updated.
14756 (grub_usb_bulk_read_extended): New function.
14757 * bus/usb/serial/common.c: New file.
14758 * bus/usb/serial/ftdi.c: Likewise.
14759 * bus/usb/serial/pl2303.c: Likewise.
14760 * commands/terminal.c (handle_command): Support wildcard.
14761 * commands/usbtest.c: Output "Unknown" instead of empty string.
14762 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14763 (usbserial_common_mod_SOURCES): New variable.
14764 (usbserial_common_mod_CFLAGS): Likewise.
14765 (usbserial_common_mod_LDFLAGS): Likewise.
14766 (pkglib_MODULES): Add usbserial_pl2303.mod.
14767 (usbserial_pl2303_mod_SOURCES): New variable.
14768 (usbserial_pl2303_mod_CFLAGS): Likewise.
14769 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14770 (pkglib_MODULES): Add usbserial_ftdi.mod.
14771 (usbserial_ftdi_mod_SOURCES): New variable.
14772 (usbserial_ftdi_mod_CFLAGS): Likewise.
14773 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14774 (pkglib_MODULES): Add serial.mod.
14775 (serial_mod_SOURCES): New variable.
14776 (serial_mod_CFLAGS): Likewise.
14777 (serial_mod_LDFLAGS): Likewise.
14778 * conf/i386-pc.rmk: Likewise.
14779 * conf/mips-yeeloong.rmk: Likewise.
14780 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14781 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14782 * disk/usbms.c (first_available_slot): New variable.
14783 (grub_usbms_attach): Don't reuse free slots due to potential cache
14784 problems.
14785 * include/grub/serial.h: Moved to ..
14786 * include/grub/ns8250.h: ...this.
14787 * include/grub/serial.h: New file.
14788 * include/grub/term.h (grub_term_poll_usb): New variable.
14789 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14790 readkey. All users updated.
14791 (grub_terminfo_output_state): Pass term to put.
14792 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14793 (grub_usb_controller_dev): Add timeout and actual arguments to
14794 transfer. All users updated.
14795 (grub_usb_interface): New field detach_data.
14796 (grub_usb_device): New fields children and nports.
14797 (grub_usb_ep_type_t): New type.
14798 (grub_usb_get_ep_type): New function.
14799 (grub_usb_bulk_read_extended): Likewise.
14800 * include/grub/usbdesc.h (grub_usb_desc): New type.
14801 * include/grub/usbserial.h: New file.
14802 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14803 * kern/term.c (grub_term_poll_usb): New variable.
14804 (grub_getkey): Call grub_term_poll_usb if set.
14805 (grub_checkkey): Likewise.
14806 (grub_getkeystatus): Likewise.
14807 * term/serial.c: Moved controller-specific parts to ...
14808 * term/ns8250.c: ... here.
14809 * term/serial.c: Mostly rewritten.
14810 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14811 according to spec.
14812
21a313de
RM
148132010-08-20 Robert Millan <rmh@gnu.org>
14814
14815 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14816 a separate module and maybe other interesting combinations.
14817
14818 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14819 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14820 (kfreebsd_entry): Add generic filesystem module load routine.
14821 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14822
63c734a6
CW
148232010-08-20 Colin Watson <cjwatson@ubuntu.com>
14824
14825 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14826 "numcenter" (I misunderstood the purpose of this entry).
14827 * docs/grub.texi (sendkey): Likewise.
14828
c4d16542
CW
148292010-08-20 Colin Watson <cjwatson@ubuntu.com>
14830
14831 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14832 status flag options; simply omitting the option is equivalent and
14833 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14834 (keysym_table): Rename "num5numlock" to "numlock".
14835 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14836 can uniformly say that only the last of multiple `sendkey'
14837 invocations has any effect.
14838 * docs/grub.texi (sendkey): New section.
14839
93541d66
CW
148402010-08-19 Colin Watson <cjwatson@ubuntu.com>
14841
14842 * commands/i386/pc/sendkey.c (options): Fix three typos.
14843
b4ece5e1
VS
148442010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14845
14846 Implement sendkey support.
14847
14848 * commands/i386/pc/sendkey.c: New file.
14849 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14850 (sendkey_mod_SOURCES): New variable.
14851 (sendkey_mod_CFLAGS): Likewise.
14852 (sendkey_mod_LDFLAGS): Likewise.
14853
51f1f5af
CW
148542010-08-18 Colin Watson <cjwatson@ubuntu.com>
14855
14856 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14857 fix warnings from Autoconf.
14858
9da94e05
CW
148592010-08-18 Colin Watson <cjwatson@ubuntu.com>
14860
14861 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14862 to avoid false positives with some assemblers that output things
14863 like "someprefix_func" as part of their output.
14864
729a0f2e
RM
148652010-08-15 Robert Millan <rmh@gnu.org>
14866
14867 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14868 errors.
14869 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14870 grub_get_libzfs_handle() errors.
14871
f3710e08
RM
148722010-08-14 Robert Millan <rmh@gnu.org>
14873
14874 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14875 filesystem is not ZFS.
14876
7a3c13de
BC
148772010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14878
14879 Fix for misspelled color names defaulting to black/black (bug
14880 reported by Doug Nazar)
14881
14882 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14883 status to prototype.
14884 * normal/color.c (grub_parse_color_name_pair): Return failure
14885 status.
14886 (grub_env_write_color_normal): Ignore bad color names.
14887 (grub_env_write_color_highlight): Likewise.
14888 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14889
ab8ba50d
BC
148902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14891
14892 "shift" command support to GRUB script.
14893
14894 * include/grub/script_sh.h (grub_script_shift): New prototype.
14895 * script/execute.c (grub_script_shift): New function.
14896 * script/main.c (grub_script_init): Register shift command.
14897 (grub_script_fini): Unregister shift command.
14898 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14899
14900 * tests/grub_script_shift.in: New testcase.
14901 * conf/tests.rmk: Rules for new testcase.
14902
4d61999e
BC
149032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14904
14905 "continue" command support to GRUB script.
14906
14907 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14908 (grub_script_break): Continue support.
14909 * script/main.c (grub_script_init): Register continue command.
14910 (grub_script_fini): Unregister continue command.
14911
14912 * tests/grub_script_continue.in: New testcase.
14913 * conf/tests.rmk: Rules for new testcase.
14914
4df51e00
BC
149152010-08-12 BVK Chaitanya <bvk@dbook>
14916
14917 "break" command support to GRUB script.
14918
14919 * conf/common.rmk: Rule updates to grub-script-check.
14920 * include/grub/misc.h (grub_min): New function.
14921 * include/grub/script_sh.h (grub_script_init): New prototype.
14922 (grub_script_fini): New prototype.
14923 (grub_script_break): New prototype.
14924 * script/main.c (grub_script_init): New function.
14925 (grub_script_fini): New function.
14926 * script/execute.c (grub_script_break): New function.
14927 * normal/main.c: Calls to grub_script_{init,fini}.
14928 * util/grub-script-check.c (grub_script_break): New function.
14929
14930 * tests/grub_script_break.in: New testcase.
14931 * conf/tests.rmk: Rules for new test case.
14932
f12c8420
BC
149332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14934
14935 Function parameters support to GRUB script.
14936
14937 * script/yylex.l (VARIABLE): Regular expression update.
14938 * script/function.c (grub_script_function_call): Moved ...
14939 * script/execute.c (grub_script_function_call): ... to here.
14940 (grub_script_execute_arglist_to_argv): Removed.
14941 (grub_script_arglist_to_argv): New function.
14942 * script/argv.c: New file.
14943 (grub_script_argv_free): New function.
14944 (grub_script_argv_next): Likewise.
14945 (grub_script_argv_append): Likewise.
14946 (grub_script_argv_split_append): Likewise.
14947 * include/grub/script_sh.h (grub_script_argv): New struct.
14948 (grub_script_argv_free): New function.
14949 (grub_script_argv_next): Likewise.
14950 (grub_script_argv_append): Likewise.
14951 (grub_script_argv_split_append): Likewise.
14952
14953 * conf/common.rmk (normal.mod): New source script/argv.c.
14954
14955 * tests/grub_script_echo1.in: More tests.
14956 * tests/grub_script_vars1.in: Likewise.
14957 * tests/grub_script_functions.in: New test case.
14958 * conf/tests.rmk: Rules for new testcase.
14959
8022b748
BC
149602010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14961
14962 Remove grub_script_cmdblock struct.
14963
14964 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14965 * script/parser.y: Likewise.
14966 * script/execute.c: Rename cmdblock suffix to cmdlist.
14967 * script/script.c: Likewise.
14968 * util/grub-script-check.c: Likewise.
14969
79a6ba61
YB
149702010-08-11 Yves Blusseau <blusseau@zetam.org>
14971
14972 * .bzrignore: add grub-macho2img
14973
d04b9414
VS
149742010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14977
f947ab49
VS
149782010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 Remove the dump of sm712 initialisation sequence.
14981
14982 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14983 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14984 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14985 (GRUB_VGA_CR_*): Added many registers.
14986 (GRUB_VGA_SR_*): Likewise.
14987 (GRUB_VGA_GR_*): Likewise.
14988 (grub_vga_write_arx): New function.
14989 (grub_video_hw_config): New struct.
14990 (grub_vga_set_geometry): New function.
14991 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14992 GRUB_PCI_CLASS_SUBCLASS_VGA.
14993 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14994 * video/sm712.c (grub_sm712_write_reg): New function
14995 (grub_sm712_read_reg): Likewise.
14996 (grub_sm712_sr_write): Likewise.
14997 (grub_sm712_gr_write): Likewise.
14998 (grub_sm712_cr_write): Likewise.
14999 (grub_sm712_write_arx): Likewise.
15000 (grub_sm712_cr_shadow_write): Likewise.
15001 (grub_sm712_write_dda_lookup): Likewise.
15002 (grub_video_sm712_setup): Initialise the video rather then
15003 blindly replay the dump.
15004 (main) [TEST]: Add a routine to be able to compile as standalone for
15005 tests.
15006 * video/sm712_init.c (sm712_init): Removed.
15007 (sm712_sr_seq1): New array.
15008 (sm712_sr_seq2): Likewise.
15009
f0206638
VS
150102010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * include/grub/vga.h: Add missing grub/pci.h include.
15013
2764da3b
YB
150142010-08-10 Yves Blusseau <blusseau@zetam.org>
15015
15016 * util/grub-macho2img.c (main): fix typo
15017
cf0c775e
VS
150182010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15021 (grub_vga_gr_read): Likewise.
15022 (grub_vga_cr_write): Likewise.
15023 (grub_vga_cr_read): Likewise.
15024 (grub_vga_sr_write): Likewise.
15025 (grub_vga_sr_read): Likewise.
15026 (grub_vga_palette_read): Likewise.
15027 (grub_vga_palette_write): Likewise.
15028 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15029 (grub_sm712_sr_read): New function.
15030 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15031 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15032
07f360e9
RM
150332010-08-09 Robert Millan <rmh@gnu.org>
15034
15035 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15036 out unused variables on non-ZFS build.
15037
346c2072
RM
150382010-08-08 Robert Millan <rmh@gnu.org>
15039
15040 Fix path generation for sub-filesystems in ZFS.
15041
15042 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15043 missing slash.
15044
71175420
RM
150452010-08-08 Robert Millan <rmh@gnu.org>
15046
15047 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15048
0d8286f3
RM
150492010-08-08 Robert Millan <rmh@gnu.org>
15050
15051 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15052 exist, issue a proper error message (rely on `ls' for translated
15053 strings).
15054
55dd2924
RM
150552010-08-08 Robert Millan <rmh@gnu.org>
15056
15057 Fix grub-probe invocation.
15058
15059 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15060
d3dd9e80
RM
150612010-08-04 Robert Millan <rmh@gnu.org>
15062
15063 * configure.ac: Remove checks for getfsstat() and getmntany().
15064 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15065 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15066 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15067 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15068 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15069 function.
15070 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15071 via find_mount_point_from_dir() and getfsstat() / getmntany().
15072
0de22aa9
RM
150732010-08-04 Robert Millan <rmh@gnu.org>
15074
15075 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15076 (grub_find_zpool_from_mount_point): Merge into ...
15077 (grub_find_zpool_from_dir): ... this.
15078 * kern/emu/misc.c: Likewise.
15079
15080 * kern/emu/misc.c
15081 (grub_make_system_path_relative_to_its_root): Replace
15082 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15083 with grub_find_zpool_from_dir().
15084 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15085
62858144
RM
150862010-08-04 Robert Millan <rmh@gnu.org>
15087
15088 Support OpenSolaris in ZFS device resolution.
15089
15090 * configure.ac: Check for getmntany().
15091 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15092 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15093 support.
15094
9dd6fd50
RM
150952010-08-03 Robert Millan <rmh@gnu.org>
15096
15097 Fix grub-emu build.
15098
15099 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15100 * include/grub/emu/misc.h: ... here.
15101
15102 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15103 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15104
15105 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15106 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15107 (grub_get_libzfs_handle): Move to ...
15108 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15109 (grub_get_libzfs_handle): ... here.
15110
c9f7ff97
BC
151112010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15112
15113 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15114 as command name case.
15115
a870a783
CW
151162010-08-02 Colin Watson <cjwatson@ubuntu.com>
15117
15118 * disk/raid.c (insert_array): Select unique numbers for named arrays
15119 as well, for use as keys in the disk cache.
15120
c7db243b
RM
151212010-08-01 Robert Millan <rmh@gnu.org>
15122
15123 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15124 kFreeBSD device name, except on ZFS where the filesystem label is
15125 used.
15126 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15127 `/boot/zfs/zpool.cache'.
15128 Set mountfrom kernel variable using ${kfreebsd_device}.
15129
f7abdefb
RM
151302010-08-01 Robert Millan <rmh@gnu.org>
15131
15132 Make it even harder to use uninitialized `libzfs_handle' (and
15133 make the interface a bit simpler).
15134
15135 * include/grub/util/misc.h (grub_util_init_libzfs)
15136 (libzfs_handle): Remove.
15137 (grub_get_libzfs_handle): New prototype.
15138
15139 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15140 attribute.
15141 (grub_util_init_libzfs): Remove.
15142 (grub_get_libzfs_handle): New function.
15143
15144 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15145 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15146 accessing `libzfs_handle' directly.
15147
c882acc0
RM
151482010-08-01 Robert Millan <rmh@gnu.org>
15149
15150 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15151 (grub_find_zpool_from_mount_point): New function prototypes.
15152
15153 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15154 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15155
15156 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15157 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15158 `static' attribute.
15159
15160 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15161 finding zpool from mount point into ...
15162 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15163
15164 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15165 requested path is part of a ZFS pool, use
15166 grub_find_zpool_from_mount_point() to detect its filesystem name,
15167 and generate a path with `/fsname@path' syntax.
15168
8bfe31d8
CW
151692010-08-01 Colin Watson <cjwatson@ubuntu.com>
15170
15171 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15172 (void) rather than () so that this is a proper prototype.
15173
553df63d
VS
151742010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15177
8687cf07
VS
151782010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15181 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15182
ea9be8ea
CW
151832010-08-01 Colin Watson <cjwatson@ubuntu.com>
15184
15185 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15186
6eea041a
CW
151872010-08-01 Colin Watson <cjwatson@ubuntu.com>
15188
15189 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15190
2cfb45df
CW
151912010-08-01 Colin Watson <cjwatson@ubuntu.com>
15192
15193 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15194 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15195 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15196 disable gfxpayload.
15197 (Shell-like scripting): Add real content.
15198 (Serial terminal): Suggest `terminal_input serial; terminal_output
15199 serial' rather than putting the two commands on separate lines,
15200 since console input will be inoperative after the first command.
15201 (menuentry): Document --class, --users, and --hotkey options.
15202 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15203 Vladimir Serbinenko).
15204
7decd202
VS
152052010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
152062010-08-01 Colin Watson <cjwatson@ubuntu.com>
15207
15208 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15209
c882acc0
RM
152102010-08-01 Robert Millan <rmh@gnu.org>
15211
15212 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15213 (grub_find_zpool_from_mount_point): New function prototypes.
15214
15215 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15216 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15217
15218 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15219 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15220 `static' attribute.
15221
15222 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15223 finding zpool from mount point into ...
15224 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15225
15226 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15227 requested path is part of a ZFS pool, use
15228 grub_find_zpool_from_mount_point() to detect its filesystem name,
15229 and generate a path with `/fsname@path' syntax.
15230
deb0caa3
RM
152312010-08-01 Robert Millan <rmh@gnu.org>
15232
15233 Prevent accidental use of uninitialized libzfs_handle.
15234
15235 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15236 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15237 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15238
ce04ef47
CW
152392010-08-01 Colin Watson <cjwatson@ubuntu.com>
15240
15241 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15242 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15243
ebf53056
RM
152442010-08-01 Robert Millan <rmh@gnu.org>
15245
15246 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15247
3710bb6b
RM
152482010-07-31 Robert Millan <rmh@gnu.org>
15249
15250 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15251
8072efeb
RM
152522010-07-31 Robert Millan <rmh@gnu.org>
15253
15254 * kern/emu/misc.c: Add missing license header.
15255
3169f4c7
RM
152562010-07-31 Robert Millan <rmh@gnu.org>
15257
15258 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15259
15260 * include/grub/util/libnvpair.h: Include `<config.h>'.
15261 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15262 declaring libnvpair prototypes ourselves.
15263 * include/grub/util/libzfs.h: Include `<config.h>'.
15264 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15265 declaring libzfs prototypes ourselves.
15266
15267 (libzfs_handle): Moved to ...
15268 * include/grub/util/misc.h (libzfs_handle): ... here.
15269 Include `<grub/util/libzfs.h>'.
15270
c9a00aee
RM
152712010-07-30 Robert Millan <rmh@gnu.org>
15272
15273 * include/grub/emu/misc.h: Add missing license header.
15274
a184f9c8
RM
152752010-07-30 Robert Millan <rmh@gnu.org>
15276
15277 Enable `grub-probe -t device' resolution on ZFS.
15278
15279 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15280 * include/grub/util/libnvpair.h: New file.
15281 * include/grub/util/libzfs.h: New file.
15282
15283 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15284 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15285 `<grub/util/libnvpair.h>'.
15286 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15287
15288 (find_mount_point_from_dir): New static function.
15289 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15290 function.
15291 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15292 find_root_device_from_libzfs() before ressorting to find_root_device().
15293
15294 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15295 prototype.
15296 * util/misc.c: Include `<grub/util/libzfs.h>'.
15297 (grub_util_init_libzfs): New function.
15298 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15299 [HAVE_LIBZFS] (fini_libzfs): New static function.
15300 (grub_util_init_libzfs): New function.
15301 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15302
f7790cdd
RM
153032010-07-30 Robert Millan <rmh@gnu.org>
15304
15305 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15306 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15307 `warn_unused_result' attribute.
15308 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15309 (grub_xasprintf, grub_xvasprintf): Likewise.
15310 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15311
0806b63c
RM
153122010-07-29 Robert Millan <rmh@gnu.org>
15313
15314 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15315 (probe): Handle `PRINT_FS_LABEL'.
15316 (main): Handle `-t fs_label'.
15317
9f841f5c
RM
153182010-07-29 Robert Millan <rmh@gnu.org>
15319
15320 * configure.ac: Remove grub-mkisofs checks.
15321
46371121
VS
153222010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15325 Reported by: Lennart Sorensen.
15326
153272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15330 prior to terminal_input/terminal_output separation. It's been over 1.5
15331 years and those versions weren't widely deployed.
15332
a9600892
CW
153332010-07-22 Colin Watson <cjwatson@ubuntu.com>
15334
15335 * disk/raid.c (insert_array): Don't count named arrays when looking
15336 for unused array numbers.
697e053c 15337 Reported and tested by: Michael Guntsche.
a9600892 15338
c03507df
CW
153392010-07-20 Colin Watson <cjwatson@ubuntu.com>
15340
15341 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15342 implementation of this so that grub-emu links again, with a note
15343 that this should support hotplugging in the future.
15344
b26f1c11
CW
153452010-07-20 Colin Watson <cjwatson@ubuntu.com>
15346
15347 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15348
efc9d7f1
CW
153492010-07-20 Colin Watson <cjwatson@ubuntu.com>
15350
15351 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15352 handle on failure.
15353 (grub_loopback_close): Remove empty function.
15354 (grub_loopback_dev): Remove close method.
15355
dd8ff5c9
CW
153562010-07-20 Colin Watson <cjwatson@ubuntu.com>
15357
15358 Disable EFI cursor when the EFI console becomes inactive.
15359
15360 * term/efi/console.c (grub_efi_console_init): New function.
15361 (grub_efi_console_fini): New function.
15362 (grub_console_term_output): Register init and fini methods.
15363
5e3bec67
VS
153642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15367 sh script.
15368
afaec079
VS
153692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 * disk/loopback.c (grub_loopback): Replace filename with file.
15372 (delete_loopback): Handle new semantics.
15373 (grub_cmd_loopback): Likewise.
15374 (grub_loopback_iterate): Likewise.
15375 (grub_loopback_close): Likewise.
15376
a6a11f3c
VS
153772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15380 with -p "".
15381 Reported by: Tito Keitel.
15382
64a638b0
VS
153832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 * docs/grub.texi (Naming convention): Document new naming convention.
15386
ab8ba957
VS
153872010-07-20 Vadim Solomin <vadic052@gmail.com>
153882010-07-20 Colin Watson <cjwatson@ubuntu.com>
15389
15390 Generate device.map in something closer to the old ordering.
15391
15392 * util/deviceiter.c (struct device): New declaration.
15393 (compare_file_names): Rename to ...
15394 (compare_devices): ... this. Sort by kernel name in preference to
15395 the stable by-id name, but keep the latter as a fallback comparison.
15396 Update header comment.
15397 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15398 of `struct device' rather than of plain file names.
15399
a29d6a4b
TF
154002010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15401
15402 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15403 on i386.
15404
39d824e8
VS
154052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15408 hardcoding size.
15409 (setv1table): Likewise.
15410
f058276b
FZ
154112010-07-20 Colin Watson <cjwatson@ubuntu.com>
15412
15413 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15414 removing the homehost if present.
15415 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15416 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15417 removing the homehost if present.
15418 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15419 if possible.
15420 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15421
15422 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15423 parameter. Set its pointer target to 0.
15424 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15425 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15426 `data_offset' value from the superblock for 1.x metadata.
15427 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15428 data on the device.
15429 (insert_array): Record the start sector of data on the device.
15430 (grub_raid_register): Pass start_sector parameters to
15431 grub_raid_list->detect and insert_array.
15432 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15433 member.
15434 (struct grub_raid): Add start_sector parameter to `detect'.
15435
15436 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15437 __attribute__ ((packed)), leaving a comment.
15438 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15439 (grub_mdraid_detect_09): ... here and ...
15440 (grub_mdraid_detect_1x): ... here.
15441
154422010-07-20 Peter Henn <peter.henn@web.de>
15443
15444 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15445 chunk size and disk size, which are already given as sector counts
15446 as distinct from the 0.90 units. Fetch the correct device number
15447 from the role table instead of using the table index.
15448
154492010-07-20 Felix Zielcke <fzielcke@z-51.de>
15450
15451 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15452 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15453 (WriteMostly1): New macro.
15454 Set array->name to NULL for metadata format 0.90. Add support for
15455 metadata 1.x. Fix some comments.
15456 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15457 few comments.
15458 * util/getroot.c (grub_util_get_grub_dev): Add support for
15459 /dev/md/name style devices.
15460
4b761da9
CW
154612010-07-20 Colin Watson <cjwatson@ubuntu.com>
15462
15463 * .bzrignore: Ignore 20_linux_xen.
15464
5771289a
CW
154652010-07-17 Colin Watson <cjwatson@ubuntu.com>
15466
15467 * util/import_unicode.py: Remove unnecessary imports.
15468
5dab68df
AN
154692010-07-17 Aleš Nesrsta <starous@volny.cz>
15470
15471 Hotplugging and USB hub support.
15472
15473 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15474 (grub_ohci): Likewise.
15475 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15476 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15477 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15478 (GRUB_OHCI_CTRL_EDS): Likewise.
15479 (GRUB_OHCI_BULK_EDS): Likewise.
15480 (GRUB_OHCI_TDS): Likewise.
15481 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15482 (grub_ohci_ed_phys2virt): New function.
15483 (grub_ohci_virt_to_phys): Likewise.
15484 (grub_ohci_td_phys2virt): Likewise.
15485 (grub_ohci_td_virt2phys): Likewise.
15486 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15487 attachment.
15488 (grub_ohci_find_ed): New function.
15489 (grub_ohci_alloc_td): Likewise.
15490 (grub_ohci_free_td): Likewise.
15491 (grub_ohci_free_tds): Likewise.
15492 (grub_ohci_transfer): Use previously allocated memory.
15493 (grub_ohci_portstatus): Reset status changed bit.
15494 (grub_ohci_detect_dev): Supply status changed.
15495 (grub_ohci_fini_hw): Free memory.
15496 (grub_ohci_restore_hw): Reallocate memory.
15497 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15498 Reset status change.
15499 (grub_uhci_detect_dev): Supply status_change.
15500 * bus/usb/usb.c (attach_hooks): New var.
15501 (grub_usb_device_attach): New function.
15502 (grub_usb_register_attach_hook_class): Likewise.
15503 (grub_usb_unregister_attach_hook_class): Likewise.
15504 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15505 (grub_usb_add_hub): Reset connection changed bit.
15506 (attach_root_port): New function.
15507 (grub_usb_root_hub): Likewise.
15508 (poll_nonroot_hub): Likewise.
15509 (grub_usb_poll_devices): Likewise.
15510 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15511 * disk/usbms.c (grub_usbms_open): Use device hooks.
15512 (grub_usbms_iterate) :Poll devices.
15513 (grub_usbms_finddevs): Split into ...
15514 (grub_usbms_attach): ... this ...
15515 (grub_usbms_attach): ... and this.
15516 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15517 in detect_dev.
15518 (grub_usb_interface): New fields attached and detach_hook.
15519 (grub_usb_attach_hook_class): New type.
15520 (grub_usb_attach_desc): New struct.
15521 (grub_usb_register_attach_hook_class): New function.
15522 (grub_usb_unregister_attach_hook_class): Likewise.
15523 (grub_usb_poll_devices): Likewise.
15524 (grub_usb_device_attach): Likewise.
15525 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15526 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15527
3222efaf
VS
155282010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15531 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15532 delta determination style. Works with most NetBSD partitions too.
15533
139b714a
VS
155342010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15537 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15538
986aad56
VS
155392010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15540
15541 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15542
99be513c
AB
155432010-07-14 Anton Blanchard <anton@samba.org>
15544
15545 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15546 ET_DYN files.
15547
18075f62
GS
155482010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15549
15550 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15551
8d9a5b15
GS
155522010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15553
15554 * kern/partition.c (grub_partition_check_containment): New function to
15555 check that a partition is physically contained in a parent. Since
15556 offsets are relative (and non-negative), this reduces to checking that
15557 the partition ends before its parent.
15558 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15559 (grub_partition_iterate): Likewise.
15560 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15561 comments.
15562 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15563 partitions that start before their parent, and add debug printfs.
15564
19563c25
CW
155652010-07-13 Colin Watson <cjwatson@ubuntu.com>
15566
15567 * Makefile.in (.SUFFIX): Spell correctly, as ...
15568 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15569 bare module name without `.mod', e.g. `test') tried to invoke a
15570 Modula-2 compiler.
15571
1a1f1e67
CW
155722010-07-13 Colin Watson <cjwatson@ubuntu.com>
15573
15574 * README: Point to the Info manual.
15575
811b0dca
JS
155762010-07-13 Jiro SEKIBA <jir@unicus.jp>
15577
15578 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15579 2nd superblock position from partition size.
15580
e4f4eafc
CW
155812010-07-10 Colin Watson <cjwatson@ubuntu.com>
15582
15583 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15584 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15585 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15586 outputs.
15587
4274c30f
VS
155882010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 Restructure SCSI .id handling.
15591 Reported and tested by: Aleš Nesrsta.
15592
15593 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15594 (grub_atapi_dev): Changed .name to "ata". New field .id.
15595 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15596 (grub_usbms_dev): New field .id.
15597 * disk/scsi.c (grub_scsi_iterate): Generate name.
15598 (grub_scsi_open): Parse name.
15599 * include/grub/scsi.h (grub_make_scsi_id): New function.
15600 (grub_scsi_dev): Change iterate and open to number instead of naming
15601 busses. All users updated.
15602 (grub_scsi): Remove name. Add .bus.
15603
5bc24388
VS
156042010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15605
15606 * commands/help.c (grub_cmd_help): Fix a typo.
15607
249975ba
VS
156082010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15609
15610 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15611 Reported and tested by: Colin Watson.
15612
3eaac1a1
VS
156132010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15616 in this context.
15617
becce1b1
VS
156182010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15619
15620 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15621
f7bf0918
CW
156222010-07-07 Colin Watson <cjwatson@ubuntu.com>
15623
15624 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15625 indentation.
15626
0b0f9620
CW
156272010-07-06 Colin Watson <cjwatson@ubuntu.com>
15628
15629 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15630 and disk/raid6_recover.c.
15631 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15632 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15633
1e545469
CW
156342010-07-06 Colin Watson <cjwatson@ubuntu.com>
15635
15636 * term/gfxterm.c (repaint_schedulded): Rename to ...
15637 (repaint_scheduled): ... this. Update all callers.
15638 (repaint_was_schedulded): Rename to ...
15639 (repaint_was_scheduled): ... this. Update all callers.
15640
5357687a
CW
156412010-07-06 Colin Watson <cjwatson@ubuntu.com>
15642
15643 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15644 which we expect to be handled by upper layers.
15645
29d7e783
BC
156462010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15647
15648 * bus/usb/usbhub.c: #include time.h header.
15649
37582066
CW
156502010-07-06 Colin Watson <cjwatson@ubuntu.com>
15651
15652 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15653 entry_name also for entries without stat blocks (e.g. ".."); fixes
15654 corruption of the first entry in a directory.
15655
c8c06953
CW
156562010-07-06 Colin Watson <cjwatson@ubuntu.com>
15657
15658 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15659 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15660 doesn't work otherwise.
15661
e75056f1
CW
156622010-07-05 Colin Watson <cjwatson@ubuntu.com>
15663
15664 * docs/grub.texi (Features): Update list of supported file systems.
15665 (GNU/Linux): Update for GRUB 2.
15666 (Serial terminal): Remove mention of --disable-serial, which was a
15667 GRUB Legacy configure option. Update instructions to use
15668 `terminal_input' and `terminal_output' rather than `terminal'.
15669 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15670 configuration' and `Installing GRUB using grub-install'.
15671 (Menu entry editor): Update for GRUB 2.
15672 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15673 Document new -a, -u, and -v options.
15674 (initrd): New section.
15675 (initrd16): New section.
15676 (linux): New section.
15677 (linux16): New section.
15678 (search): The `var' argument to `--set' is optional.
15679 (GRUB only offers a rescue shell): Go into a little more detail on
15680 drive ordering.
15681
5cf69151
CW
156822010-07-05 Colin Watson <cjwatson@ubuntu.com>
15683
15684 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15685
e3f90044
CW
156862010-07-05 Colin Watson <cjwatson@ubuntu.com>
15687
15688 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15689 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15690
38d8f4f3
CW
156912010-07-05 Colin Watson <cjwatson@ubuntu.com>
15692
15693 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15694 install_prefix, in line with install_dos_part and install_bsd_part.
15695 Add new prefix variable, which is copied to install_prefix after
15696 comparing core.img in memory with the one read from disk in the
15697 no-embedding case, and use that rather than overwriting
15698 install_prefix immediately when installing to a partition.
15699 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15700 Bicakci.
15701
57ebd41e
GS
157022010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15703
15704 * configure.ac: Avoid == in test command, it's not portable.
15705 * util/grub.d/30_os-prober.in: Likewise.
15706
cb7f64b2
CW
157072010-07-04 Colin Watson <cjwatson@ubuntu.com>
15708
15709 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15710
6b654bb0
GS
157112010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15712
15713 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15714 multiple (top-level) partmaps.
15715
72a2026d
VS
157162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15719 Reported by: Tino Keitel.
72a2026d 15720
df3eb88f
VS
157212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 Bidi and diacritics support.
15724
15725 * Makefile.in (widthspec.bin): New target.
15726 (widthspec.h): Likewise.
15727 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15728 * autogen.sh: Generate unidata.c.
15729 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15730 * commands/ls.c (grub_ls_list_devices): Likewise.
15731 (grub_ls_list_files): Likewise.
15732 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15733 (grub_mini_cmd_lsmod): Likewise.
15734 * commands/read.c: Likewise.
15735 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15736 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15737 * lib/arg.c (grub_arg_show_help): Likewise.
15738 * lib/crypto.c (grub_password_get): Likewise.
15739 * normal/auth.c (grub_username_get): Likewise.
15740 * normal/misc.c (grub_normal_print_device_info): Likewise.
15741 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15742 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15743 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15744 (normal/charset.c_DEPENDENCIES): New variable.
15745 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15746 (pkglib_MODULES): Remove charset.mod.
15747 (charset_mod_SOURCES): Removed.
15748 (charset_mod_CFLAGS): Likewise.
15749 (charset_mod_LDFLAGS): Likewise.
15750 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15751 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15752 and term/tparm.c.
15753 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15754 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15755 (kernel_img_HEADERS): Add terminfo.h.
15756 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15757 Fill ->font. Reverse ascii bitmaps.
15758 (grub_font_get_xheight): New function.
15759 * font/font.c (grub_font_get_string_width): Moved from here ...
15760 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15761 * font/font.c (grub_font_draw_string): Moved from here ...
15762 * gfxmenu/font.c (grub_font_draw_string): ... here.
15763 * font/font.c (grub_font_dup_glyph): New function.
15764 (grub_font_blit_glyph): Likewise.
15765 (grub_font_blit_glyph_mirror): Likewise.
15766 (blit_comb): Likewise.
15767 (grub_font_construct_dry_run): Likewise.
15768 (grub_font_get_constructed_device_width): Likewise.
15769 (grub_font_construct_glyph): Likewise.
15770 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15771 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15772 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15773 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15774 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15775 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15776 (grub_font_get_xheight): New proto.
15777 (grub_font_get_constructed_device_width): Likewise.
15778 (grub_font_construct_glyph): Likewise.
15779 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15780 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15781 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15782 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15783 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15784 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15785 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15786 (grub_console_getcharwidth): Likewise.
15787 * include/grub/misc.h (grub_xputs): New proto.
15788 (grub_puts): Inlined.
15789 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15790 (grub_normal_get_line_counter): Removed.
15791 (grub_install_newline_hook): Likewise.
15792 (grub_normal_get_char_counter): New proto.
15793 (grub_normal_reset_more): Likewise.
15794 (grub_xputs_normal): Likewise.
15795 * include/grub/powerpc/ieee1275/console.h: Removed.
15796 * include/grub/sparc64/ieee1275/console.h: Likewise.
15797 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15798 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15799 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15800 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15801 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15802 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15803 (grub_term_input): Pass reference to self. All users updated.
15804 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15805 Pass reference to self. New fields normal_color, highlight_color and
15806 data. All users updated.
15807 (grub_putchar): Removed.
15808 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15809 (grub_unicode_estimate_width): New function.
15810 (grub_term_getcharwidth): Add defaults.
15811 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15812 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15813 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15814 (grub_cls): Remove EXPORT_FUNC.
15815 (grub_setcolorstate): Inline.
15816 (grub_newline_hook): Removed.
15817 * include/grub/terminfo.h: Rewritten. All users updated.
15818 * include/grub/unicode.h: New file.
15819 * include/grub/video.h (grub_video_signed_rect): New type.
15820 * kern/emu/console.c (grub_console_highlight_color): Removed.
15821 (grub_console_normal_color): Likewise.
15822 (grub_console_standard_color): Made static.
15823 (grub_ncurses_putchar): Remove mapping.
15824 (grub_ncurses_getcharwidth): Removed.
15825 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15826 (grub_ncurses_setcolor): Removed.
15827 (grub_ncurses_getcolor): Likewise.
15828 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15829 (grub_console_putchar): ... this.
15830 (grub_console_putchar): Handle argument difference.
15831 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15832 console_init_early and console_init_lately.
15833 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15834 * kern/misc.c (grub_puts): Removed.
15835 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15836 (grub_vsnprintf_real): Remove str = NULL support.
15837 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15838 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15839 * kern/term.c (grub_putcode): Renamed to ...
15840 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15841 (grub_putchar): Removed.
15842 (grub_xputs_dumb): New function.
15843 (grub_xputs): New variable.
15844 * lib/charset.c: Move from here ...
15845 * normal/charset.c: ... to here.
15846 (grub_ucs4_to_utf8): New function.
15847 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15848 (join_types): New variable.
15849 (unpack_join): New function.
15850 (bidi_types): New variable.
15851 (unpack_bidi): New function.
15852 (get_bidi_type): Likewise.
15853 (get_join_type): Likewise.
15854 (is_mirrored): Likewise.
15855 (grub_unicode_get_comb_type): Likewise.
15856 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15857 (is_type_after): Likewise.
15858 (grub_unicode_aglomerate_comb): Likewise.
15859 (bidi_line_wrap): Likewise.
15860 (grub_bidi_line_logical_to_visual): Likewise.
15861 (grub_bidi_logical_to_visual): Likewise.
15862 (grub_unicode_mirror_code): Likewise.
15863 (grub_unicode_shape_code): Likewise.
15864 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15865 Don't use grub_putchar.
15866 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15867 (grub_normal_reader_init): Likewise.
15868 (grub_xputs_saved): New variable.
15869 (GRUB_MOD_INIT): Set grub_xputs.
15870 (GRUB_MOD_FINI): Restore grub_xputs.
15871 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15872 (menu_init): Avoid printing gfxmenu error.
15873 (show_menu): Use grub_normal_get_char_counter.
15874 * normal/menu_entry.c (update_screen): Fix out-of-array.
15875 (complete): Avoid NULL dereferencing.
15876 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15877 * normal/menu_text.c (print_spaces): Removed.
15878 (grub_print_ucs4): Likewise.
15879 (grub_print_message_indented): Use grub_print_ucs4.
15880 (print_message): Use grub_putcode.
15881 (print_entry): Hanlde diacritics.
15882 * normal/term.c (term_state): New type.
15883 (grub_more_lines): Removed.
15884 (term_states): New variable.
15885 (grub_normal_line_counter): Renamed to ..
15886 (grub_normal_char_counter): ...this. All users updated.
15887 (grub_normal_get_line_counter): Renamed to ...
15888 (grub_normal_get_char_counter): ... this.
15889 (grub_normal_reset_more): New function.
15890 (process_newline): Removed.
15891 (print_more): New function.
15892 (grub_install_newline_hook): Removed.
15893 (map_code): New function.
15894 (grub_puts_terminal): Use grub_print_ucs4.
15895 (putglyph): New function.
15896 (putcode_real): Likewise.
15897 (grub_putcode): Use putcode_real.
15898 (get_maxwidth): New function.
15899 (get_startwidth): Likewise.
15900 (print_ucs4_terminal): Likewise.
15901 (find_term_state): Likewise.
15902 (put_glyphs_terminal): Likewise.
15903 (print_backlog): Likewise.
15904 (print_ucs4_real): Likewise.
15905 (grub_print_ucs4): Likewise.
15906 (grub_xputs_normal): Likewise.
15907 * term/efi/console.c (grub_console_putchar): Output diacritics.
15908 (grub_console_getcharwidth): Removed.
15909 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15910 * term/gfxterm.c (clear_char): Free chars.
15911 (scroll_up): Avoid leaking memory.
15912 (grub_gfxterm_putchar): Support diacritics.
15913 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15914 * term/i386/pc/console.c (grub_console_term_output): Declare as
15915 GRUB_TERM_CODE_TYPE_VGA.
15916 * term/i386/pc/vga.c (grub_vga_term): Declare as
15917 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15918 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15919 GRUB_TERM_CODE_TYPE_VGA.
15920 * term/i386/vga_common.c (map_char): Removed.
15921 (grub_console_putchar): Likewise.
15922 (grub_console_getcharwidth): Likewise.
15923 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15924 (colors): Reordered to match terminfo.
15925 (grub_ofconsole_normal_color): Removed.
15926 (grub_ofconsole_writeesc): Likewise.
15927 (grub_ofconsole_highlight_color): Likewise.
15928 (grub_ofconsole_getcharwidth): Likewise.
15929 (grub_ofconsole_setcolorstate): Likewise.
15930 (grub_ofconsole_setcolor): Likewise.
15931 (grub_ofconsole_getcolor): Likewise.
15932 (grub_ofconsole_readkey): Renamed to ...
15933 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15934 key.
15935 (grub_ofconsole_checkkey): Removed.
15936 (grub_ofconsole_getkey): Likewise.
15937 (grub_ofconsole_getxy): Likewise.
15938 (grub_ofconsole_gotoxy): Likewise.
15939 (grub_ofconsole_cls): Likewise.
15940 (grub_ofconsole_refresh): Likewise.
15941 (grub_ofconsole_terminfo_input): New struct.
15942 (grub_ofconsole_terminfo_output): Likewise.
15943 (grub_ofconsole_term_input): Use terminfo.
15944 (grub_ofconsole_term_output): Likewise.
15945 (grub_console_init): Split into ...
15946 (grub_console_init_early): ...this and ...
15947 (grub_console_init_lately): ...this. Use terminfo.
15948 (grub_ofconsole_putchar): Renamed to ...
15949 (put): ... this. Remove mapping.
15950 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15951 * term/serial.c: Simplify using terminfo.
15952 (xpos): Removed.
15953 (ypos): Likewise.
15954 (keep_track): Likewise.
15955 (registered): Likewise.
15956 (input_buf): Likewise.
15957 (npending): Likewise.
15958 (serial_translate_key_sequence): Likewise.
15959 (fill_input_buf): Likewise.
15960 (grub_serial_checkkey): Likewise.
15961 (grub_serial_getkey): Likewise.
15962 (grub_serial_getxy): Likewise.
15963 (grub_serial_gotoxy): Likewise.
15964 (grub_serial_putchar): Likewise.
15965 (grub_serial_cls): Likewise.
15966 (grub_serial_setcolorstate): Likewise.
15967 (grub_serial_setcursor): Likewise.
15968 (serial_hw_init): Use serial_hw_fetch.
15969 (grub_serial_terminfo_input): New variable.
15970 (grub_serial_terminfo_output): Likewise.
15971 (grub_serial_term_input): Use terminfo.
15972 (grub_serial_term_output): Likewise.
15973 * term/terminfo.c (putstr): Use put.
15974 (grub_terminfo_all_free): New function
15975 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15976 (grub_terminfo_output_register): New function.
15977 (grub_terminfo_output_unregister): Likewise.
15978 (grub_terminfo_getxy): Likewise.
15979 (grub_terminfo_readkey): Likewise.
15980 (grub_terminfo_checkkey): Likewise.
15981 (grub_terminfo_getkey): Likewise.
15982 (grub_terminfo_input_init): Likewise.
15983 (print_terminfo): Likewise.
15984 (grub_cmd_terminfo): Handle encoding.
15985 (grub_terminfo_gotoxy): Track position.
15986 (grub_terminfo_cls): Likewise.
15987 (grub_terminfo_putchar): Likewise.
15988 (grub_terminfo_setcolorstate): Handle colors
15989 (grub_terminfo_cursor_on): This ...
15990 (grub_terminfo_cursor_off): ... and this merged into ...
15991 (grub_terminfo_setcursor): ... this.
15992 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15993 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15994 * unicode/BidiMirroring.txt: Likewise.
15995 * unicode/UnicodeData.txt: Likewise.
15996 * unicode/COPYING: Likewise.
15997 * util/grub-editenv.c (grub_putchar): Removed.
15998 (grub_xputs_real): New function.
15999 (grub_xputs): New variable.
16000 * util/grub-fstest.c (grub_putchar): Removed.
16001 (grub_xputs_real): New function.
16002 (grub_xputs): New variable.
16003 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16004 (grub_xputs_real): New function.
16005 (grub_xputs): New variable.
16006 * util/grub-probe.c (grub_putchar): Removed.
16007 (grub_xputs_real): New function.
16008 (grub_xputs): New variable.
16009 * util/grub-script-check.c (grub_putchar): Removed.
16010 (grub_xputs_real): New function.
16011 (grub_xputs): New variable.
16012 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16013 (grub_xputs_real): New function.
16014 (grub_xputs): New variable.
16015 * util/import_unicode.py: New file.
16016 * util/grub-mkfont.c (ft_errmsgs): New array.
16017 (grub_glyph_info): Make bitmap a pointer.
16018 (file_formats): New type WIDTH_SPEC.
16019 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16020 (options): Add width-spec.
16021 (help): Likewise.
16022 (add_char): Renamed to ...
16023 (add_glyph): ... this.
16024 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16025 (glyph_replace): New type.
16026 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16027 (add_char): New function.
16028 (add_subst): Likewise.
16029 (process_cursive): Likewise.
16030 (add_font): Handle GSUB.
16031 (write_font_width_spec): New function.
16032 (main): Sort glyphs.
16033 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16034 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16035 * kern/term.c (grub_cls): Moved from here...
16036 * normal/term.c (grub_cls): ... here.
16037
50f0bcda
CW
160382010-07-02 Colin Watson <cjwatson@ubuntu.com>
16039
16040 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16041 suitable for using within the format argument of printf when
16042 converting grub_size_t.
16043 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16044 "x" to convert grub_size_t arguments.
16045
40372103
VS
160462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16049 too long captions.
16050 (list_get_minimal_size): Take selection box into account.
16051
942a10c7
VS
160522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16055 NULL font.
16056
2bdb2892
CW
160572010-07-02 Colin Watson <cjwatson@ubuntu.com>
16058
16059 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16060 devices when iterating over /dev/disk/by-id; they will be handled
16061 later if appropriate, which they aren't always (e.g. LVM).
16062
e03ed6c1
CW
160632010-07-02 Colin Watson <cjwatson@ubuntu.com>
16064
16065 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16066 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16067 fails.
16068 (grub_halt): Likewise.
16069 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16070 reset-all fails.
16071 (grub_halt): Don't return, even if all of shut-down, power-off, and
16072 poweroff fail.
16073
47695765
CW
160742010-07-02 Colin Watson <cjwatson@ubuntu.com>
16075
16076 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16077 arguments, not three.
16078
507736c8
CW
160792010-07-02 Colin Watson <cjwatson@ubuntu.com>
16080
16081 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16082 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16083 LVM-on-RAID is handled correctly.
16084
e3c8cd37
CW
160852010-07-02 Colin Watson <cjwatson@ubuntu.com>
16086
16087 * docs/grub.texi (Changes from GRUB Legacy): New section.
16088 (Future): Fix typo.
16089
8d4a2fec
CW
160902010-07-02 Colin Watson <cjwatson@ubuntu.com>
16091
16092 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16093 grub.d/README accidentally ends up executable for one reason or
16094 another. Ignore it.
16095
1c4827be
VS
160962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16099 (gpt_partition_map_iterate): Support non-512B sectors.
16100
d9a0c941
VS
161012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16104 Tested by: Seth Goldberg.
16105
48f27e87
VS
161062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16109 Properly align mbi.
16110 Reported by: Seth Goldberg.
16111
b0c4f956
VS
161122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * util/grub-mkrescue.in: Avoid module duplication.
16115
105a2e8c
SF
161162010-07-01 Sean Finney <seanius@seanius.net>
16117
16118 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16119
5944958c
SF
161202010-07-01 Sean Finney <seanius@seanius.net>
16121
16122 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16123
161242010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 * disk/lvm.c (grub_lvm_checkvalue): New function.
16127 (grub_lvm_check_flag): Likewise.
16128
b79889ba
RM
161292010-07-01 Robert Millan <rmh@gnu.org>
16130
16131 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16132 Support 'p' as partition separator on kernel of FreeBSD (used
16133 with GPT labels).
16134 (grub_util_biosdisk_get_grub_dev): Likewise.
16135
ec1d04f1
VS
161362010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 Yeeloong firmware port.
16139
16140 * boot/mips/yeeloong/fwstart.S: New file.
16141 * bus/cs5536.c (gpiodump): New const.
16142 (set_io_space): New function.
16143 (set_iod): Likewise.
16144 (set_p2d): Likewise.
16145 (grub_cs5536_init_geode): Likewise.
16146 * commands/mips/yeeloong/lsspd.c: New file.
16147 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16148 (serial_mod_SOURCES): New variable.
16149 (serial_mod_CFLAGS): Likewise.
16150 (serial_mod_LDFLAGS): Likewise.
16151 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16152 term/terminfo.c and term/tparm.c.
16153 (pkglib_IMAGES): Add fwstart.img.
16154 (fwstart_img_SOURCES): New variable.
16155 (fwstart_img_CFLAGS): Likewise.
16156 (fwstart_img_ASFLAGS): Likewise.
16157 (fwstart_img_LDFLAGS): Likewise.
16158 (fwstart_img_FORMAT): Likewise.
16159 (pkglib_MODULES): Add lsspd.mod.
16160 (lsspd_mod_SOURCES): New variable.
16161 (lsspd_mod_CFLAGS): Likewise.
16162 (lsspd_mod_LDFLAGS): Likewise.
16163 (pkglib_MODULES): Add halt.mod.
16164 (halt_mod_SOURCES): New variable.
16165 (halt_mod_CFLAGS): Likewise.
16166 (halt_mod_LDFLAGS): Likewise.
16167 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16168 (serial_mod_SOURCES): Removed.
16169 (serial_mod_CFLAGS): Likewise.
16170 (serial_mod_LDFLAGS): Likewise.
16171 * disk/ata.c (check_device): New function.
16172 (grub_ata_device_initialize): Use check_device.
16173 (grub_ata_iterate): Recheck devices.
16174 (grub_ata_open): Likewise.
16175 (grub_atapi_iterate): Likewise.
16176 (grub_atapi_open): Likewise.
16177 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16178 (GRUB_ATA_CH1_PORT1): Likewise.
16179 (GRUB_ATA_CH0_PORT2): Likewise.
16180 (GRUB_ATA_CH1_PORT2): Likewise.
16181 * include/grub/mips/loongson.h: New file.
16182 * include/grub/mips/yeeloong/ec.h: Likewise.
16183 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16184 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16185 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16186 * include/grub/misc.h (grub_halt): Declare as noreturn.
16187 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16188 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16189 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16190 (UART_ENABLE_DTRRTS): Likewise.
16191 (UART_ENABLE_MODEM): Removed.
16192 (UART_ENABLE_OUT2): New const.
16193 * include/grub/term.h (grub_term_register_input_active): New function.
16194 (grub_term_register_output_active): Likewise.
16195 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16196 argument.
16197 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16198 (init_pci): New function.
16199 (grub_machine_init): Execute platform init when firmware. Init serial.
16200 (grub_halt): Implement.
16201 (grub_exit): Likewise.
16202 (grub_reboot): Likewise.
16203 * term/serial.c (serial_hw_init): Update macros.
16204 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16205 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16206 (image_targets): New target mipsel-yeeloong-flash.
16207 (generate_image): Support IMAGE_YEELOONG_FLASH.
16208 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16209 (grub_video_sm712_setup): Init card.
16210 (grub_video_sm712_set_palette): Removed.
16211 * video/sm712_init.c: New file.
16212
ff4a70d2
CW
162132010-06-30 Colin Watson <cjwatson@ubuntu.com>
16214
16215 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16216 PATH when running help2man and then run it on the unadorned
16217 executable names, rather than passing $(builddir)/* paths to
16218 help2man. This avoids the build directory ending up in generated
16219 manual pages.
16220
1246efeb
CW
162212010-06-29 Colin Watson <cjwatson@ubuntu.com>
16222
16223 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16224 to avoid accidents when debugging with 'sh -x'.
16225 * util/grub-mkrescue.in: Likewise.
16226 * util/grub.d/00_header.in: Likewise.
16227 * util/grub.d/10_hurd.in: Likewise.
16228 * util/grub.d/10_kfreebsd.in: Likewise.
16229 * util/grub.d/10_linux.in: Likewise.
16230 * util/grub.d/10_netbsd.in: Likewise.
16231 * util/grub.d/10_windows.in: Likewise.
16232 * util/grub.d/20_linux_xen.in: Likewise.
16233 * util/grub.d/30_os-prober.in: Likewise.
16234 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16235
1ba9b889
CW
162362010-06-29 Colin Watson <cjwatson@ubuntu.com>
16237
16238 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16239 last character in the buffer.
16240 Reported by: Vladimir Serbinenko.
16241
dccaf99d
RM
162422010-06-29 Robert Millan <rmh@gnu.org>
16243
16244 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16245 (Command-line and menu entry commands): Document `badram' command.
16246
d500ed12
RM
162472010-06-28 Robert Millan <rmh@gnu.org>
16248
16249 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16250 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16251 command using ${GRUB_BADRAM} as parameter.
16252
20bc84a6
CW
162532010-06-28 Colin Watson <cjwatson@ubuntu.com>
16254
16255 * docs/grub.texi (Device map): New section.
16256 (Themes): New section (stub).
16257 * Makefile.in (docs/grub.info): The info documentation now builds
16258 without errors. Make sure it stays that way.
16259
4045dee1
VS
162602010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 Use normal parser for menu entries.
16263 Reported by: Thomas Frauendorfer
16264
16265 * include/grub/parser.h (grub_parser_execute): Don't export.
16266 * normal/menu.c (grub_menu_execute_entry_real): New function.
16267 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16268
bca58c7b
CW
162692010-06-28 Colin Watson <cjwatson@ubuntu.com>
16270
16271 * docs/grub.texi (Embedded configuration): New section (replacing
16272 old "Preset Menu" stub).
16273 (Images): New section.
16274 (configfile): Note that any menu entries defined in `file' are shown
16275 immediately.
16276
dec53e63
JT
162772010-06-28 Josh Triplett <josh@joshtriplett.org>
16278
16279 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16280
c06e40f7
CW
162812010-06-28 Colin Watson <cjwatson@ubuntu.com>
16282
16283 * util/grub-install.in: Add --debug-image= option.
16284
cb88052b
CW
162852010-06-28 Colin Watson <cjwatson@ubuntu.com>
16286
16287 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16288 possible on Linux.
16289
16290 * util/deviceiter.c (check_device): Rename to ...
16291 (check_device_readable_unique): ... this. Update all callers.
16292 Maintain and check a list of which devices (by canonicalized name)
16293 have already been seen.
16294 (clear_seen_devices): New function.
16295 (compare_file_names) [__linux__]: New function.
16296 (grub_util_iterate_devices): Clear the list of seen devices on exit
16297 and (just in case) on entry.
16298 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16299 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16300 seen-devices list, superseded by general code in check_device.
16301
bbe34652
CW
163022010-06-28 Colin Watson <cjwatson@ubuntu.com>
16303
16304 * commands/cat.c (options): New variable.
16305 (grub_cmd_cat): Parse options. If the --dos option is given, print
16306 DOS-style "\r\n" line endings as simple newlines (Debian bug
16307 #586358).
16308 (GRUB_MOD_INIT): Use extcmd.
16309 (GRUB_MOD_FINI): Likewise.
16310 * docs/grub.texi (cat): Document --dos.
16311
412e09f3
VS
163122010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 XEN with Linux grub-mkconfig support.
16315
16316 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16317 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16318 GRUB_CMDLINE_XEN_DEFAULT.
16319 * util/grub.d/20_linux_xen.in: New file.
16320
53f3ef38 163212010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16322
16323 Initialise VGA video on qemu ourselves.
16324
16325 * boot/i386/qemu/boot.S: Don't call 0xc000.
16326 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16327 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16328 (kernel_img_HEADERS): Add pci.h.
16329 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16330 * configure.ac: Force unifont on qemu and yeeloong.
16331 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16332 (grub_vga_palette_write): Use correct register.
16333 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16334 Call grub_qemu_init_cirrus.
16335 * kern/i386/qemu/init.c: New file.
16336 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16337
16338 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16339
c75be4fb
PR
163402010-06-26 Pavel Roskin <proski@gnu.org>
16341
16342 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16343 13.
16344
d8034603
CW
163452010-06-26 Colin Watson <cjwatson@ubuntu.com>
16346
16347 * docs/grub.texi (Simple configuration): Explain that
16348 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16349 set to `true' to disable their respective recovery entries, not
16350 merely set.
16351
3fa06487
CW
163522010-06-26 Colin Watson <cjwatson@ubuntu.com>
16353
16354 Make the `source' command slightly faster.
16355
16356 * normal/main.c (grub_normal_execute): Don't re-read list files when
16357 nested.
16358
e9b29642
CW
163592010-06-23 Colin Watson <cjwatson@ubuntu.com>
16360
16361 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16362 field position and mask size to red fields from mode_info, not
16363 green.
16364 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16365 Remove redundant tag->common.framebuffer_type assignment.
16366 Reported by: Seth Goldberg.
16367
e726542f
CW
163682010-06-23 Colin Watson <cjwatson@ubuntu.com>
16369
16370 Sync up other versions of the Linux loader with Robert Millan's
16371 change of 2010-01-09, "Make loader output a bit more user-friendly".
16372
16373 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16374 grub_dprintf().
16375 (grub_cmd_linux): Likewise.
16376 (grub_cmd_initrd): Likewise.
16377 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16378 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16379
d6e98a17
CW
163802010-06-21 Colin Watson <cjwatson@ubuntu.com>
16381
16382 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16383 larger than MEMORY_MAP_SIZE.
16384
14d3f08e
BC
163852010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16386
16387 Fix parallel build.
16388
16389 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16390 dependency.
16391 * script/parser.y: #include grub_script.tab.h header.
16392
4f9613a3
VS
163932010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 Support >3GiB and <16MiB RAM in i386-qemu.
16396
16397 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16398 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16399 (grub_lower_mem): Removed.
16400 (grub_upper_mem): Likewise.
16401 (mem_size): Made static.
16402 (above_4g): New variable.
16403 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16404 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16405 support.
16406
05e51879
VS
164072010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 Cirrus 5446 and Bochs video cards support.
16410
16411 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16412 video_bochs.mod
16413 (video_cirrus_mod_SOURCES): New variable.
16414 (video_cirrus_mod_CFLAGS): Likewise.
16415 (video_cirrus_mod_LDFLAGS): Likewise.
16416 (video_bochs_mod_SOURCES): Likewise.
16417 (video_bochs_mod_CFLAGS): Likewise.
16418 (video_bochs_mod_LDFLAGS): Likewise.
16419 * include/grub/vga.h: New file.
16420 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16421 (grub_video_fb_set_page_t): New type.
16422 (grub_video_fb_setup): New prototype.
16423 (grub_video_fb_swap_buffers): Likewise.
16424 (grub_video_fb_get_info_and_fini): Likewise.
16425 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16426 (CRTC_DATA_PORT): Likewise.
16427 (CRTC_CURSOR): Likewise.
16428 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16429 (CRTC_CURSOR_ADDR_LOW): Likewise.
16430 (CRTC_CURSOR_DISABLE): Likewise.
16431 (update_cursor): Use grub_vga_cr_write.
16432 (grub_vga_text_setcursor): Likewise.
16433 * video/bochs.c: New file.
16434 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16435 (palette): Likewise.
16436 (palette_size): Likewise.
16437 (framebuffer): New variable.
16438 (grub_video_fb_init): Use 'framebuffer'.
16439 (grub_video_fb_fini): Likewise.
16440 (grub_video_fb_get_info): Likewise.
16441 (grub_video_fb_get_palette): Likewise.
16442 (grub_video_fb_set_palette): Likewise.
16443 (grub_video_fb_set_viewport): Likewise.
16444 (grub_video_fb_get_viewport): Likewise.
16445 (grub_video_fb_map_color): Likewise.
16446 (grub_video_fb_map_rgb): Likewise.
16447 (grub_video_fb_map_rgba): Likewise.
16448 (grub_video_fb_unmap_color): Likewise.
16449 (grub_video_fb_unmap_color_int): Likewise.
16450 (grub_video_fb_fill_rect): Likewise.
16451 (grub_video_fb_blit_bitmap): Likewise.
16452 (grub_video_fb_blit_render_target): Likewise.
16453 (grub_video_fb_scroll): Likewise.
16454 (grub_video_fb_create_render_target): Likewise.
16455 (grub_video_fb_doublebuf_blit_init): Likewise.
16456 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16457 (doublebuf_pageflipping_update_screen): New function.
16458 (doublebuf_pageflipping_init): Likewise.
16459 (grub_video_fb_setup): Likewise.
16460 (grub_video_fb_swap_buffers): Likewise.
16461 (grub_video_fb_get_info_and_fini): Likewise.
16462 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16463 All users updated.
16464 (doublebuf_pageflipping_commit): Restructured into ...
16465 (doublebuf_pageflipping_set_page): ... this.
16466 (doublebuf_pageflipping_update_screen): Removed.
16467 (doublebuf_pageflipping_init): Likewise.
16468 (double_buffering_init): Likewise.
16469 (grub_video_vbe_setup): Use grub_video_fb_setup.
16470 (grub_video_vbe_swap_buffers): Removed.
16471 (grub_video_vbe_set_active_render_target): Likewise.
16472 (grub_video_vbe_get_active_render_target): Likewise.
16473 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16474 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16475 grub_video_fb_set_active_render_target and
16476 grub_video_fb_get_active_render_target.
16477 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16478 (SEQUENCER_DATA_PORT): Likewise.
16479 (MAP_MASK_REGISTER): Likewise.
16480 (CRTC_ADDR_PORT): Likewise.
16481 (CRTC_DATA_PORT): Likewise.
16482 (START_ADDR_HIGH_REGISTER): Likewise.
16483 (START_ADDR_LOW_REGISTER): Likewise.
16484 (GRAPHICS_ADDR_PORT): Likewise.
16485 (GRAPHICS_DATA_PORT): Likewise.
16486 (READ_MAP_REGISTER): Likewise.
16487 (INPUT_STATUS1_REGISTER): Likewise.
16488 (INPUT_STATUS1_VERTR_BIT): Likewise.
16489 (get_map_mask): Use grub_vga_sr_read.
16490 (set_map_mask): Use grub_vga_sr_write.
16491 (set_read_map): Use grub_vga_gr_write.
16492 (set_start_address): Use grub_vga_cr_write.
16493 * video/sm712.c (framebuffer): Remove leftover fields.
16494
4321c64a
CW
164952010-06-20 Colin Watson <cjwatson@ubuntu.com>
16496
16497 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16498 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16499 instead. Replace the gfxterm backend check with a check that
16500 ${GRUB_PREFIX}/video.lst is non-empty.
16501 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16502 again.
16503 (load_video): New generated function. Call it before loading
16504 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16505 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16506 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16507 * docs/grub.texi (Simple configuration): Document
16508 GRUB_VIDEO_BACKEND.
16509
165102010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 Use video functions in linux and xnu loaders.
16513
16514 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16515 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16516 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16517 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16518 loader/i386/pc/linux.c.
16519 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16520 (find_line_len): Removed.
16521 (find_framebuf): Likewise.
16522 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16523 * loader/i386/efi/xnu.c: Removed.
16524 * loader/i386/pc/xnu.c: Moved from here...
16525 * loader/i386/xnu.c: ...here.
16526
16527 Enable priorities in video drivers.
16528
16529 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16530 (grub_video_adapter): New field prio.
16531 (grub_video_register): Respect prio when inserting.
16532 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16533 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16534 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16535 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16536 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16537 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16538 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16539
16540 Fix SDL driver ID.
16541
16542 * include/grub/video.h (grub_video_driver_id_t): New value
16543 GRUB_VIDEO_DRIVER_SDL.
16544 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16545
7d24e434
CW
165462010-06-17 Colin Watson <cjwatson@ubuntu.com>
16547
16548 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16549 argument to printf.
16550 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16551
c88a83f6
CW
165522010-06-17 Colin Watson <cjwatson@ubuntu.com>
16553
16554 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16555 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16556
094dfb69
CW
165572010-06-17 Colin Watson <cjwatson@ubuntu.com>
16558
16559 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16560 directly, and recommend grub-install instead.
16561 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16562
2164da6b
CW
165632010-06-17 Colin Watson <cjwatson@ubuntu.com>
16564
16565 Fix i386-pc prefix handling with nested partitions (Debian bug
16566 #585068). Note that the case where the core image is booted using
16567 multiboot and relocated from its original location still requires
16568 more work.
16569
16570 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16571 with "(,", fill the boot drive in between those two characters, but
16572 expect that a full partition specification including partition map
16573 names will follow.
16574 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16575 specified, write a prefix without the drive name but including a
16576 full partition specification.
16577
044e2e60
CW
165782010-06-16 Colin Watson <cjwatson@ubuntu.com>
16579
16580 * util/grub-mkconfig.in: Ignore non-option arguments, for
16581 compatibility with older versions (before 2010-06-12) which did the
16582 same. In particular, this makes it easier to ship an update-grub
16583 wrapper which is compatible with that used with GRUB Legacy (Debian
16584 bug #586056).
16585
5591324f
GS
165862010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16587
16588 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16589 for manual page generation.
16590
662e24d5
GS
165912010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16592
16593 * po/POTFILES: Remove leftover commands/handler.c.
16594
8d70754e
CW
165952010-06-14 Colin Watson <cjwatson@ubuntu.com>
16596
16597 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16598 left this script non-functional.
16599
41160e2e
CW
166002010-06-14 Colin Watson <cjwatson@ubuntu.com>
16601
16602 * docs/man/grub-emu.h2m: New file.
16603
b5309cc1
CW
166042010-06-13 Colin Watson <cjwatson@ubuntu.com>
16605
16606 * docs/grub.texi (Commands): Document reduced command set in rescue
16607 mode.
16608 (cpuid): New section.
16609
fcb2d090
GS
166102010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16611
16612 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16613 new partition naming style.
16614 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16615
96e5c556
BC
166162010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16617
16618 Add "-o grub.iso" like cmdline options support.
16619
16620 * util/grub-install.in: Improve cmdline option parsing.
16621 * util/grub-mkconfig.in: Likewise.
16622 * util/grub-mkrescue.in: Likewise.
16623 * util/grub-reboot.in: Likewise.
16624 * util/grub-set-default.in: Likewise.
16625 * util/i386/efi/grub-install.in: Likewise.
16626 * util/ieee1275/grub-install.in: Likewise.
16627 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16628
c16be99b
CW
166292010-06-12 Colin Watson <cjwatson@ubuntu.com>
16630
16631 * .bzrignore: Ignore 41_custom.
16632
ce08a9fb
TS
166332010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16634
16635 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16636
7beac90c
CW
166372010-06-12 Colin Watson <cjwatson@ubuntu.com>
16638
16639 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16640 prototype declarations.
16641
16642 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16643 generating fs, partmap, and video lists.
16644 * include/grub/fs.h (grub_fs_register): Omit prototype if
16645 GRUB_LST_GENERATOR is defined.
16646 * include/grub/partition.h (grub_partition_map_register): Likewise.
16647 * include/grub/video.h (grub_video_register): Likewise.
16648
1c8f0f8d
JM
166492010-06-12 Javier Martín <lordhabbit@gmail.com>
16650
16651 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16652
a6085973
TS
166532010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16654
16655 * util/grub-mkrescue.in: Support --xorriso argument.
16656
25c56d29
VS
166572010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16658
16659 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16660 Suggested by: Thomas Schmitt.
16661
e03e4b24
VS
166622010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16663
16664 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16665 Suggested by: Thomas Schmitt.
16666
57711df6
VS
166672010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 custom.cfg support.
16670
16671 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16672 * util/grub.d/41_custom.in: New file.
16673
ee62c427
CW
166742010-06-12 Colin Watson <cjwatson@ubuntu.com>
16675
16676 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16677 been merged back into normal.
16678
283af07a
CW
166792010-06-11 Colin Watson <cjwatson@ubuntu.com>
16680
16681 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16682 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16683
56a0d956
CW
166842010-06-11 Colin Watson <cjwatson@ubuntu.com>
16685
16686 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16687 when generating manual pages.
16688 * docs/man/grub-bin2h.h2m: New file.
16689 * docs/man/grub-editenv.h2m: New file.
16690 * docs/man/grub-fstest.h2m: New file.
16691 * docs/man/grub-install.h2m: New file.
16692 * docs/man/grub-macho2img.h2m: New file.
16693 * docs/man/grub-mkconfig.h2m: New file.
16694 * docs/man/grub-mkdevicemap.h2m: New file.
16695 * docs/man/grub-mkfont.h2m: New file.
16696 * docs/man/grub-mkimage.h2m: New file.
16697 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16698 * docs/man/grub-mkrelpath.h2m: New file.
16699 * docs/man/grub-mkrescue.h2m: New file.
16700 * docs/man/grub-ofpathname.h2m: New file.
16701 * docs/man/grub-pe2elf.h2m: New file.
16702 * docs/man/grub-probe.h2m: New file.
16703 * docs/man/grub-reboot.h2m: New file.
16704 * docs/man/grub-script-check.h2m: New file.
16705 * docs/man/grub-set-default.h2m: New file.
16706 * docs/man/grub-setup.h2m: New file.
16707
3a37e322
VS
167082010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 Use FOR_* macros instead of *_iterate whenever possible.
16711
16712 * commands/handler.c: Removed.
16713 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16714 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16715 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16716 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16717 (grub_probe_SOURCES): Remove kern/parser.c.
16718 (util/grub-script-check.c_DEPENDENCIES): Removed.
16719 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16720 and grub_script_check_init.c.
16721 (grub_script_check_init.lst): Removed.
16722 (grub_script_check_init.h): Likewise.
16723 (grub_script_check_init.c): Likewise.
16724 (pkglib_MODULES): Remove handler.mod and sh.mod.
16725 (handler_mod_SOURCES): Removed.
16726 (handler_mod_CFLAGS): Likewise.
16727 (handler_mod_LDFLAGS): Likewise.
16728 (normal_mod_SOURCES): Remove normal/handler.c.
16729 Add script/main.c, script/script.c, script/execute.c,
16730 script/function.c, script/lexer.c, grub_script.tab.c
16731 and grub_script.yy.c.
16732 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16733 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16734 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16735 (grub_setup_SOURCES): Remove kern/parser.c.
16736 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16737 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16738 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16739 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16740 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16741 (grub_setup_SOURCES): Remove kern/parser.c.
16742 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16743 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16744 * include/grub/command.h (grub_command_iterate): Removed.
16745 (FOR_COMMANDS): New macro.
16746 * include/grub/dl.h (grub_dl): New member next.
16747 (grub_dl_iterate): Removed.
16748 (grub_dl_head): New variable declaration.
16749 (FOR_DL_MODULES): New macro.
16750 * include/grub/fs.h: Include list.h.
16751 (grub_fs): Make next first element.
16752 (grub_fs_list): New variable declaration.
16753 (grub_fs_register): Make inline.
16754 (grub_fs_unregister): Likewise.
16755 (grub_fs_iterate): Removed.
16756 (FOR_FILESYSTEMS): New macro.
16757 * include/grub/handler.h: Removed.
16758 * include/grub/list.h (grub_list_hook_t): Removed.
16759 (grub_list_test_t): Likewise.
16760 (grub_list_pop): Likewise.
16761 (grub_list_iterate): Likewise.
16762 (grub_list_insert): Likewise.
16763 (FOR_LIST_ELEMENTS): New macro.
16764 * include/grub/parser.h (grub_parser_class): Removed.
16765 (grub_parser_register): Likewise.
16766 (grub_parser_unregister): Likewise.
16767 (grub_parser_get_current): Likewise.
16768 (grub_parser_set_current): Likewise.
16769 (grub_register_rescue_parser): Likewise.
16770 (grub_rescue_parse_line): New function.
16771 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16772 * include/grub/script_sh.h (grub_script_function_list): New variable
16773 declaration.
16774 (FOR_SCRIPT_FUNCTIONS): New macro.
16775 (grub_script_function_iterate): Removed.
16776 (grub_normal_parse_line): New prototype.
16777 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16778 (FOR_DISABLED_TERM_INPUTS): Likewise.
16779 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16780 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16781 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16782 element.
16783 (grub_video_register): Inline.
16784 (grub_video_unregister): Likewise.
16785 (grub_video_adapter_list): New variable declaration.
16786 (grub_video_iterate): Removed.
16787 (FOR_VIDEO_ADAPTERS): New macro.
16788 * kern/dl.c (grub_dl_list): Removed. All users updated.
16789 (grub_dl_iterate): Removed.
16790 * kern/fs.c (grub_fs_list): Make global.
16791 (grub_fs_register): Removed.
16792 (grub_fs_unregister): Likewise.
16793 (grub_fs_iterate): Likewise.
16794 * kern/handler.c: Removed.
16795 * kern/list.c (grub_list_pop): Removed.
16796 (grub_list_iterate): Likewise.
16797 (grub_list_insert): Likewise.
16798 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16799 (grub_prio_list_insert): Don't use grub_list_insert.
16800 * kern/main.c (grub_register_rescue_parser): Don't call
16801 grub_register_rescue_parser.
16802 * kern/parser.c (grub_parser_class): Removed.
16803 (grub_parser_execute): Use grub_rescue_parse_line.
16804 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16805 (grub_rescue_parser): Removed.
16806 (grub_register_rescue_parser): Likewise.
16807 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16808 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16809 (grub_auth_check_authentication): Likewise.
16810 * normal/completion.c (iterate_command): Removed.
16811 (grub_normal_do_completion): Use FOR_COMMANDS.
16812 * normal/handler.c: Removed.
16813 * normal/main.c (read_config_file): Remove parser changing.
16814 (grub_normal_execute): Don't call read_handler_list.
16815 (grub_normal_read_line_real): Statically allocate prompt.
16816 (grub_cmdline_run): Use grub_normal_parse_line.
16817 (GRUB_MOD_FINI): Don't call free_handler_list.
16818 * normal/menu_entry.c (run): Likewise.
16819 * script/function.c (grub_script_function_list): Make global.
16820 (grub_script_function_iterate): Removed.
16821 * script/main.c (grub_normal_parse_line): Make global.
16822 (grub_sh_parser): Removed.
16823 (GRUB_MOD_INIT): Likewise.
16824 (GRUB_MOD_FINI): Likewise.
16825 * tests/lib/functional_test.c (grub_functional_test): Use
16826 FOR_LIST_ELEMENTS.
16827 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16828 (grub_test_run): Use FOR_LIST_ELEMENTS.
16829 * tests/lib/unit_test.c (main): Likewise.
16830 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16831 grub_list_pop.
16832 * util/grub-fstest.c (grub_term_input_class): Removed.
16833 (grub_term_output_class): Likewise.
16834 * util/grub-probe.c: Likewise.
16835 * util/i386/pc/grub-setup.c: Likewise.
16836 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16837 * util/grub-script-check.c (main): Don't call grub_init_all and
16838 grub_fini_all.
16839 * video/video.c (grub_video_adapter_list): Make global.
16840 (grub_video_register): Removed.
16841 (grub_video_unregister): Likewise.
16842 (grub_video_iterate): Likewise.
16843
6289c3a7
VS
168442010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16845
16846 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16847 reported by Henrique Ferreiro.
16848
91460247
RM
168492010-06-09 Robert Millan <rmh@gnu.org>
16850
16851 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16852 ones, when both are available.
16853
0ea7c4f9
GS
168542010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16855
16856 Make --version uniform and avoid hard-coded program name.
16857
16858 * util/grub-mkimage.c (main): Use `program_name' instead of
16859 hard-coded string.
16860 * util/i386/pc/grub-setup.c (main): Likewise.
16861 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16862 * util/grub-install.in: Save the basename of $0 in $self, and use the
16863 latter in informational messages. Use the same format for --version
16864 as the binary programs.
16865 * util/grub-mkconfig.in: Likewise.
16866 * util/grub-mkrescue.in: Likewise.
16867 * util/grub-reboot.in: Likewise.
16868 * util/grub-set-default.in: Likewise.
16869 * util/i386/efi/grub-install.in: Likewise.
16870 * util/ieee1275/grub-install.in: Likewise.
16871 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16872
e8a6f3b6
GS
168732010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16874
16875 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16876 embedding area. Use <= instead of == when checking for non-emptiness.
16877
f4d095d7
GS
168782010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16879
16880 * configure.ac: Add `.' to the directories searched for unifont.
16881
50e532ca
CW
168822010-06-08 Colin Watson <cjwatson@ubuntu.com>
16883
16884 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16885 grub_script.yy.h.
16886
d39f3dec
CW
168872010-06-08 Colin Watson <cjwatson@ubuntu.com>
16888
16889 * docs/grub.texi (History): Expand to cover GRUB 2.
16890 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16891 commands, not `terminal'.
16892 (serial): Likewise.
16893 (terminal_input): New section.
16894 (terminal_output): New section.
16895 (uppermem): New section (stub).
16896 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16897
6ef0ddb4
CW
168982010-06-08 Colin Watson <cjwatson@ubuntu.com>
16899
16900 * docs/grub.texi (Security): Menu entries are unrestricted by
16901 default, not restricted to superusers as I had previously thought.
16902 Reword to account for this.
16903
e0f4c438
CW
169042010-06-07 Colin Watson <cjwatson@ubuntu.com>
16905
16906 * kern/emu/misc.c (device_mapper_null_log): New function.
16907 (grub_device_mapper_supported): New function.
16908 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16909 prototype.
16910 * kern/emu/hostdisk.c (find_partition_start): Check whether
16911 device-mapper is supported before trying to use it.
16912 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16913
da908200
CW
169142010-06-07 Colin Watson <cjwatson@ubuntu.com>
16915
16916 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16917 (File name syntax): Likewise.
16918 (help): --all is no longer supported in GRUB 2. Be more precise
16919 about pattern matching.
16920
fb55c3ac
CW
169212010-06-07 Colin Watson <cjwatson@ubuntu.com>
16922
16923 * normal/completion.c (grub_normal_do_completion): When completing
16924 arguments to "set" and the current word contains an equals sign,
16925 skip to after the equals sign before starting completion.
16926
258c2573
CW
169272010-06-07 Colin Watson <cjwatson@ubuntu.com>
16928
16929 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16930
ee75515e
CW
169312010-06-07 Colin Watson <cjwatson@ubuntu.com>
16932
16933 * docs/grub.texi (Network): New section.
16934 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16935 `(nd)' as in GRUB Legacy.
16936 (pxe_unload): New section.
16937
a6a700aa
CW
169382010-06-07 Colin Watson <cjwatson@ubuntu.com>
16939
16940 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16941 in the rescue shell, so recommend using `set' instead. Thanks,
16942 Jordan Uggla.
16943
4003dd38
CW
169442010-06-07 Colin Watson <cjwatson@ubuntu.com>
16945
16946 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16947 (password): New section.
16948 (password_pbkdf2): New section.
16949 (search): New section.
16950 (Security): New section.
16951 (Troubleshooting): New section, currently very incomplete.
16952 (Invoking grub-mkpasswd-pbkdf2): New section.
16953 (Internals): New section, currently very incomplete.
16954
e1cbcc40
CW
169552010-06-07 Colin Watson <cjwatson@ubuntu.com>
16956
16957 * util/grub.d/00_header.in: Add some more quoting (of
16958 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16959 work again.
16960 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16961
db8fa1ad
CW
169622010-06-07 Colin Watson <cjwatson@ubuntu.com>
16963
16964 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16965 to `count', fixing variable shadowing that broke the -c option.
16966
169672010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16968
16969 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16970 in case they contain spaces.
16971
f28a9212
CW
169722010-06-04 Colin Watson <cjwatson@ubuntu.com>
16973
16974 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16975 "part_" to partmap module names, in line with grub-install.
16976 Reported by: Jindřich Makovička (Debian bug #584426).
16977
9cdfe32f
CW
169782010-06-04 Colin Watson <cjwatson@ubuntu.com>
16979
16980 * util/grub-mkimage.c: Make target-related error messages slightly
16981 more helpful; -O talks about "format". Explicitly point to the use
16982 of -O if no target is specified.
16983 Reported by: Didier Raboud (Debian bug #584415).
16984
795b593a
CW
169852010-06-03 Colin Watson <cjwatson@ubuntu.com>
16986
16987 * INSTALL: Document several build requirements for optional features
16988 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16989
9d9b5833
GS
169902010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16991
16992 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16993 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16994 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16995
0819fec8
CW
169962010-06-02 Colin Watson <cjwatson@ubuntu.com>
16997
16998 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16999 Thanks to Jordan Uggla for spotting this.
17000
49396b4f
VS
170012010-06-02 Aleš Nesrsta <starous@volny.cz>
17002
17003 Finally make USB usable.
17004
17005 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17006 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17007 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17008 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17009 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17010 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17011 (GRUB_OHCI_FSMPS): Likewise.
17012 (GRUB_OHCI_PERIODIC_START): Likewise.
17013 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17014 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17015 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17016 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17017 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17018 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17019 (grub_ohci_transaction): Likewise.
17020 (grub_ohci_transfer): Improve condition detection algorithms.
17021 Handle toggle property. Program the transactions correctly.
17022 Improve error handling. Various important fixups.
17023 (grub_ohci_portstatus): Put register writes in right order.
17024 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17025 (grub_uhci_transfer): Don't show "failed" message on success.
17026 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17027 array.
17028 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17029 determine its size.
17030 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17031 before initialization is completed. Use IN direction for empty
17032 transfers. Use last_trans and compute toggle.
17033 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17034 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17035 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17036 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17037 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17038 (grub_usb_device): Increase toggle to 256.
17039 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17040 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17041 GRUB_USBMS_SUBCLASS_SFF8070.
17042 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17043 (grub_scsi_inquiry): New member page and alloc_length.
17044 (grub_scsi_request_sense): New structure.
17045 (grub_scsi_request_sense_data): Likewise.
17046 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17047 control.
17048 * disk/scsi.c (grub_scsi_request_sense): New function.
17049 (grub_scsi_test_unit_ready): Likewise.
17050 (grub_scsi_inquiry): Fill new fields.
17051 (grub_scsi_read_capacity): Likewise.
17052 (grub_scsi_read10): Add request sense at the end.
17053 (grub_scsi_read12): Likewise.
17054 (grub_scsi_write10): Likewise.
17055 (grub_scsi_write12): Likewise.
17056 (grub_scsi_open): Add Test Unit Ready.
17057 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17058 Support additional subclasses. Con't clear halt yet. Activate the
17059 proper config. Calculate LUNs correctly.
17060 (grub_usbms_transfer): Various important fixups.
17061
170622010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17065 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17066 (grub_ohci_fini_hw): New function.
17067 (grub_ohci_restore_hw): Likewise.
17068 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17069 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17070 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17071
170722010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 Dedicated DMA allocations.
17075
17076 * bus/pci.c (grub_memalign_dma32): New function
17077 (grub_dma_free): Likewise.
17078 (grub_dma_get_virt): Likewise.
17079 (grub_dma_get_phys): Likewise.
17080 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17081 (grub_ohci_pci_iter): Use dma32_alloc.
17082 (grub_ohci_transfer): Likewise.
17083 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17084 (grub_usb_bulk_readwrite): Likewise.
17085 * include/grub/pci.h: Add declarations.
17086
170872010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 CS5536 support.
17090
17091 * bus/cs5536.c: New file.
17092 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17093 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17094 (cs5536_mod_SOURCES): New variable.
17095 (cs5536_mod_CFLAGS): Likewise.
17096 (cs5536_mod_LDFLAGS): Likewise.
17097 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17098 machine/pci.h.
17099 (kernel_img_SOURCES): Add bus/cs5536.c.
17100 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17101 usb_keyboard.mod.
17102 (usb_mod_SOURCES): New variable.
17103 (usb_mod_CFLAGS): New variable.
17104 (usb_mod_LDFLAGS): New variable.
17105 (usbtest_mod_SOURCES): New variable.
17106 (usbtest_mod_CFLAGS): New variable.
17107 (usbtest_mod_LDFLAGS): New variable.
17108 (ohci_mod_SOURCES): New variable.
17109 (ohci_mod_CFLAGS): New variable.
17110 (ohci_mod_LDFLAGS): New variable.
17111 (usbms_mod_SOURCES): New variable.
17112 (usbms_mod_CFLAGS): New variable.
17113 (usbms_mod_LDFLAGS): New variable.
17114 (usb_keyboard_mod_SOURCES): New variable.
17115 (usb_keyboard_mod_CFLAGS): New variable.
17116 (usb_keyboard_mod_LDFLAGS): New variable.
17117 * include/grub/smbus.h: New file.
17118 * include/grub/cs5536.h: New file.
17119
0b35b2a9
CW
171202010-06-02 Colin Watson <cjwatson@ubuntu.com>
17121
17122 * util/grub.d/00_header.in: Add safety check to make sure that
17123 ${locale_dir} exists before trying to probe it.
17124
ca0afd5b
CW
171252010-06-02 Colin Watson <cjwatson@ubuntu.com>
17126
17127 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17128 per the GNU Coding Standards; this is now too obscure to be worth
17129 documenting.
17130 (QNX): Likewise.
17131 (chainloader): Remove cross-reference to `SCO UnixWare'.
17132
1c41aa78
CW
171332010-06-02 Colin Watson <cjwatson@ubuntu.com>
17134
17135 * docs/grub.texi (Chain-loading): New section.
17136 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17137 adjusted for GRUB 2.
17138 (SCO UnixWare): Likewise.
17139 (QNX): Likewise.
17140 (chainloader): Add reference to `Block list syntax'.
17141 (drivemap): New section.
17142 (parttool): New section.
17143
bb8ea0f5
CW
171442010-06-02 Colin Watson <cjwatson@ubuntu.com>
17145
17146 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17147 the grub shell'.
17148 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17149 (Installing GRUB using grub-install): Remove reference to the grub
17150 shell; mention `grub-mkimage' and `grub-setup' instead.
17151 (Invoking grub-install): Likewise.
17152 (Interface): Add reference to `Menu entry editor'.
17153 (serial): Remove `--device' option.
17154
288dd6ed
CW
171552010-06-02 Colin Watson <cjwatson@ubuntu.com>
17156
17157 * docs/grub.texi (Configuration): New section, documenting
17158 configuration file generation using grub-mkconfig. I've left a slot
17159 for documenting the full shell scripting format but have not yet
17160 started on writing that up.
17161 (Invoking grub-mkconfig): New section.
17162
34c9f0e9
CW
171632010-06-02 Colin Watson <cjwatson@ubuntu.com>
17164
17165 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17166 (GNU GRUB manual): Likewise.
17167 (General commands): Update description of `terminfo' for GRUB 2.
17168
9121567e
CW
171692010-06-02 Colin Watson <cjwatson@ubuntu.com>
17170
17171 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17172 (GRUB_MOD_INIT): Fix capitalisation.
17173 * docs/grub.texi (Command-line and menu entry commands): Document
17174 gettext and gptsync commands.
17175
ab631611
CW
171762010-06-02 Colin Watson <cjwatson@ubuntu.com>
17177
17178 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17179 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17180
bde4a9ac
CW
171812010-06-01 Colin Watson <cjwatson@ubuntu.com>
17182
17183 Add btrfs probing support, currently only in the single-device case.
17184
17185 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17186 function.
17187 (grub_guess_root_device): Call find_root_device_from_mountinfo
17188 before looking in /dev.
17189
b1d17e10
VS
171902010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17191
17192 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17193 GRUB_DISK_SIZE_UNKNOWN.
17194 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17195
dfbfe004
JS
171962010-05-31 Jiro SEKIBA <jir@unicus.jp>
17197
17198 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17199 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17200 corrupted or not synced properly.
17201
c2ffc8e9
VS
172022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17205 Reported by: Seth Goldberg.
17206
56293166
VS
172072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17210 addition of dest.
17211 Reported by: Seth Goldberg.
17212
7620e7de
VS
172132010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17216 Reported by: Seth Goldberg.
17217
c837af3f
VS
172182010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17219
17220 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17221 64-bit address as signed on MIPS.
17222
c7c75cf4
CW
172232010-05-28 Colin Watson <cjwatson@ubuntu.com>
17224
17225 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17226 to the empty string.
17227
fa4b8490
BC
172282010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17229
17230 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17231
17232 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17233 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17234 * kern/misc.c (__enable_execute_stack): Disable on
17235 GRUB_MACHINE_EMU.
17236
a33075b9
CW
172372010-05-28 Colin Watson <cjwatson@ubuntu.com>
17238
17239 Make grub-probe work with symbolic links under /dev/mapper as well
17240 as with real block devices. The Linux world seems to be (at best)
17241 in transition here, and GRUB shouldn't get caught in the middle.
17242
17243 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17244 /dev/mapper.
17245
d8708134
CW
172462010-05-27 Colin Watson <cjwatson@ubuntu.com>
17247
17248 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17249 input files (in which case exit zero).
17250
db2102a0
CW
172512010-05-27 Colin Watson <cjwatson@ubuntu.com>
17252
17253 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17254 return NULL for various reasons even if it has a maximum-length
17255 buffer: for example, there might be a symlink loop, or the path
17256 might exceed PATH_MAX. If this happens, return NULL.
17257
5fdba519
RM
172582010-05-27 Robert Millan <rmh@gnu.org>
17259
17260 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17261 partmap module to handle cross-partmap setups.
17262 Reported by Orestes Mas. Gràcies!
17263
d1d368e4
CW
172642010-05-27 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * util/grub-mkrescue.in: Initialise override_dir rather than
17267 assuming that it's unset or empty in the environment.
17268
95ac3c73
GS
172692010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17270
17271 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17272 variable index into p_index to suppress a warning with -Wshadow.
17273
7d8c0213
BC
172742010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17275
17276 * INSTALL: Added flex >= 2.5.35 requirement.
17277
db4d5813
VS
172782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17281
f24f4300
VS
172822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17283
17284 cmostest support.
17285
17286 * commands/i386/cmostest.c: New file.
17287 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17288 (cmostest_mod_SOURCES): New variable.
17289 (cmostest_mod_CFLAGS): Likewise.
17290 (cmostest_mod_LDFLAGS): Likewise.
17291 * conf/i386-pc.rmk: Likewise.
17292 * docs/grub.texi (Vendor power-on keys): New section.
17293 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17294 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17295 and GRUB_BUTTON_CMOS_ADDRESS.
17296 * util/grub.d/00_header.in: Handle powering-on by separate button.
17297
ad603f61
VS
172982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17301 Removed drawing_scrollbar argument. All users updated
17302 Fixes #29792.
17303 Reported by Jo Shields
17304
3ecb080a
VS
173052010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17308 buffer since gfxterm handles double repaint.
17309
5f2316c1
VS
173102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17313 * term/gfxterm.c (real_scroll): Likewise.
17314
9a25f885
VS
173152010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17318 before calling BIOS.
17319
39fbb79a
VS
173202010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 * include/grub/i18n.h: Always enable grub_gettext.
17323
228cfa97
VS
173242010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17327 partition naming style.
17328
21717c8f
CW
173292010-05-21 Colin Watson <cjwatson@ubuntu.com>
17330
17331 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17332 not the first option.
17333
c0f48e65
CW
173342010-05-20 Colin Watson <cjwatson@ubuntu.com>
17335
17336 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17337
96779aec
CW
173382010-05-20 Colin Watson <cjwatson@ubuntu.com>
17339
17340 * util/misc.c: Move inclusion of <limits.h> to ...
17341 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17342
fa9d256e
GS
173432010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17344
17345 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17346 Fix merge error in NetBSD code.
17347 (find_partition_start) [__NetBSD__]: Likewise.
17348
123b7a85
BC
173492010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17350
17351 Fix grub-mkrescue usage unit testing.
17352
17353 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17354
74276c0d
CF
173552010-05-18 Christian Franke <franke@computer.org>
17356
17357 * util/grub.d/10_windows.in: Use path names instead of
17358 drive letters to prevent warning from Cygwin 1.7.
17359 Add drivemap command to menuentry if needed.
17360
c4f7b523
ST
173612010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17362
17363 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17364 gnumach and gnumach.gz.
17365
95b97950
VS
173662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * include/grub/i18n.h (gettext): Inline instead of using #define.
17369 (grub_gettext): Likewise.
17370 (_): Likewise.
17371
01b8d2d7
VS
173722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17375 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17376 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17377 (main): Add a slash after pkglibdirroot.
17378
654e1d1e
VS
173792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * util/grub-install.in: Add missing "in" keyword.
17382
26966aeb
VS
173832010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17386 Reported by: Seth Goldberg.
17387
75006747
VS
173882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17389
17390 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17391
74cbf5bd
CW
173922010-05-18 Colin Watson <cjwatson@ubuntu.com>
17393
17394 * configure.ac: Check for Linux device-mapper support.
17395
17396 * util/hostdisk.c (device_is_mapped): New function.
17397 (find_partition_start): New function, partly broken out from
17398 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17399 device-mapper support added.
17400 (linux_find_partition): Use find_partition_start.
17401 (convert_system_partition_to_system_disk): Add `st' argument.
17402 Support Linux /dev/mapper/* devices if device-mapper support is
17403 available; only DM-RAID devices are understood at present.
17404 (find_system_device): Add `st' argument. Pass it to
17405 convert_system_partition_to_system_disk.
17406 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17407 find_system_device and convert_system_partition_to_system_disk. Use
17408 find_partition_start.
17409
17410 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17411 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17412 * util/deviceiter.c [__linux__]: Define MINOR.
17413 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17414 * util/mkdevicemap.c (grub_putchar): New function.
17415 (grub_getkey): New function.
17416 (grub_refresh): New function.
17417 (main): Set debug=all if -v -v is used.
17418
355b51e9
CW
174192010-05-18 Colin Watson <cjwatson@ubuntu.com>
17420
17421 Fix build with non-GNU libcs.
17422
17423 * util/misc.c (canonicalize_file_name): Move to ...
17424 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17425 grub_make_system_path_relative_to_its_root.
17426
7fb5c25f
CW
174272010-05-18 Colin Watson <cjwatson@ubuntu.com>
17428
17429 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17430 we handle finding grub-mkimage. Default to finding grub-mkimage in
17431 ${bindir} with program_transform_name applied, and provide a
17432 --grub-mkimage option to override this.
17433
1d3293d6
VS
174342010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17435
17436 Remove grub-mkisofs.
17437
17438 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17439 (grub_mkisofs_SOURCES): Removed.
17440 (grub_mkisofs_CFLAGS): Removed.
17441 * util/mkisofs/defaults.h: Removed.
17442 * util/mkisofs/eltorito.c: Likewise.
17443 * util/mkisofs/exclude.h: Likewise.
17444 * util/mkisofs/hash.c: Likewise.
17445 * util/mkisofs/include/: Likewise.
17446 * util/mkisofs/include/fctldefs.h: Likewise.
17447 * util/mkisofs/include/mconfig.h: Likewise.
17448 * util/mkisofs/include/prototyp.h: Likewise.
17449 * util/mkisofs/include/statdefs.h: Likewise.
17450 * util/mkisofs/iso9660.h: Likewise.
17451 * util/mkisofs/joliet.c: Likewise.
17452 * util/mkisofs/match.c: Likewise.
17453 * util/mkisofs/match.h: Likewise.
17454 * util/mkisofs/mkisofs.c: Likewise.
17455 * util/mkisofs/mkisofs.h: Likewise.
17456 * util/mkisofs/msdos_partition.h: Likewise.
17457 * util/mkisofs/multi.c: Likewise.
17458 * util/mkisofs/name.c: Likewise.
17459 * util/mkisofs/rock.c: Likewise.
17460 * util/mkisofs/tree.c: Likewise.
17461 * util/mkisofs/write.c: Likewise.
17462
5dde9afe
VS
174632010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17464
17465 Unify grub-mkimage accross platforms.
17466
17467 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17468 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17469 (grub_mkelfimage_SOURCES): Removed.
17470 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17471 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17472 (bin_UTILITIES): Add grub-mkimage.
17473 (grub_mkimage_SOURCES): New variable.
17474 (kernel_img_HEADERS): Remove machine/kernel.h.
17475 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17476 (pkglib_PROGRAMS): Add kernel.img.
17477 (kernel_img_HEADERS): Add machine/kernel.h.
17478 (kernel_img_FORMAT): Removed.
17479 (bin_UTILITIES): Remove grub-mkimage.
17480 (grub_mkimage_SOURCES): Removed.
17481 (grub_mkimage_CFLAGS): Likewise.
17482 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17483 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17484 (pkglib_PROGRAMS): Add kernel.img.
17485 (bin_UTILITIES): Remove grub-mkimage.
17486 (grub_mkimage_SOURCES): Removed.
17487 (grub_mkimage_CFLAGS): Likewise.
17488 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17489 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17490 (pkglib_PROGRAMS): Add kernel.img.
17491 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17492 (pkglib_PROGRAMS): Add kernel.img.
17493 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17494 (grub_mkimage_SOURCES): Removed.
17495 (grub_mkimage_CFLAGS): Likewise.
17496 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17497 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17498 (pkglib_PROGRAMS): Add kernel.img.
17499 (bin_UTILITIES): Remove grub-mkimage.
17500 (grub_mkimage_SOURCES): Removed.
17501 (grub_mkimage_CFLAGS): Likewise.
17502 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17503 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17504 (grub_mkimage_SOURCES): Removed.
17505 (grub_mkimage_CFLAGS): Likewise.
17506 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17507 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17508 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17509 (grub_pe32_optional_header): ... this.
17510 (grub_pe64_optional_header): ... and this. All users updated.
17511 (GRUB_PE32_PE32_MAGIC): Split into ..
17512 (GRUB_PE32_PE32_MAGIC): .. this.
17513 (GRUB_PE32_PE64_MAGIC): .. and this.
17514 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17515 * include/grub/elf.h (PT_GNU_STACK): New definition.
17516 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17517 * include/grub/i386/efi/kernel.h: Likewise.
17518 * include/grub/i386/kernel.h: Likewise.
17519 * include/grub/i386/pc/kernel.h: Likewise.
17520 * include/grub/i386/qemu/boot.h: Likewise.
17521 * include/grub/mips/kernel.h: Likewise.
17522 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17523 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17524 * include/grub/powerpc/kernel.h: Likewise.
17525 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17526 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17527 * include/grub/sparc64/kernel.h: Likewise.
17528 * include/grub/x86_64/efi/kernel.h: Likewise.
17529 * include/grub/x86_64/kernel.h: Likewise.
17530 * include/grub/offsets.h: New file.
17531 * include/grub/kernel.h (grub_module_info): Split into ...
17532 (grub_module_info32): ... this.
17533 (grub_module_info64): ... and this.
17534 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17535 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17536 (grub_boot_blocklist): Moved from here ...
17537 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17538 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17539 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17540 * include/grub/types.h (grub_target_to_host16): Removed.
17541 (grub_target_to_host32): Likewise.
17542 (grub_target_to_host64): Likewise.
17543 (grub_host_to_target16): Likewise.
17544 (grub_host_to_target32): Likewise.
17545 (grub_host_to_target64): Likewise.
17546 (grub_host_to_target_addr): Likewise.
17547
17548 Support grub-mkrescue for efi, coreboot and qemu.
17549
17550 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17551 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17552 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17553 * util/grub-mkrawimage.c: Moved from here ...
17554 * util/grub-mkimage.c: ... here. All users updated.
17555 (ALIGN_ADDR): Use image_target.
17556 (TARGET_NO_FIELD): New const.
17557 (image_target_desc): New type.
17558 (image_targets): New array.
17559 (grub_target_to_host64): Use image_target.
17560 (grub_target_to_host32): Likewise.
17561 (grub_target_to_host16): Likewise.
17562 (grub_host_to_target64): Likewise.
17563 (grub_host_to_target32): Likewise.
17564 (grub_host_to_target16): Likewise.
17565 (grub_host_to_target_addr): Likewise.
17566 (generate_image): Handle multiimage.
17567 (main): Require -O parameter. All users updated.
17568 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17569 util/efi/grub-mkimage.c
17570 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17571 New option --rom-directory.
17572 Use xorriso.
17573 * util/i386/efi/grub-mkimage.c: Removed.
17574 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17575 (grub_target_to_host32): Likewise.
17576 (grub_target_to_host64): Likewise.
17577 (grub_host_to_target16): Likewise.
17578 (grub_host_to_target32): Likewise.
17579 (grub_host_to_target64): Likewise.
17580 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17581 (grub_target_to_host32): Likewise.
17582 (grub_target_to_host64): Likewise.
17583 (grub_host_to_target16): Likewise.
17584 (grub_host_to_target32): Likewise.
17585 (grub_host_to_target64): Likewise.
17586
f4fc97d0
BC
175872010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17588
17589 Source tree is reorganized for emu build.
17590
17591 * include/grub/util/console.h: Move from here...
17592 * include/grub/emu/console.h: ...to here.
17593 * include/grub/util/getroot.h: Move from here...
17594 * include/grub/emu/getroot.h: ...to here.
17595 * include/grub/util/hostdisk.h: Move from here...
17596 * include/grub/emu/hostdisk.h: ...to here.
17597 * util/console.c: Move from here...
17598 * kern/emu/console.c: ...to here.
17599 * util/getroot.c: Move from here...
17600 * kern/emu/getroot.c: ...to here.
17601 * util/grub-emu.c: Move from here...
17602 * kern/emu/main.c: ...to here.
17603 * util/hostdisk.c: Move from here...
17604 * kern/emu/hostdisk.c: ...to here.
17605 * util/hostfs.c: Move from here...
17606 * kern/emu/hostfs.c: ...to here.
17607 * util/mm.c: Move from here...
17608 * kern/emu/mm.c: ...to here.
17609 * util/pci.c: Move from here...
17610 * bus/emu/pci.c: ...to here.
17611 * util/sdl.c: Move from here...
17612 * video/emu/sdl.c: ...to here.
17613 * util/time.c: Move from here...
17614 * kern/emu/time.c: ...to here.
17615 * util/usb.c: Move from here...
17616 * bus/usb/emu/usb.c: ...to here.
17617
17618 * include/grub/emu/misc.h: New header for grub-emu functions.
17619 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17620
17621 * conf/any-emu.rmk: Rule updates for above renames.
17622 * conf/common.rmk: Likewise.
17623 * conf/i386-pc.rmk: Likewise.
17624 * conf/i386-qemu.rmk: Likewise.
17625 * conf/mips.rmk: Likewise.
17626 * conf/sparc64-ieee1275.rmk: Likewise.
17627 * conf/x86-efi.rmk: Likewise.
17628
17629 * disk/lvm.h: #include updates for above renames.
17630 * util/grub-mkrelpath.c: Likewise.
17631 * util/grub-probe.c: Likewise.
17632 * util/i386/pc/grub-setup.c: Likewise.
17633 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17634 * kern/emu/console.c: Likewise.
17635 * kern/emu/getroot.c: Likewise.
17636 * kern/emu/hostdisk.c: Likewise.
17637 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17638
17639 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17640 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17641 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17642 * util/misc.c: Remove grub-emu functions.
17643
cced9145
VS
176442010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17645
17646 Fix gfxmenu crash.
17647 Reported by: Thorsten Grützmacher.
17648
17649 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17650 timeout hook.
17651 (circprog_set_property): Register and unregister timeout hook.
17652 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17653 (label_destroy): Free template. and unregister hook.
17654 (label_set_state): New function.
17655 (label_set_property): Handle templates and hooks.
17656 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17657 timeout hook.
17658 (progress_bar_set_property): Register and unregister timeout hook.
17659 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17660 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17661 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17662 (update_timeout_visit): Removed.
17663 (update_timeouts): New function.
17664 (redraw_timeouts): Likewise.
17665 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17666 (grub_gfxmenu_clear_timeout): Likewise.
17667 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17668 (grub_gfxmenu_timeout_notify): Likewise.
17669 (grub_gfxmenu_timeout_notifications): New external variable.
17670 (grub_gfxmenu_timeout_register): New function.
17671 (grub_gfxmenu_timeout_unregister): Likewise.
17672
c6e5caab
VS
176732010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17674
17675 Transform (broken) vga terminal into (working) vga video driver.
17676
17677 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17678 video/i386/pc/vga.c.
17679 * include/grub/video.h (grub_video_driver_id):
17680 Add GRUB_VIDEO_DRIVER_VGA.
17681 * term/i386/pc/vga.c: Renamed to ...
17682 * video/i386/pc/vga.c: ...this
17683 (DEBUG_VGA): Removed.
17684 (CHAR_WIDTH): Likewise.
17685 (CHAR_HEIGHT): Likewise.
17686 (TEXT_WIDTH): Likewise.
17687 (TEXT_HEIGHT): Likewise.
17688 (DEFAULT_FG_COLOR): Likewise.
17689 (DEFAULT_BG_COLOR): Likewise.
17690 (colored_char): Likewise.
17691 (xpos): Likewise.
17692 (ypos): Likewise.
17693 (cursor_state): Likewise.
17694 (fg_color): Likewise.
17695 (bg_color): Likewise.
17696 (text_buf): Likewise.
17697 (page): Likewise.
17698 (font): Likewise.
17699 (framebuffer): New variable.
17700 (set_read_map): Disabled.
17701 (setup): New variable.
17702 (is_target): Likewise.
17703 (grub_vga_mod_init): Likewise.
17704 (grub_vga_mod_fini): Likewise.
17705 (check_vga_mem): Likewise.
17706 (write_char): Likewise.
17707 (write_cursor): Likewise.
17708 (scroll_up): Likewise.
17709 (grub_vga_putchar): Likewise.
17710 (grub_vga_getcharwidth): Likewise.
17711 (grub_vga_getwh): Likewise.
17712 (grub_vga_getxy): Likewise.
17713 (grub_vga_gotoxy): Likewise.
17714 (grub_vga_cls): Likewise.
17715 (grub_vga_setcolorstate): Likewise.
17716 (grub_vga_setcursor): Likewise.
17717 (grub_video_vga_init): New function.
17718 (grub_video_vga_setup): Likewise.
17719 (grub_video_vga_fini): Likewise.
17720 (update_target): Likewise.
17721 (grub_video_vga_blit_bitmap): Likewise.
17722 (grub_video_vga_blit_render_target): Likewise.
17723 (grub_video_vga_set_active_render_target): Likewise.
17724 (grub_video_vga_get_active_render_target): Likewise.
17725 (grub_video_vga_swap_buffers): Likewise.
17726 (grub_video_vga_set_palette): Likewise.
17727 (grub_video_vga_get_info_and_fini): Likewise.
17728 (grub_vga_term): Removed.
17729 (grub_video_vga_adapter): New variable.
17730 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17731 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17732
2bf61a98
VS
177332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * video/readers/jpeg.c: Indented.
17736
09ddcd11
VS
177372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 Various jpeg cleanups.
17740
17741 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17742 (grub_jpeg_decode_quan_table): Use sizeof.
17743 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17744
e5507505
PH
177452010-05-05 Peter Hurley <No e-mail available> (tiny change)
17746
17747 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17748 tables. Ignore non-last ac bit.
17749 (grub_jpeg_decode_quan_table): Likewise.
17750
7e720a9b
VS
177512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17754 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17755 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17756 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17757 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17758 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17759
a7fc080b
VS
177602010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17763 error.
17764
2bf6012d
VS
177652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17766
17767 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17768
265d68cd
VS
177692010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17772 condition.
17773
177742010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17775
17776 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17777 part.
17778
265d68cd 177792010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17780
17781 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17782 pointers.
17783
265d68cd 177842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17785
17786 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17787
d1b61374
CF
177882010-05-01 Christian Franke <franke@computer.org>
17789
17790 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17791 Remove broken Cygwin path conversion.
17792 * util/misc.c: [__CYGWIN__] Add include and define.
17793 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17794 for Cygwin 1.7.
17795 (make_system_path_relative_to_its_root): Simplify loop, replace early
17796 return by break.
17797 [__CYGWIN__] Add conversion to win32 path.
17798 Include "/" case in trailing slash removal.
17799
3558c6e9
VS
178002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17803 Reported by: Seth Goldberg
17804
f5f3ff93
VS
178052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 * commands/help.c (grub_cmd_help): Fix a typo.
17808 Reported by: Seth Goldberg
17809
d8b5cd40
VS
178102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17813 name and add N_.
17814 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17815 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17816 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17817 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17818 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17819 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17820 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17821 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17822 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17823 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17824 * normal/context.c (GRUB_MOD_INIT): Likewise.
17825 * normal/main.c (GRUB_MOD_INIT): Likewise.
17826 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17827 * term/serial.c (GRUB_MOD_INIT): Likewise.
17828 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17829
88c14915
VS
178302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17833 extra == 0.
17834
165134bc
VS
178352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * commands/iorw.c: New file.
17838 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17839 (iorw_mod_SOURCES): New variable.
17840 (iorw_mod_CFLAGS): Likewise.
17841 (iorw_mod_LDFLAGS): Likewise.
17842
c5ac9b32
VS
178432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17844
17845 Hotkey support
17846
17847 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17848 * normal/main.c (hotkey_aliases): New variable.
17849 (grub_normal_add_menu_entry): Parse "--hotkey".
17850 * normal/menu_text.c (run_menu): Handle hotkeys.
17851
ce60689c
VS
178522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * kern/i386/coreboot/init.c (grub_machine_init): Call
17855 grub_machine_mmap_init on qemu.
17856
0359d006
VS
178572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17858
17859 * boot/i386/qemu/boot.S: Add a missing .code16.
17860
7819a456
VS
178612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17862
17863 Use LBIO on coreboot.
17864
17865 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17866 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17867 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17868 New declaration.
17869 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17870 grub_machine_mmap_init on coreboot.
17871 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17872 GRUB_LINUXBIOS_MEMBER_LINK.
17873 (grub_machine_mmap_iterate): Fix declaration.
17874 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17875
7210dca9
VS
178762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 Split coreboot and multiboot ports.
17879
17880 * conf/i386-multiboot.rmk: New file.
17881 * configure.ac: Add multiboot port.
17882 * include/grub/i386/multiboot/boot.h: New file.
17883 * include/grub/i386/multiboot/console.h: Likewise.
17884 * include/grub/i386/multiboot/init.h: Likewise.
17885 * include/grub/i386/multiboot/kernel.h: Likewise.
17886 * include/grub/i386/multiboot/loader.h: Likewise.
17887 * include/grub/i386/multiboot/memory.h: Likewise.
17888 * include/grub/i386/multiboot/serial.h: Likewise.
17889 * include/grub/i386/multiboot/time.h: Likewise.
17890 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17891 * loader/multiboot.c: Likewise.
17892 * loader/multiboot_mbi2.c: Likewise.
17893 * util/grub-mkrescue.in: Generate multiboot rescue.
17894
6f8aaf68
VS
178952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17896
3080f7a7
VS
17897 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17898
178992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17902
17903 * commands/terminal.c (abstract_terminal): New struct.
17904 (handle_command): New function. Based on grub_cmd_terminal_input.
17905 (grub_cmd_terminal_input): Use handle_command.
17906 (grub_cmd_terminal_output): Use handle_command.
17907
a8ebb841
BC
179082010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17909
17910 Fix comment handling.
17911
17912 * tests/grub_script_comments.in: New testcase.
17913 * conf/tests.rmk: Rules for new testcase.
17914 * script/yylex.l: Updated flex rules.
17915
bb06ba08
ST
179162010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17917
17918 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17919 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17920 if argc is 1.
bb06ba08 17921
cc9d2425
VS
179222010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17925 autogen issues.
17926
460d8402
CF
179272010-04-26 Christian Franke <franke@computer.org>
17928
17929 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17930 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17931 (grub_get_prefix): Remove function.
17932 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17933 make_system_path_relative_to_its_root ().
17934 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17935
553c01f9
CF
179362010-04-24 Christian Franke <franke@computer.org>
17937
17938 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17939 (kernel_img_LDFLAGS): Remove -static-libgcc.
17940
2aec1692
CF
179412010-04-24 Christian Franke <franke@computer.org>
17942
17943 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17944 and CHECK_END_SYMBOL if grub-emu is built.
17945 Unset TARGET_OBJ2ELF if grub-emu is built
17946 without module support.
17947
f67dc308
JS
179482010-04-24 Jiro SEKIBA <jir@unicus.jp>
17949
17950 Nilfs2 support.
17951
17952 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17953 (grub_fstest_SOURCES): Likewise.
17954 (pkglib_MODULES): Add nilfs2.mod.
17955 (nilfs2_mod_SOURCES): New variable.
17956 (nilfs2_mod_CFLAGS): Likewise.
17957 (nilfs2_mod_LDFLAGS): Likewise.
17958 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17959 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17960 * fs/nilfs2.c: New file.
17961
4ba8d354
VS
179622010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17965 is not supported.
17966
0d2c20c6
GS
179672010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17968
17969 Add grub-mkconfig support for NetBSD.
17970
17971 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17972 * util/grub-mkconfig.in: export new NetBSD specific variables.
17973 * po/POTFILES-shell: added 10_netbsd.in.
17974 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17975
bc4a2d83
BC
179762010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17977
17978 Fix emu build with grub-emu-pci and grub-emu-modules.
17979
17980 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17981 functions.
17982 * include/grub/libpciaccess.h: New file.
17983 * conf/any-emu.rmk: Update kernel headers for emu build.
17984
f48c87aa
VS
179852010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17988
18959385
VS
179892010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17990
17991 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17992
0037de3f
VS
179932010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17994
17995 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17996 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17997 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17998 util/ieee1275/ofpath.c.
17999 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18000 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18001 * include/grub/sparc64/ieee1275/boot.h
18002 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18003 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18004 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18005 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18006 const char *.
18007 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18008 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18009 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18010 install.
18011
38e55e90
GS
180122010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18013
18014 * util/grub-mkconfig.in: Corrected two == equality tests.
18015 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18016 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18017 expect a number appended to it.
18018 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18019 expects a number appended to it.
18020
a9e6ff28
VS
180212010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18024
0b830b8f
VS
180252010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * util/hostdisk.c (make_device_name): Change to new partition naming.
18028
0973daeb
VS
180292010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18032
460d8402 180332010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18034
18035 * Makefile.in: Add missing localedir setting.
18036
0b456309
CW
180372010-04-14 Colin Watson <cjwatson@ubuntu.com>
18038
18039 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18040 mistake in r2156. Noticed by Anthony Fok.
18041
18042 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18043 @localedir@.
18044 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18045
08f46d62
BC
180462010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18047
18048 Fix a spurious, uninitialized variable warning.
18049
18050 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18051 Initialize variable, shdr.
18052 (grub_freebsd_load_elfmodule): Likewise.
18053 (grub_freebsd_load_elf_meta): Likewise.
18054
8c4a72d4
BC
180552010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18056
18057 Fix for escaped dollar in double quoted strings.
18058
18059 * script/yylex.l: Updated flex rules.
18060 * conf/tests.rmk: Rule for new testcase.
18061 * tests/grub_script_dollar.in: New testcase.
18062
ce44826e
CPE
180632010-04-13 Carles Pina i Estany <carles@pina.cat>
180642010-04-13 Colin Watson <cjwatson@ubuntu.com>
18065
18066 Enclose all translated strings in grub.cfg in single quotes, and
18067 escape them appropriately (Ubuntu bug #552921).
18068
18069 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18070 * util/grub.d/10_hurd.in: Use it.
18071 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18072 * util/grub.d/10_linux.in (linux_entry): Likewise.
18073
4b0cd8f8
VS
180742010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 Fix cygwin compilation.
18077
18078 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18079 * include/grub/misc.h (__register_frame_info)
18080 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18081 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18082 * kern/misc.c (__register_frame_info)
18083 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18084 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18085
01fcf061
VS
180862010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18087
18088 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18089
5d04b11e
VS
180902010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18091
18092 Unify libgcc processing.
18093
18094 * Makefile.in (kernel_img_LDFLAGS): New variable.
18095 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18096 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18097 overwriting.
18098 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18099 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18100 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18101 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18102 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18103 overwriting. Remove -lgcc and -static-libgcc
18104 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18105 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18106 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18107 (kernel_img_LDFLAGS): Append instead of overwriting.
18108 Remove -lgcc and -static-libgcc
18109 * conf/sparc64-ieee1275.rmk: Likewise.
18110 * include/grub/powerpc/libgcc.h: Move to ...
18111 * include/grub/libgcc.h: .. this.
18112 * include/grub/libgcc.h: Don't export most of the function on x86.
18113 (__bswapsi2): New export.
18114 (__bswapdi2): Likewise.
18115 * include/grub/mips/libgcc.h: Removed.
18116 * include/grub/sparc64/libgcc.h: Likewise.
18117
b7f3ac29
VS
181182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18119
18120 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18121 disk_info_msg (conflicts with gettexting into languages with cases).
18122
2c7031b1
GS
181232010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18124
18125 Add grub-probe support for NetBSD.
18126
18127 * util/getroot.c (find_root_device): Convert block device to
18128 character device on NetBSD.
18129 * util/probe.c (probe): Require character device on NetBSD.
18130 * util/hostdisk.c: NetBSD specific headers.
18131 (configure_device_driver): new function to tune device driver
18132 parameters (currently only for NetBSD floppy driver).
18133 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18134 via disklabel ioctl).
18135 (open_device): call configure_device_driver on NetBSD.
18136 (convert_system_partition_to_system_disk): NetBSD specific code.
18137 (device_is_wholedisk): Likewise.
18138 (grub_util_biosdisk_get_grub_dev): Likewise.
18139 (make_device_name): Fixed a typo in bsd_part_str.
18140 * configure.ac: check for opendisk() and getrawpartition() on
18141 NetBSD and set LIBUTIL.
18142 * Makefile.in: add LIBUTIL to LIBS.
18143
f516290c
BC
181442010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18145
18146 Documentation fix.
18147
18148 * util/grub-script-check.c: Better help message.
18149
d8dcc0df
BC
181502010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18151
18152 Fix FreeBSD build.
18153
18154 * configure.ac: Flex version check.
18155 * conf/common.rmk: Add -Wno-error to sh.mod.
18156 * script/yylex.l: Remove all #pragma.
18157
6734334a
VS
181582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18161 prototype.
18162 Reported by: Seth Goldberg.
18163
daea6abd
VS
181642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18167 Rename "module" to "module2".
18168 Reported by: Seth Goldberg.
18169
f2fd9d2b
VS
181702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18173 EXPORT_FUNC.
18174 Reported by: Seth Goldberg.
18175
be124579
VS
181762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18177
18178 * lib/posix_wrap/locale.h: Add missing file.
18179 Reported by: Seth Goldberg.
18180
ef5da797
VS
181812010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 grub-emu module load support.
18184
18185 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18186 NO_DYNAMIC_MODULES switched to this.
18187 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18188 (CFLAGS): Likewise.
18189 * conf/any-emu.rmk: Generate symlist.
18190 (kernel_img_HEADERS): Add util/datetime.h.
18191 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18192 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18193 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18194 kern/$(target_cpu)/cache.S.
18195 * configure.ac (grub-emu-modules): New option.
18196 * genmk.rb: Handle multiple source lists.
18197 * include/grub/sdl.h: New file.
18198 * include/grub/libusb.h: Likewise.
18199 * util/grub-emu.c (main): Hanle (host) root.
18200 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18201 GRUB_ERR_UNKNOWN_DEVICE.
18202 * util/misc.c: Move mm functions to ...
18203 * util/mm.c: ... here. All users updated.
18204
47822096
VS
182052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18208 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18209 missing files.
18210 (maintainer-clean): Remove libgcrypt-grub.
18211
5d7e7445
VS
182122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18213
18214 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18215
25f4e252
EC
182162010-04-09 EFI Coder <eficoder@hotmail.com>
18217
18218 * normal/menu_text.c (print_message): Clean up the message and show
18219 the Fn information when on EFI
18220 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18221
027de555
VS
182222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18225 All users updated.
18226 * normal/crypto.c (read_crypto_list): Likewise.
18227 * normal/dyncmd.c (read_command_list): Likewise.
18228 * normal/term.c (read_terminal_list): Likewise.
18229 * normal/main.c (read_lists): Use explicit prefix.
18230 (read_lists_hook): Use read_lists.
18231 (grub_normal_execute): Likewise.
18232
47779711
VS
182332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18234
18235 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18236 Reported by: Thomas Schmitt.
18237 Add -no-emul-boot to grub-mkisofs parameters.
18238
1118c32e
VS
182392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 * font/font.c: Indented.
18242
7d652447
BC
182432010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18244
18245 Elif support to GRUB script (by Deepak Vankadaru).
18246
18247 * tests/grub_script_if.in: New testcase.
18248 * conf/tests.rmk: Rule for new testcase.
18249 * script/parser.y: Grammar rules for elif.
18250
34bb22df
BC
182512010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18252
18253 While and until loops support to GRUB script.
18254
18255 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18256 (grub_script_create_cmdwhile): New function prototype.
18257 (grub_script_execute_cmdwhile): New function prototype.
18258 * script/execute.c (grub_script_execute_cmdwhile): New function.
18259 * script/parser.y (command): New commands.
18260 (whilecmd): New grammar rule.
18261 (untilcmd): New grammar rule.
18262 * script/script.c (grub_script_create_cmdwhile): New function.
18263 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18264 function.
18265
18266 * tests/grub_script_while1.in: New testcase.
18267 * conf/tests.rmk: Rule for new testcase.
18268
e215d8e0
VS
182692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18272 as *.jpg.
18273
d7c43ba1
MV
182742010-04-09 Mario Vazquez <mariovazq@gmail.com>
18275
18276 GRUB_BACKGROUND support.
18277
18278 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18279 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18280
d64795c0
VS
182812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18284 Idea by: Mario Vazquez
d64795c0
VS
18285
18286 * util/grub.d/00_header.in: Load pf2 and image modules.
18287
f267f83a
VS
182882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 grub-mkconfig multiple terminal support.
18291
18292 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18293 * util/grub.d/00_header.in: Likewise.
18294
b7841ceb
VS
182952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18298 we use cd $(srcdir).
18299
df60998c
CW
183002010-04-08 Colin Watson <cjwatson@ubuntu.com>
18301
18302 * util/grub.d/10_linux.in: Only use the first word of
18303 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18304 spaces in GRUB_DISTRIBUTOR.
18305 * util/grub.d/10_kfreebsd.in: Likewise.
18306 * util/grub.d/10_hurd.in: Likewise.
18307
fa09c82e
BC
183082010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18309
14e18ae3 18310 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18311
18312 * tests/util/grub-shell.in: Remove -serial stdio option.
18313
daf892b3
BC
183142010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 POSIX header file wrappers.
18317
18318 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18319 equivalents.
18320 * lib/posix_wrap/ctype.h: Likewise.
18321 * lib/posix_wrap/errno.h: Likewise.
18322 * lib/posix_wrap/langinfo.h: Likewise.
18323 * lib/posix_wrap/limits.h: Likewise.
18324 * lib/posix_wrap/localcharset.h: Likewise.
18325 * lib/posix_wrap/stdint.h: Likewise.
18326 * lib/posix_wrap/stdio.h: Likewise.
18327 * lib/posix_wrap/stdlib.h: Likewise.
18328 * lib/posix_wrap/string.h: Likewise.
18329 * lib/posix_wrap/sys/types.h: Likewise.
18330 * lib/posix_wrap/unistd.h: Likewise.
18331 * lib/posix_wrap/wchar.h: Likewise.
18332 * lib/posix_wrap/wctype.h: Likewise.
18333 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18334 (grub_script.yy.h): Likewise.
18335 * script/yylex.l: Remove POSIX emulation #defines.
18336 * Makefile.in (POSIX_CFLAGS): New variable.
18337 (GNULIB_UTIL_CFLAGS): Likewise.
18338
18339 Regexp support.
18340
18341 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18342 (regexp_mod_SOURCES): New variable.
18343 (regexp_mod_CFLAGS): Likewise.
18344 (regexp_mod_LDFLAGS): Likewise.
18345 * commands/regexp.c: New file.
18346 * gnulib/regcomp.c: New file. Imported from gnulib.
18347 * gnulib/regex.c: Likewise.
18348 * gnulib/regex_internal.c: Likewise.
18349 * gnulib/regex_internal.h: Likewise.
18350 * gnulib/regexec.c: Likewise.
18351 * gnulib/regex.h: Likewise.
18352
974ac4f7
VS
183532010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18354
18355 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18356 unsupported video mode types.
18357
2622c3ff
VS
183582010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18361
064cb524
VS
183622010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18365 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18366
a8c3b552
VS
183672010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18368
18369 Remove unused grub_vga_get_font.
18370
18371 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18372 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18373
187bbe3d
GS
183742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18375
18376 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18377 * include/grub/misc.h: Likewise.
18378
b9396631
GS
183792010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18380
18381 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18382 for which failure is fatal.
18383
50479feb
GS
183842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18385
18386 * util/grub-install.in: Use mkdir -p to create grub directory.
18387 * util/i386/efi/grub-install.in: Likewise.
18388 * util/ieee1275/grub-install.in: Likewise.
18389
b1654fdf
GS
183902010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18391
18392 * Makefile.in (LEX): new variable.
18393
bd5a6415
GS
183942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18395
18396 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18397 `=' and added double quotes on operands of this equality test.
18398
3db3a82b
VS
183992010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 * Makefile.in (uninstall): Remove a leftover debug echo.
18402 Reported by: Grégoire Sutre
18403
38023412
VS
184042010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 MIPS multiboot2 support.
18407
18408 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18409 (multiboot2_mod_SOURCES): New variable.
18410 (multiboot2_mod_CFLAGS): Likewise.
18411 (multiboot2_mod_LDFLAGS): Likewise.
18412 (multiboot2_mod_ASFLAGS): Likewise.
18413 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18414 definition.
18415 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18416 (MULTIBOOT_MBI_REGISTER): Likewise.
18417 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18418 (MULTIBOOT_ELF32_MACHINE): Likewise.
18419 (MULTIBOOT_ELF64_MACHINE): Likewise.
18420 * include/grub/mips/multiboot.h: New file.
18421 * include/grub/video.h (grub_video_driver_id): New type
18422 GRUB_VIDEO_DRIVER_SM712.
18423 (grub_video_get_info_and_fini): Export.
18424 (grub_video_get_palette): Likewise.
18425 (grub_video_get_driver_id): Likewise.
18426 * include/multiboot2.h: Resynced with spec.
18427 * loader/i386/multiboot.c: Moved from here ...
18428 * loader/multiboot.c: ... here. All users updated.
18429 (grub_multiboot_boot): Use platform-specific macros.
18430 * loader/i386/multiboot_elfxx.c: Moved from here ...
18431 * loader/multiboot_elfxx.c: ... here. All users updated.
18432 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18433 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18434 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18435
47674667
VS
184362010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18437
18438 Import gnulib argp module.
18439
18440 * gnulib/argp-ba.c: New file.
18441 * gnulib/argp-eexst.c: Likewise.
18442 * gnulib/argp-fmtstream.c: Likewise.
18443 * gnulib/argp-fmtstream.h: Likewise.
18444 * gnulib/argp-fs-xinl.c: Likewise.
18445 * gnulib/argp-help.c: Likewise.
18446 * gnulib/argp-namefrob.h: Likewise.
18447 * gnulib/argp-parse.c: Likewise.
18448 * gnulib/argp-pin.c: Likewise.
18449 * gnulib/argp-pv.c: Likewise.
18450 * gnulib/argp-pvh.c: Likewise.
18451 * gnulib/argp-version-etc.c: Likewise.
18452 * gnulib/argp-version-etc.h: Likewise.
18453 * gnulib/argp-xinl.c: Likewise.
18454 * gnulib/argp.h: Likewise.
18455
495442ed
VS
184562010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18457
18458 * kern/device.c (grub_device_iterate): Clear errors after failed
18459 opening device.
18460
f9fd65df
VS
184612010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18462
18463 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18464 returned by firmware.
18465
af09641e
VS
184662010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18469 compilation on coreboot and qemu
18470
016883a5
VS
184712010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * include/multiboot2.h: Resync with spec.
18474
f97e1f7d
VS
184752010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18476
18477 Multiboot2 tag support
18478
18479 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18480 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18481 Remove loader/multiboot_loader.c.
18482 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18483 (grub_multiboot2_real_boot): Likewise.
18484 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18485 (grub_get_multiboot_mmap_count): New proto.
18486 (grub_fill_multiboot_mmap): Likewise.
18487 (grub_multiboot_set_video_mode): Likewise.
18488 (grub_multiboot_set_console): Likewise.
18489 (grub_multiboot_load): Likewise.
18490 (grub_multiboot_load_elf): Likewise.
18491 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18492 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18493 * include/multiboot.h: Resynced with specification.
18494 * include/multiboot2.h: Resynced with specification.
18495 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18496 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18497 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18498 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18499 users updated.
18500 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18501 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18502 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18503 Removed.
18504 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18505 Moved from here...
18506 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18507 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18508 Moved from here...
18509 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18510 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18511 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18512 All users updated.
18513 * loader/i386/multiboot_mbi2.c: New file.
18514
3506b90b
VS
185152010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18516
18517 Resync with gnulib.
18518
18519 * Makefile.in (GNULIB_CFLAGS): New variable.
18520 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18521 (grub_script_check_CFLAGS): New variable.
18522 * gnulib/alloca.h: Resync with gnulib.
18523 * gnulib/error.c: Likewise.
18524 * gnulib/error.h: Likewise.
18525 * gnulib/fnmatch.c: Likewise.
18526 * gnulib/fnmatch_loop.c: Likewise.
18527 * gnulib/getdelim.c: Likewise.
18528 * gnulib/getline.c: Likewise.
18529 * gnulib/getopt.c: Likewise.
18530 * gnulib/getopt1.c: Likewise.
18531 * gnulib/getopt_int.h: Likewise.
18532 * gnulib/gettext.h: Likewise.
18533 * gnulib/progname.c: Likewise.
18534 * gnulib/progname.h: Likewise.
18535
394a3120
GS
185362010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18537
18538 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18539 which is the case with --disabled-nls.
18540
18541 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18542 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18543 * util/misc.c: Likewise.
18544 * util/mkisofs/mkisofs.c: Likewise.
18545 * util/mkisofs/mkisofs.h: Likewise.
18546
969d1c78
VS
185472010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18548
18549 Simplify Apple CC support.
18550
18551 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18552 Add 0 byte at the end not to have a symbol with empty target.
18553 * mmap/i386/pc/mmap_helper.S: Likewise.
18554 * genmk.rb: Ignore errors 2030 and 2050.
18555 * kern/i386/pc/startup.S: Use LOCAL when possible.
18556
8d2977bb
BC
185572010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18558
18559 Testcase and the fix for final semicolon on cmdline.
18560
18561 * tests/grub_script_final_semicolon.in: New testcase.
18562 * conf/tests.rmk: Rules for the new testcase.
18563 * script/parser.y: Grammar fix.
18564
a7bd6915
BC
185652010-03-26 BVK Chaitanya <bvk@localhost>
18566
18567 Blank lines testcase for GRUB script.
18568
18569 * tests/grub_script_blanklines.in: New testcase.
18570 * conf/tests.rmk: Rules for the new testcase.
18571
e4ff6628
VS
185722010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18573
18574 Don't use __FILE__.
18575
18576 * genmk.rb: Add -DGRUB_FILE to all C targets.
18577 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18578 * include/grub/list.h: Likewise.
18579 * include/grub/misc.h: Likewise.
18580 * include/grub/mm.h: Likewise.
18581 * include/grub/test.h: Likewise.
18582 * kern/mm.c: Likewise.
18583 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18584
6a5cf6b6
VS
185852010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 Sunpc partitions support.
18588
18589 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18590 (grub_fstest_SOURCES): Likewise.
18591 (pkglib_MODULES): Add part_sunpc.mod.
18592 (part_sunpc_mod_SOURCES): New variable.
18593 (part_sunpc_mod_CFLAGS): Likewise.
18594 (part_sunpc_mod_LDFLAGS): Likewise.
18595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18596 * partmap/sunpc.c: New file.
18597
746d9045
BC
185982010-03-26 BVK Chaitanya <bvk@localhost>
18599
18600 For loop support to GRUB script.
18601
18602 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18603 (grub_script_create_cmdfor): New function prototype.
18604 (grub_script_execute_cmdfor): New function prototype.
18605 * script/execute.c (grub_script_execute_cmdfor): New function.
18606 * script/parser.y (command): New for command.
18607 (forcmd): New grammar rule.
18608 * script/script.c (grub_script_create_cmdfor): New function.
18609 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18610 function.
18611 * tests/grub_script_for1.in: New testcase.
18612 * conf/tests.rmk: Rules for new testcase.
18613
18486b18
VS
186142010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 Nested partitions
18617
18618 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18619 'partition' is NULL, grub_partition_get_start already does that.
18620 * commands/loadenv.c (check_blocklists): Likewise.
18621 (write_blocklists): Likewise.
18622 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18623 (grub_fstest_SOURCES): Likewise.
18624 (pkglib_MODULES): Add part_bsd.mod.
18625 (part_bsd_mod_SOURCES): New variable.
18626 (part_bsd_mod_CFLAGS): Likewise.
18627 (part_bsd_mod_LDFLAGS): Likewise.
18628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18629 (grub_emu_SOURCES): Likewise.
18630 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18631 * include/grub/bsdlabel.h: New file.
18632 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18633 'get_name'.
18634 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18635 (grub_partition_map_list): New variable.
18636 (grub_partition_map_register): Inline.
18637 (grub_partition_map_unregister): Likewise.
18638 (FOR_PARTITION_MAPS): New macro.
18639 (grub_partition_map_iterate): Removed.
18640 (grub_partition_get_start): Handle nested partitions.
18641 * include/grub/msdos_partition.h: Remove bsd-related entries.
18642 (grub_pc_partition): Remove.
18643 * kern/disk.c (grub_disk_close): Free partition data.
18644 (grub_disk_adjust_range): Handle nested partitions.
18645 * kern/partition.c (grub_partition_map_probe): New function.
18646 (grub_partition_probe): Parse name to number, handle subpartitions.
18647 (get_partmap): New function.
18648 (grub_partition_iterate): Handle subpartitions.
18649 (grub_partition_get_name): Likewise.
18650 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18651 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18652 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18653 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18654 Set 'number'.
18655 (acorn_partition_map_probe): Remove.
18656 (acorn_partition_map_get_name): Likewise.
18657 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18658 Set 'number'.
18659 Set 'index' to 0 since there can be only one partition entry per sector.
18660 (amiga_partition_map_probe): Remove.
18661 (amiga_partition_map_get_name): Likewise.
18662 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18663 Set 'number'.
18664 Set 'offset' and 'index' to real positions of partitions.
18665 (apple_partition_map_probe): Remove.
18666 (apple_partition_map_get_name): Likewise.
18667 * partmap/bsdlabel.c: New file.
18668 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18669 Set 'number'.
18670 Allocate 'data' so it can be correctly freed.
18671 Set 'index' to offset inside sector.
18672 (gpt_partition_map_probe): Remove.
18673 (gpt_partition_map_get_name): Likewise.
18674 * partmap/msdos.c (grub_partition_parse): Remove.
18675 (pc_partition_map_iterate): Don't force raw access.
18676 Set 'number'.
18677 Make 'ext_offset' a local variable.
18678 (pc_partition_map_probe): Remove.
18679 (pc_partition_map_get_name): Remove.
18680 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18681 Set 'number'.
18682 (sun_partition_map_probe): Remove.
18683 (sun_partition_map_get_name): Likewise.
18684 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18685 (grub_pcpart_type): Likewise.
18686 * util/hostdisk.c (open_device): Handle new numbering scheme.
18687 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18688 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18689 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18690 * util/grub-install.in: Insert all subpartition modules.
18691 * util/ieee1275/grub-install.in: Likewise.
18692
a3940f88
AG
186932010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18694
18695 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18696 grammar.
18697
21b99926 186982010-03-24 Colin Watson <cjwatson@ubuntu.com>
18699
18700 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18701
bed1d352
CW
187022010-03-21 Colin Watson <cjwatson@ubuntu.com>
18703
18704 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18705 match where 'make install' puts them.
18706 * util/i386/efi/grub-install.in: Likewise.
18707
c9f58427
CW
187082010-03-19 Colin Watson <cjwatson@ubuntu.com>
18709
18710 * .bzrignore: Add gentrigtables, grub-script-check,
18711 grub_script_check_init.c, grub_script_check_init.h, and
18712 trigtables.c.
18713
f84afb27
VS
187142010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 * kern/parser.c: Indented.
18717
ed0e3d30
VS
187182010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18721
0ea81d98
VS
187222010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18723
18724 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18725 alpha_mask_size == 0 case.
18726
0cdc2a09
BC
187272010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18728
18729 GRUB shell lexer and parser improvements.
18730
18731 * conf/any-emu.rmk: Build rule updates.
18732 * conf/common.rmk: Likewise.
18733 * conf/i386-coreboot.rmk: Likewise.
18734 * conf/i386-efi.rmk: Likewise.
18735 * conf/i386-ieee1275.rmk: Likewise.
18736 * conf/i386-pc.rmk: Likewise.
18737 * conf/powerpc-ieee1275.rmk: Likewise.
18738 * conf/x86_64-efi.rmk: Likewise.
18739
18740 * configure.ac: Configure check for flex.
18741
18742 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18743 types.
18744 (grub_lexer_param): Struct member updates.
18745 (grub_parser_param): Likewise.
18746 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18747 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18748 (grub_script_lexer_init): Prototype update.
18749 (grub_script_lexer_record_start): Likewise.
18750 (grub_script_lexer_record_stop): Likewise.
18751 (grub_script_lexer_yywrap): New function prototype.
18752 (grub_script_lexer_fini): Likewise.
18753 (grub_script_execute_argument_to_string): Removed by...
18754 (grub_script_execute_argument_to_argv): ...better version.
18755
18756 * script/execute.c (ROUND_UPTO): New macro.
18757 (grub_script_execute_cmdline): Out of memory fixes.
18758 (grub_script_execute_menuentry): Likewise.
18759 (grub_script_execute_argument_to_string): Removed. Update all
18760 users by...
18761 (grub_script_execute_argument_to_argv): ...better version.
18762 * script/function.c (grub_script_function_create): Use
18763 grub_script_execute_argument_to_argv instead of
18764 grub_script_execute_argument_to_string.
18765
18766 * script/lexer.c (check_varstate): Removed.
18767 (check_textstate): Removed.
18768 (grub_script_lexer_record_start): Likewise.
18769 (grub_script_lexer_record_stop): Likewise.
18770 (recordchar): Replaced with...
18771 (grub_script_lexer_record): ...new function.
18772 (nextchar): Removed.
18773 (grub_script_lexer_init): Rewritten.
18774 (grub_script_yylex): Rewritten.
18775 (append_newline): New function.
18776 (grub_script_lexer_yywrap): New function.
18777 (grub_script_lexer_fini): New function.
18778 (grub_script_yyerror): Sets error flag.
18779
18780 * script/yylex.l: New file.
18781 (grub_lexer_yyfree): Wrapper for flex yyffre.
18782 (grub_lexer_yyalloc): Likewise.
18783 (grub_lexer_yyrealloc): Likewise.
18784 * script/parser.y: Refactored.
18785
18786 * script/script.c (grub_script_arg_add): Out of memory fixes.
18787 (grub_script_add_arglist): Likewise.
18788 (grub_script_create_cmdline): Likewise.
18789 (grub_script_create_cmdmenu): Likewise.
18790 (grub_script_add_cmd): Likewise.
18791 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18792 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18793 unnecessary code.
18794
18795 * tests/grub_script_echo1.in: New testcase.
18796 * tests/grub_script_vars1.in: New testcase.
18797 * tests/grub_script_echo_keywords.in: New testcase.
18798
1d63a066
VS
187992010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 Remove some redundancy in build system.
18802
18803 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18804 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18805 (TARGET_LDFLAGS): Add -nostdlib.
18806 (TARGET_IMG_LDFLAGS): Likewise.
18807 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18808 anything since mmap isn't available.
18809 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18810 Add util/time.c.
18811 (pkglib_MODULES): Remove reboot.mod.
18812 (reboot_mod_SOURCES): Removed.
18813 (reboot_mod_CFLAGS): Likewise.
18814 (reboot_mod_LDFLAGS): Likewise.
18815 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18816 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18817 (DEFSYMFILES): Add kernel_syms.lst.
18818 (kernel_img_HEADERS): Add common headers.
18819 (symlist.c): New target.
18820 (kernel_syms.lst): Likewise.
18821 (pkglib_MODULES): Add memdisk.mod.
18822 (memdisk_mod_SOURCES): New variable.
18823 (memdisk_mod_CFLAGS): Likewise.
18824 (memdisk_mod_LDFLAGS): Likewise.
18825 (pkglib_MODULES): Add reboot.mod.
18826 (reboot_mod_SOURCES): New variable.
18827 (reboot_mod_CFLAGS): Likewise.
18828 (reboot_mod_LDFLAGS): Likewise.
18829 (pkglib_MODULES): Add date.mod.
18830 (date_mod_SOURCES): New variable.
18831 (date_mod_CFLAGS): Likewise.
18832 (date_mod_LDFLAGS): Likewise.
18833 (pkglib_MODULES): Add datehook.mod.
18834 (datehook_mod_SOURCES): New variable.
18835 (datehook_mod_CFLAGS): Likewise.
18836 (datehook_mod_LDFLAGS): Likewise.
18837 (pkglib_MODULES): Add lsmmap.mod.
18838 (lsmmap_mod_SOURCES): New variable.
18839 (lsmmap_mod_CFLAGS): Likewise.
18840 (lsmmap_mod_LDFLAGS): Likewise.
18841 (pkglib_MODULES): Add boot.mod.
18842 (boot_mod_SOURCES): New variable.
18843 (boot_mod_CFLAGS): Likewise.
18844 (boot_mod_LDFLAGS): Likewise.
18845 * conf/i386-coreboot.rmk: Removed redundant parts.
18846 * conf/i386-ieee1275.rmk: Likewise.
18847 * conf/i386-pc.rmk: Likewise.
18848 * conf/mips-yeeloong.rmk: Likewise.
18849 * conf/mips.rmk: Likewise.
18850 * conf/powerpc-ieee1275.rmk: Likewise.
18851 * conf/sparc64-ieee1275.rmk: Likewise.
18852 * conf/x86_64-efi.rmk: Likewise.
18853 * conf/i386-coreboot.rmk: Moved qemu parts ..
18854 * conf/i386-qemu.rmk: ... here
18855 * conf/i386-efi.rmk: Moved common parts to...
18856 * conf/x86-efi.rmk: ... here.
18857 * conf/i386.rmk: Added modules common to all x86 variants.
18858 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18859 * disk/memdisk.c: Remove grub/machine/kernel.h.
18860 * gensymlist.sh.in: Include symbol.h.
18861 * hook/datehook.c: Correct module name.
18862 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18863 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18864 * include/grub/i386/efi/serial.h: New file.
18865 * include/grub/x86_64/efi/serial.h: Likewise.
18866 * util/time.c: Likewise.
18867 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18868
463ac55f
CK
188692010-03-14 Colin King <colin.king@ubuntu.com>
188702010-03-14 Colin Watson <cjwatson@ubuntu.com>
18871
18872 Shrink the pre-partition-table part of boot.img by eight bytes.
18873
18874 * boot/i386/pc/boot.S (ERR): New macro.
18875 (chs_mode): Use ERR.
18876 (geometry_error): Likewise.
18877 (hd_probe_error): Remove. This is only used once, so we wrwite
18878 it inline instead.
18879 (read_error): Instead of printing read_error_string, just set up
18880 %si and fall through to ...
18881 (error_message): ... this new function, also used by ERR.
18882
08e46ede
CW
188832010-03-14 Colin Watson <cjwatson@ubuntu.com>
18884
18885 Speed up consecutive hostdisk operations on the same device.
18886
18887 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18888 (grub_util_biosdisk_open): Initialise disk->data.
18889 (struct linux_partition_cache): New structure.
18890 (linux_find_partition): Cache partition start positions; these are
18891 expensive to compute on every read and write.
18892 (open_device): Cache open file descriptor in disk->data, so that we
18893 don't have to reopen it and flush the buffer cache for consecutive
18894 operations on the same device.
18895 (grub_util_biosdisk_close): New function.
18896 (grub_util_biosdisk_dev): Set `close' member.
18897
18898 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18899 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18900 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18901 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18902 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18903
4a6d2d06
VS
189042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 Compile parts of grub-emu as modules.
18907
18908 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18909 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18910 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18911 (all-local): Add $(GRUB_EMU).
18912 (install-local): Install $(GRUB_EMU).
18913 (uninstall): Uninstall $(GRUB_EMU).
18914 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18915 * kern/dl.c: Likewise.
18916 * commands/sleep.c: Not include machine/time.h.
18917 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18918 (COMMON_CFLAGS): Likewise.
18919 (sbin_UTILITIES): Remove grub-emu.
18920 (grub_emu_SOURCES): Removed.
18921 (kernel_img_RELOCATABLE): New variable.
18922 (pkglib_PROGRAMS): Add kernel.img.
18923 (kernel_img_SOURCES): New variable
18924 (kernel_img_CFLAGS): Likewise.
18925 (kernel_img_LDFLAGS): Likewise.
18926 (TARGET_NO_STRIP): Likewise.
18927 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18928 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18929 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18930 (grub-emu): New target.
18931 (GRUB_EMU): New variable.
18932 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18933 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18934 * loader/xnu.c: Likewise.
18935 * include/grub/pci.h: Likewise.
18936 * genemuinit.sh: New file.
18937 * genemuinitheader.sh: Likewise.
18938 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18939 Support TARGET_NO_DYNAMIC_MODULES.
18940 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18941 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18942 * disk/loopback.c: Likewise.
18943 * font/font_cmd.c: Likewise.
18944 * partmap/acorn.c: Likewise.
18945 * partmap/amiga.c: Likewise.
18946 * partmap/apple.c: Likewise.
18947 * partmap/gpt.c: Likewise.
18948 * partmap/msdos.c: Likewise.
18949 * partmap/sun.c: Likewise.
18950 * parttool/msdospart.c: Likewise.
18951 * term/gfxterm.c: Likewise.
18952 * video/bitmap.c: Likewise.
18953 * video/readers/jpeg.c: Likewise.
18954 * video/readers/png.c: Likewise.
18955 * video/readers/tga.c: Likewise.
18956 * video/video.c: Likewise.
18957 * util/grub-emu.c (read_command_list): Removed.
18958 (main): Don't call util_init_nls.
18959 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18960 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18961
91fdd2ed
VS
189622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18965 date.mod, datehook.mod.
18966 (datetime_mod_SOURCES): New variable.
18967 (datetime_mod_CFLAGS): Likewise.
18968 (datetime_mod_LDFLAGS): Likewise.
18969 (date_mod_SOURCES): Likewise.
18970 (date_mod_CFLAGS): Likewise.
18971 (date_mod_LDFLAGS): Likewise.
18972 (datehook_mod_SOURCES): Likewise.
18973 (datehook_mod_CFLAGS): Likewise.
18974 (datehook_mod_LDFLAGS): Likewise.
18975 * conf/sparc64-ieee1275.rmk: Likewise.
18976 * lib/ieee1275/datetime.c: New file.
18977
873ccae6
VS
189782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18979
18980 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18981 (ieee1275_fb_mod_SOURCES): New variable.
18982 (ieee1275_fb_mod_CFLAGS): Likewise.
18983 (ieee1275_fb_mod_LDFLAGS): Likewise.
18984 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18985 New proto.
18986 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18987 (HEAP_MAX_ADDR): Likewise.
18988 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18989 type.
18990 Correct stop condition.
18991 (grub_ieee1275_devices_iterate): New function.
18992 * video/ieee1275.c: New file.
18993
601c97c0
VS
189942010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18995
18996 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18997
18998 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18999 as scratch.
19000 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19001 SCRATCH_PAD_DISKBOOT as scratch.
19002 (bootit): Pass Openfirmware pointer in %o4.
19003 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19004 of 0x200000.
19005 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19006 with util/grub-mkrawimage.c.
19007 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19008 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19009 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19010 (grub_aout_load) [GRUB_UTIL]: Likewise.
19011 * include/grub/kernel.h (grub_modules_get_end): New proto.
19012 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19013 (SCRATCH_PAD_BOOT): New definition.
19014 (SCRATCH_PAD_DISKBOOT): Likewise.
19015 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19016 * include/grub/sparc64/ieee1275/ieee1275.h
19017 (grub_ieee1275_original_stack): New variable
19018 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19019 New definition
19020 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19021 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19022 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19023 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19024 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19025 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19026 (grub_platform_image_format_t): New type.
19027 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19028 * kern/main.c (grub_modules_get_end)
19029 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19030 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19031 (codestart): Switch stacks.
19032 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19033 variable.
19034 (grub_heap_init): Use grub_modules_get_end.
19035 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19036 stack.
19037 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19038 (main): Likewise.
19039 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19040
d68b491e
TG
190412010-03-14 Thorsten Glaser <tg@mirbsd.org>
19042
19043 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19044
4e02ed50
MK
190452010-03-08 Matt Kraai <kraai@ftbfs.org>
19046
19047 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19048 bug #559005).
19049
1f15fc1e
VS
190502010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 * genmoddep.awk: Output all missing symbols and not only first.
19053
fce5d8ff
VS
190542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 * NEWS: Put the date of 1.98 release.
19057
d1e8a02f
VS
190582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19061 ft2build.h.
19062
696fd607
VS
190632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19066 completition in the middle of string.
19067
33e2e6f3
VS
190682010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19069
19070 * util/grub-mkrescue.in: Use mktemp with explicit template.
19071
b1f6d291
VS
190722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19073
19074 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19075
2ac227c7
VS
190762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19079 right pointer.
19080
8f9a632b
VS
190812010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 Fix FreeBSD compilation.
19084
19085 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19086 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19087
60b03859
VS
190882010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19091
48a5a769
VS
190922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19093
19094 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19095
3ab4bd77
VS
190962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19097
19098 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19099
d116e0d8
RM
191002010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19101
19102 Support relative image path in theme file.
19103
19104 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19105 (image_set_property): Handle theme_dir and relative path.
19106
c7ef54aa
VS
191072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 * configure.ac: Alias amd64 to x86_64.
19110
fcee14ed
VS
191112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19112
19113 * NEWS: mention multiboot on EFI.
19114
d0780363
VS
191152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19116
19117 * kern/main.c (grub_load_modules): Handle errors from init functions of
19118 embeded modules.
19119
41168ea4
VS
191202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * normal/autofs.c (autoload_fs_module): Handle errors.
19123
b54d93ac
VS
191242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 Disable linux.mod on qemu-mips since it's not functional and leads
19127 to compilation failure.
19128
19129 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19130 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19131 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19132 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19133 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19134 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19135 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19136 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19137 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19138 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19139 Reported by: BVK Chaitanya
19140
fc8345da
JU
191412010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19142
19143 * INSTALL: Add gettext as a dependency and add qemu to a new section
19144 "Prerequisites for make-check".
19145
4760f979
CF
191462010-03-04 Christian Franke <franke@computer.org>
19147
19148 * util/grub-pe2elf.c: Add missing include "progname.h".
19149
f209b5b2
VS
191502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * normal/crypto.c (read_crypto_list): Fix a typo.
19153 Reported by: Seth Goldberg.
19154
b4b7be98
VS
191552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19158 Reported by: Seth Goldberg.
b4b7be98 19159
c0ee0385
VS
191602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19163 ascii.bitmaps.
19164
a8efbf64
VS
191652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19168 Reported by: Seth Goldberg.
a8efbf64 19169
08dcd913
VS
191702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * util/i386/efi/grub-install.in: Copy gettext files.
19173
c4d0b332
VS
191742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19175
19176 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19177
c6f2fe52
VS
191782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 Wait for user entry basing on presence of output rather than on errors.
19181
19182 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19183 (grub_install_newline_hook): Likewise.
19184 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19185 * normal/menu.c (show_menu): Check line_counter to determine presence
19186 of output.
19187 * normal/term.c (grub_normal_line_counter): New variable.
19188 (grub_normal_get_line_counter): New function.
19189 (grub_install_newline_hook): Likewise.
19190
5382b1e4
VS
191912010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19192
19193 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19194
5519963b
VS
191952010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19196
19197 * configure.ac: Update version to 1.98.
19198
72b28631
VS
191992010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * util/grub.d/10_linux.in (linux_entry): Don't default to
19202 gfxpayload=keep if Linux doesn't support video handover.
19203
c140a180
VS
192042010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 Don't compile video modules on yeeloong since video subsystem is part
19207 of kernel.
19208
19209 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19210 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19211 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19212 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19213 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19214 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19215 * include/grub/bitmap_scale.h: Likewise.
19216 * include/grub/bufio.h: Likewise.
19217 * include/grub/font.h: Likewise.
19218 * include/grub/gfxterm.h: Likewise.
19219 * include/grub/video.h: Likewise.
19220 * include/grub/vbe.h: Don't include video_fb.h.
19221 * video/i386/pc/vbe.c: Include video_fb.h.
19222 * commands/i386/pc/vbetest.c: Include video.h.
19223
a0ca21c2
CW
192242010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19225
19226 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19227 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19228 default entry if GRUB_SAVEDEFAULT=true. This allows using
19229 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19230 saving a new default on every boot.
19231
4a8a763c
VS
192322010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19235 * normal/term.c (read_terminal_list): Likewise.
19236 * normal/main.c (grub_normal_init_page): Likewise.
19237 (grub_normal_read_line_real): Likewise.
19238
607ffde2
VS
192392010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19240
19241 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19242 memory leak.
19243 Reported by: Seth Goldberg.
19244
2b8fa975
CW
192452010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19246
19247 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19248 duplicate declaration of `start'.
19249
618307dd
VS
192502010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19251
19252 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19253 filename.
19254 Reported by: Georgy Buranov
19255
7dd05b96 192562010-02-20 Carles Pina i Estany <carles@pina.cat>
19257
19258 * util/grub-mkrawimage.c (usage): Change string formatting to
19259 improve gettext.
19260
d1484a42
MRA
192612010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19262
19263 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19264 backspace keys.
19265
42b1d186
VS
192662010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19269 Reported by: Michael Suchanek.
19270
192712010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19272
19273 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19274 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19275
d9f31a41
VS
192762010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 Remove any reference to non-free fonts.
19279
19280 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19281 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19282 uses non-free components.
19283 * font/font.c (grub_font_get_name): Remove example name.
19284 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19285 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19286 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19287 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19288
2793c71e
GB
192892010-02-16 Georgy Buranov <gburanov@gmail.com>
19290
19291 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19292
402e3779
VS
192932010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19296 Double divisor.
19297 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19298 features.
19299 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19300
0dd1e0dd
VS
193012010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19304
6fa7cfce
ST
193052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19306
19307 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19308 * docs/grub.texi (Command-line and menu entry commands): Document play
19309 command.
19310
37c8483b
ST
193112010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19312
19313 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19314 parse arguments as inline tempo and notes. Move code for playing notes
19315 to...
19316 (play): ... new function.
19317
14da0fb7
ST
193182010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19319
19320 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19321 grub_uint16_t instead of short.
19322 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19323 disk from little endian to cpu endianness.
19324
04459e70
ST
193252010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19326
19327 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19328 GRUB_TICKS_PER_SECOND instead of 120.
19329
a0876943
VS
193302010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19331
19332 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19333 escape sequence after \e.
19334
e29f95dc
VS
193352010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19338 non-ASCII characters.
19339
d27859b2
VS
193402010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19341
19342 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19343 set root in single quotes to prevent \, from being unescaped.
19344
bc028f2f
VS
193452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19346
19347 Prevent unknown commands from stopping menuentry execution.
19348
19349 * script/execute.c (grub_script_execute_cmdline): Print error after
19350 unknown command.
19351
095f5f82
VS
193522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19355 Reported by: Pavel Pisa.
19356
8c717950
VS
193572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19360
904935c3
VS
193612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 Merge grub_ieee1275_map_physical into grub_map and rename to
19364 grub_ieee1275_map
19365
19366 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19367 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19368 Remove.
19369 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19370 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19371 necessary.
19372 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19373
5b59a4e3
VS
193742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19377 opening and not after.
19378
69e137e8
VS
193792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19380
19381 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19382 constants.
19383
2c0fcc36
VS
193842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19385
19386 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19387 (alloc_phys): Use ALIGN_UP instead of align_addr.
19388
8c6052ce
VS
193892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19392
17cec782
VS
193932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19396
e0128bbd
VS
193972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19398
19399 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19400 verbose dprintf.
19401
ca62070b
VS
194022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19403
19404 Fix over-4GiB seek on sparc64.
19405
19406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19407 Replace pos_i and pos_lo with pos. All users updated.
19408 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19409 New constant.
19410 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19411 Likewise.
19412 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19413 and pos_lo.
19414
bdca2607
VS
194152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19416
19417 * util/grub-mkrawimage.c (main): Call set_program_name.
19418
da278c4d
VS
194192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19420
19421 Properly align 64-bit targets.
19422
19423 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19424 (generate_image): Use ALIGN_ADDR.
19425
b274d734
VS
194262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 Properly create cross-endian images.
19429
19430 * include/grub/types.h (grub_host_to_target_addr): New macro
19431 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19432
82da2062
VS
194332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19436
7cae4377
VS
194372010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19440
19441 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19442 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19443 (grub_linux_boot): Divide by 64K when on VESA.
19444
65a533e7
VS
194452010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 Support GRUB_GFXPAYLOAD_LINUX.
19448
19449 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19450 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19451
dd01d397
VS
194522010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19455 to show messages instead of discarding them.
19456 Process errors after executing command and not before. Keep old method
19457 too as precaution.
19458
660960d6
VS
194592010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19460
19461 * configure.ac: Check for ft2build.h.
19462
62509f04
VS
194632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19464
19465 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19466
473df63d
VS
194672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19468
19469 * genkernsyms.sh.in: Use TARGET_CC.
19470
c98d2a13
CW
194712010-02-07 Colin Watson <cjwatson@ubuntu.com>
19472
19473 * NEWS: Update.
19474
6e14234c
VS
194752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19476
19477 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19478 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19479 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19480
b255e9cf
YB
194812010-02-07 Yves Blusseau <blusseau@zetam.org>
19482
6e14234c 19483 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19484
98e6959d
VS
194852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19486
19487 Fix warnings in grub-emu when compiling with maximum warning options.
19488
19489 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19490 (grub_arch_modules_addr): Return 0 and not NULL.
19491 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19492 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19493 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19494 of disk to dsk to avoid shadowing.
74e4934e
VS
19495 (find_free_slot): Fix prototype.
19496 * util/getroot.c (grub_util_is_dmraid): Make static.
19497 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19498 Add missing prototype.
19499 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19500
74e31b5c
VS
195012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19502
19503 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19504 appropriately.
19505
6b2ad14b
VS
195062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19509 code out.
19510
8f891adc
VS
195112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19512
19513 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19514 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19515 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19516 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19517 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19518 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19519
74b45184
VS
195202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19521
19522 * include/grub/err.h (grub_err_printf): Don't export.
19523
a4bced77
VS
195242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19527
007d0695
VS
195282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19531 * kern/misc.c (grub_gettext_dummy): Make static.
19532
b6c0d9c2
VS
195332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19534
19535 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19536 by non-valid ones.
19537 * kern/term.c (grub_putchar): Likewise.
19538
f51a90d0
VS
195392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19542 buggy hook call and memory leak.
19543
6846cec5
VS
195442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19547
468d69fe
VS
195482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19551
51906b8c
VS
195522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19553
19554 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19555 modevar.
19556 Return grub_errno on allocation error.
19557
09706ce5
VS
195582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19561
911df80c
YB
195622010-02-06 Yves Blusseau <blusseau@zetam.org>
19563
19564 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19565 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19566
3746a6bc
VS
195672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19570 non-pxe disk.
19571 (grub_pxefs_open): Likewise.
19572
09706ce5
VS
195732010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19574
19575 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19576 * util/grub.d/10_kfreebsd.in: Likewise.
19577 * util/grub.d/10_linux.in: Likewise.
19578
7cc192d9
VS
195792010-02-06 Colin D Bennett <colin@gibibit.com>
19580
19581 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19582 (gfxmenu_mod_SOURCES): New variable.
19583 (gfxmenu_mod_CFLAGS): Likewise.
19584 (gfxmenu_mod_LDFLAGS): Likewise.
19585 * include/grub/term.h (grub_term_set_current_output): Declare
19586 argument as const.
19587 * docs/gfxmenu-theme-example.txt: New file.
19588 * gfxmenu/gfxmenu.c: Likewise.
19589 * gfxmenu/gui_box.c: Likewise.
19590 * gfxmenu/gui_canvas.c: Likewise.
19591 * gfxmenu/gui_circular_progress.c: Likewise.
19592 * gfxmenu/gui_image.c: Likewise.
19593 * gfxmenu/gui_label.c: Likewise.
19594 * gfxmenu/gui_list.c: Likewise.
19595 * gfxmenu/gui_progress_bar.c: Likewise.
19596 * gfxmenu/gui_string_util.c: Likewise.
19597 * gfxmenu/gui_util.c: Likewise.
19598 * gfxmenu/icon_manager.c: Likewise.
19599 * gfxmenu/model.c: Likewise.
19600 * gfxmenu/named_colors.c: Likewise.
19601 * gfxmenu/theme_loader.c: Likewise.
19602 * gfxmenu/view.c: Likewise.
19603 * gfxmenu/widget-box.c: Likewise.
19604 * include/grub/gfxmenu_model.h: Likewise.
19605 * include/grub/gfxmenu_view.h: Likewise.
19606 * include/grub/gfxwidgets.h: Likewise.
19607 * include/grub/gui.h: Likewise.
19608 * include/grub/gui_string_util.h: Likewise.
19609 * include/grub/icon_manager.h: Likewise.
19610
196112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19612
19613 Agglomerate scrolling in gfxterm.
19614
19615 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19616 (grub_virtual_screen_setup): Initialise 'total_screen'.
19617 (write_char): Split to ...
19618 (paint_char): ... this ...
19619 (write_char): ... and this.
19620 (paint_char): Handle delayed scrolling.
19621 (draw_cursor): Likewise.
19622 (scroll_up): Split to ...
19623 (real_scroll): ... this ...
19624 (scroll_up): ... and this.
19625 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19626 characters.
19627 (grub_gfxterm_refresh): Call real_scroll.
19628
196292010-02-06 Colin D Bennett <colin@gibibit.com>
19630
19631 * include/grub/misc.h (grub_iscntrl): New inline function.
19632 (grub_isalnum): Likewise.
19633 (grub_strtol): Likewise.
19634
196352010-02-06 Colin D Bennett <colin@gibibit.com>
19636
19637 * normal/menu_text.c (get_entry_number): Move from here ...
19638 * normal/menu.c (get_entry_number): ... moved here.
19639 * include/grub/menu.h (grub_menu_get_default_entry_index):
19640 New prototype.
19641 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19642 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19643 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19644 (grub_menu_viewer_should_return): Likewise.
19645 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19646 * normal/menu_text.c (run_menu): Enable menu switching.
19647 * normal/menu_viewer.c (should_return): New variable.
19648 (menu_viewer_changed): Likewise.
19649 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19650 (grub_menu_viewer_should_return): New function.
19651 (menuviewer_write_hook): Likewise.
19652 (grub_menu_viewer_init): Likewise.
19653
196542010-02-06 Colin D Bennet <colin@gibibit.com>
196552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19656
19657 Support for gfxterm in a window.
19658
19659 * include/grub/gfxterm.h: New file.
19660 * include/grub/video.h (struct grub_video_rect): New declaration.
19661 (grub_video_rect_t): Likewise.
19662 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19663 (refcount): New variable.
19664 (render_target): Likewise.
19665 (window): Likewise.
19666 (repaint_callback): Likewise.
19667 (grub_virtual_screen_setup): Use 'render_target'.
19668 (init_window): New function.
19669 (grub_gfxterm_init_window): Likewise.
19670 (grub_gfxterm_init): Check reference counter.
19671 Use init_window.
19672 (destroy_window): New function.
19673 (grub_gfxterm_destroy_window): Likewise.
19674 (grub_gfxterm_fini): Check reference counter.
19675 Use destroy_window.
19676 (redraw_screen_rect): Restore viewport.
19677 Use 'render_target' and 'window'.
19678 Call 'repaint_callback'.
19679 (write_char): Use 'render_target'.
19680 (draw_cursor): Likewise.
19681 (scroll_up): Restore viewport.
19682 Use 'render_target' and 'window'.
19683 Call 'repaint_callback'.
19684 (grub_gfxterm_cls): Likewise.
19685 (grub_gfxterm_refresh): Use 'window'.
19686 (grub_gfxterm_set_repaint_callback): New function.
19687 (grub_gfxterm_background_image_cmd): Use 'window'.
19688 (grub_gfxterm_get_term): New function.
19689 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19690
196912010-02-06 Colin D Bennett <colin@gibibit.com>
19692
19693 Bitmap scaling support.
19694
19695 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19696 (bitmap_scale_mod_SOURCES): New variable.
19697 (bitmap_scale_mod_CFLAGS): Likewise.
19698 (bitmap_scale_mod_LDFLAGS): Likewise.
19699 * include/grub/bitmap_scale.h: New file.
19700 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19701 (background_image_cmd_options): New variable.
19702 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19703 (cmd): Rename and change type to ...
19704 (background_image_cmd_handle): ... this. All users updated.
19705 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19706 * video/bitmap_scale.c: New file.
19707
197082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19709
19710 SDL support.
19711
19712 * Makefile.in (LIBSDL): New variable.
19713 (enable_grub_emu_sdl): Likewise.
19714 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19715 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19716 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19717 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19718 * util/sdl.c: New file.
19719
197202010-02-06 Colin D Bennett <colin@gibibit.com>
197212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 Double buffering support.
19724
19725 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19726 * include/grub/video.h: Update comment.
19727 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19728 New type.
19729 (grub_video_fb_doublebuf_blit_init): New prototype.
19730 * term/gfxterm.c (scroll_up): Support double buffering.
19731 (grub_gfxterm_refresh): Likewise.
19732 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19733 (grub_video_fb_doublebuf_blit_init): Likewise.
19734 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19735 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19736 'displayed_page', 'render_page' and 'update_screen'.
19737 (grub_video_vbe_fini): Free offscreen buffer.
19738 (doublebuf_pageflipping_commit): New function.
19739 (doublebuf_pageflipping_update_screen): Likewise.
19740 (doublebuf_pageflipping_init): Likewise.
19741 (double_buffering_init): Likewise.
19742 (grub_video_vbe_setup): Enable doublebuffering.
19743 (grub_video_vbe_swap_buffers): Implement.
19744 (grub_video_vbe_set_active_render_target): Handle double buffering.
19745 (grub_video_vbe_get_active_render_target): Likewise.
19746 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19747 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19748 (grub_video_vbe_enable_double_buffering): Likewise.
19749 (grub_video_vbe_swap_buffers): Use update_screen.
19750 (grub_video_set_mode): Use double buffering.
19751
197522010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19753
19754 * maintainance/gentrigtables.py: Remove.
19755 * lib/trig.c: Likewise.
19756
19757 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19758
19759 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19760 `trigtables.c'.
19761 (trigtables.c): New rule.
19762 (gentrigtables): Likewise.
19763 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19764
197652010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19766
19767 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19768 integer constants.
19769
197702010-02-06 Colin D Bennet <colin@gibibit.com>
19771
19772 Trigonometry support.
19773
19774 * include/grub/trig.h: New file.
19775 * lib/trig.c: Likewise.
19776 * maintainance/gentrigtables.py: Likewise.
19777 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19778 (trig_mod_SOURCES): New variable.
19779 (trig_mod_CFLAGS): Likewise.
19780 (trig_mod_LDFLAGS): Likewise.
19781
5562834e
VS
197822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19785 disk devices.
19786
4f8528fc
VS
197872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19788
19789 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19790 error.
19791
2b4068e9
VS
197922010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19793
19794 * util/hostdisk.c (open_device): Don't use partition device when reading
19795 before the partition.
19796 (grub_util_biosdisk_read): Don't read from partition and before the
19797 partition in single operation.
19798 (grub_util_biosdisk_write): Don't write to partition and before the
19799 partition in single operation.
19800
399f6e4d
TL
198012010-02-03 Torsten Landschoff <torsten@debian.org>
19802
19803 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19804 last sectors.
19805
996649b0
VS
198062010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19807
19808 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19809 CDROM reads.
19810 (grub_biosdisk_write): Refuse to write to CDROM.
19811
3b205d4d
VS
198122010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19815
61e89d9d
VS
198162010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * font/font.c (find_glyph): Check that bmp_idx is available before
19819 using it.
19820 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19821 with (font == NULL).
19822
bf7fcba2
CS
198232010-01-28 Christian Schmitt <chris@ilovelinux.de>
19824
19825 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19826
f45d2663
BC
198272010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19828
19829 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19830 * util/grub-script-check.c (getline): Fix empty lines case.
19831
ec1444e6
RM
198322010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19833
19834 * Makefile.in (check): Exit with fail status when one of the tests
19835 fails.
19836 * tests/example_functional_test.c (example_test): Fix reversed assert.
19837 * tests/example_unit_test.c (example_test): Likewise.
19838
2e1cb9bb
CW
198392010-01-28 Colin Watson <cjwatson@ubuntu.com>
19840
19841 * util/grub.d/10_linux.in: This script does not use any of the
19842 contents of gettext.sh, only the external command `gettext', so stop
19843 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19844 the same prefix as GRUB.)
19845 * util/grub.d/10_kfreebsd.in: Likewise.
19846
63533ab0
VS
198472010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19848
19849 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19850 of the line.
19851
989e1f93
VS
198522010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19853
19854 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19855 last sectors.
19856
e709ebe2
VS
198572010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19858
19859 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19860 having a 4KiB and not 32KiB buffer size.
19861
27dea7ed
RM
198622010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19863
19864 * util/hostfs.c: Include `<errno.h>'.
19865 (grub_hostfs_read): Handle errors from fseeko() and fread().
19866
67667b9c
RM
198672010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19868
19869 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19870 loop when using read hooks on files whose size isn't sector-aligned.
19871
c294d9d8
RM
198722010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19873
19874 Remove unused parameter.
19875
19876 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19877 (grub_iso9660_open): Remove initialization of `data->length'.
19878
af75a9f1
RM
198792010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19880
19881 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19882 memleak conditions.
19883
254e2ce5 198842010-01-27 Carles Pina i Estany <carles@pina.cat>
19885
19886 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19887 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19888
b510928c 198892010-01-26 Carles Pina i Estany <carles@pina.cat>
19890
19891 * util/bin2h.c (usage): Fix warning (space after backslash).
19892
aa2f9dd2 198932010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19894
19895 * font/font.c: Include `grub/fontformat.h.
19896 Remove font file format constants.
19897 (grub_font_load): Use the new macros.
19898 * include/grub/fontformat.h: New file.
19899 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19900 (write_font_pf2): Use the new macros.
19901
94e7e712
RM
199022010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19903
19904 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19905 does.
19906
3973a59a
RM
199072010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19908
19909 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19910
19911 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19912 (_start): Macroify `0x7F'.
19913
19914 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19915 (make_install_device): Use "(pxe)" as fallback prefix when booting
19916 via PXE.
19917
42e0cba3
GS
199182010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19919
19920 * configure.ac: Reset LIBS after check for libgcc symbols.
19921
847effd8
CW
199222010-01-25 Colin Watson <cjwatson@ubuntu.com>
19923
19924 * util/hostdisk.c (open_device): Add trailing newline to debug
19925 message.
19926
ea4a7e35
GS
199272010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19928
19929 * configure.ac: Check for `limits.h'.
19930 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19931
67951a53
RM
199322010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19933
19934 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19935 capitalize error strings.
19936
c273d4ce
ST
199372010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19938
19939 * util/grub.d/10_hurd.in: Add a recovery mode.
19940
69be5b74
VS
199412010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 * configure.ac: Check for libgcc symbols with -nostdlib.
19944
fc9e5810
BC
199452010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19946
19947 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19948
4b358c0a
VS
199492010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19950
19951 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19952 stack since heap may be unavailable at that point.
19953 (grub_ofconsole_gotoxy): Likewise.
19954
454fcd1c
VS
199552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * configure.ac: Check for _restgpr_14_x.
19958 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19959 and _savegpr_* prototypes.
19960
566863ca
RM
199612010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19962
19963 Use generic grub_reboot() for i386-efi.
19964
19965 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19966 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19967 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19968
bf86e59a
VS
199692010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19972 presence of "prefix" variable as it breaks when normal.mod is
19973 embedded.
19974
d645e0f8
VS
199752010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19978 stack since heap is unavailable at that point.
19979
f9ab2e25
VS
199802010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19981
19982 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19983 (grub_freebsd_bootinfo): Rewritten.
19984 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19985
01fc7054
VS
199862010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19987
19988 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19989
caab4fd6
RM
199902010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19991
19992 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19993 domain now.
19994
67eb1427
FZ
199952010-01-20 Felix Zielcke <fzielcke@z-51.de>
19996
19997 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19998 around for handling "/" to the correct fix. Fix a memory leak. Use
19999 xstrdup instead of strdup.
20000
a9ed4ff3
VS
200012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20004
200052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20006
20007 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20008
20009 * font/font.c (struct grub_font): New member 'bmp_idx'.
20010 (font_init): Initialise 'bmp_idx'.
20011 (load_font_index): Fill 'bmp_idx'.
20012 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20013
48209f4f
VS
200142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20015
20016 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20017 unnecessary calls.
20018
9f0a4bb7
VS
200192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20020
20021 Move context handling out of the kernel.
20022
20023 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20024 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20025 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20026 * conf/i386-efi.rmk: Likewise.
20027 * conf/i386-ieee1275.rmk: Likewise.
20028 * conf/i386-pc.rmk: Likewise.
20029 * conf/powerpc-ieee1275.rmk: Likewise.
20030 * conf/sparc64-ieee1275.rmk: Likewise.
20031 * conf/x86_64-efi.rmk: Likewise.
20032 * include/grub/env.h: Include grub/menu.h.
20033 (grub_env_var_type): Removed.
20034 (grub_env_var): Replaced field 'type' with 'global'.
20035 (grub_env_find): New prototype.
20036 (grub_env_context_open): Remove EXPORT_FUNC.
20037 (grub_env_context_close): Likewise.
20038 (grub_env_export): Likewise.
20039 (grub_env_set_data_slot): Removed.
20040 (grub_env_get_data_slot): Likewise.
20041 (grub_env_unset_data_slot): Likewise.
20042 (grub_env_unset_menu): New prototype.
20043 (grub_env_set_menu): Likewise.
20044 (grub_env_get_menu): Likewise.
20045 * include/grub/env_private.h: New file.
20046 * include/grub/normal.h (grub_context_init): New prototype.
20047 (grub_context_fini): Likewise.
20048 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20049 * normal/context.c (grub_cmd_export): ... to here.
20050 * kern/env.c: Include env_private.h.
20051 (HASHSZ): Moved to include/grub/env_private.h.
20052 (grub_env_context): Likewise.
20053 (grub_env_sorted_var): Likewise.
20054 (current_context): Renamed from this ...
20055 (grub_current_context): ...to this. 'static' removed. All users updated.
20056 (grub_env_find): Removed 'static'.
20057 (grub_env_context_open): Moved to normal/context.c.
20058 (grub_env_context_close): Likewise.
20059 (grub_env_export): Likewise.
20060 (mangle_data_slot_name): Removed.
20061 (grub_env_set_data_slot): Likewise.
20062 (grub_env_get_data_slot): Likewise.
20063 (grub_env_unset_data_slot): Likewise.
20064 * kern/main.c (grub_set_root_dev): Don't export root.
20065 It will be done later.
20066 (grub_main): Don't export prefix.
20067 It will be done later.
20068 * normal/context.c: New file.
20069 * normal/main.c (free_menu): Use grub_env_unset_menu.
20070 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20071 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20072 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20073 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20074
8dd35b8c
VS
200752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 setpci support.
20078
20079 * commands/setpci.c: New file.
20080 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20081 (setpci_mod_SOURCES): New variable.
20082 (setpci_mod_CFLAGS): Likewise.
20083 (setpci_mod_LDFLAGS): Likewise.
20084
449193d5
VS
200852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 Byte-addressable PCI configuration space.
20088
20089 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20090 dword address.
20091 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20092 GRUB_PCI_REG_CACHELINE.
20093 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20094 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20095 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20096 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20097 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20098 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20099 grub_pci_make_address.
20100 (lock_rom_area): Likewise.
20101 * commands/lspci.c (grub_lspci_iter): Use macroses
20102 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20103 of grub_pci_make_address.
20104 * disk/ata.c (grub_ata_pciinit): Likewise.
20105 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20106 (GRUB_PCI_REG_VENDOR): Likewise.
20107 (GRUB_PCI_REG_DEVICE): Likewise.
20108 (GRUB_PCI_REG_COMMAND): Likewise.
20109 (GRUB_PCI_REG_STATUS): Likewise.
20110 (GRUB_PCI_REG_REVISION): Likewise.
20111 (GRUB_PCI_REG_CLASS): Likewise.
20112 (GRUB_PCI_REG_CACHELINE): Likewise.
20113 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20114 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20115 (GRUB_PCI_REG_BIST): Likewise.
20116 (GRUB_PCI_REG_ADDRESSES): Likewise.
20117 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20118 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20119 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20120 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20121 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20122 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20123 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20124 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20125 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20126 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20127 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20128 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20129 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20130 (GRUB_PCI_REG_MIN_GNT): Likewise.
20131 (GRUB_PCI_REG_MAX_LAT): Likewise.
20132 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20133 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20134 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20135 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20136 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20137 space.
20138
96d73208
RM
201392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20140
20141 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20142 can be reliably determined to be supported.
20143
d4484482
RM
201442010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20145
20146 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20147 that VESA is supported.
20148 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20149 supported.
20150
00308ecf
VS
201512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20152
20153 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20154
f66924a4
RM
201552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20156
20157 * util/misc.c (make_system_path_relative_to_its_root): Work around
20158 special-casing of "/", as previous incarnation of this routine did.
20159
cbca0ada
VS
201602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 Fix any-emu compilation.
20163
20164 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20165 * grub_bin2h_SOURCES: New variable.
20166
34a66d99
RM
201672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20168
20169 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20170
94fabf58
RM
201712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20172
20173 * util/grub.d/00_header.in: Fix handling of locale_dir.
20174
02cf98ca
VS
201752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20176
20177 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20178 as possible unifont location (Gentoo).
20179 Reported by: Alexander Brüning
20180
327dbcd7
VS
201812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20182
20183 Don't try to generate lists for kernel.img.
20184
20185 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20186 (pkglib_MODULES): Remove kernel.img.
20187 (kernel_img_EXPORTS): Removed.
20188 (kernel_img_RELOCATABLE): New variable.
20189 * conf/x86_64-efi.rmk: Likewise.
20190 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20191
ca467290
VS
201922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20193
20194 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20195 grub_xasprintf or grub_snprintf.
20196 (grub_vsprintf): Likewise.
20197 (grub_snprintf): New proto.
20198 (grub_vsnprintf): Likewise.
20199 (grub_xasprintf): Likewise.
20200 (grub_xvasprintf): Likewise.
20201 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20202 (grub_sprintf): Removed.
20203 (grub_vsnprintf): New function.
20204 (grub_snprintf): Likewise.
20205 (grub_xvasprintf): Likewise.
20206 (grub_xasprintf): Likewise.
20207 (grub_vsprintf): Renamed to ...
20208 (grub_vsnprintf_real): ...this. New argument max_len.
20209
aca655fd
BC
202102010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20211
20212 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20213 fix grub-script-check warning.
20214
7ee92c32
VS
202152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20216
20217 * include/grub/font.h (grub_font_load): Fix prototype.
20218
f80927ca
VS
202192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20220
20221 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20222
119c50ea
VS
202232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * include/grub/x86_64/at_keyboard.h: New file.
20226
47d5f3c1
VS
202272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 * loader/mips/linux.c: Include missing grub/i18n.h.
20230
55ff5266
RM
202312009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20232
20233 * normal/menu.c (notify_execution_failure): Clarify error message.
20234
c893cc87
RM
202352009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20236
20237 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20238 return value (and revert all return statements). Update users.
20239
917dd370
CW
202402010-01-20 Dan Merillat <debian@dan.merillat.org>
20241
20242 * kern/device.c (grub_device_iterate): Allocate new part_ent
20243 structure based on sizeof (*p) rather than sizeof (p->next), to
20244 account for structure padding.
20245
20246 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20247 disk is NULL, which might happen for LVM physical volumes with no
20248 LVM signature.
20249
d4a4ee57
RM
202502009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20251
20252 * loader/mips/linux.c (grub_cmd_initrd)
20253 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20254
202552009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20256
20257 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20258 (grub_video_video_init, grub_video_bitmap_init)
20259 (grub_font_manager_init, grub_term_gfxterm_init)
20260 (grub_at_keyboard_init): New extern declarations.
20261 (grub_machine_init): Initialize gfxterm and at_keyboard.
20262
20263 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20264
20265 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20266 `gfxterm.mod' into core image.
20267
20268 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20269 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20270 (kernel_img_FORMAT): Copy to ...
20271
20272 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20273 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20274 (kernel_img_FORMAT): ... here, and ...
20275
20276 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20277 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20278 (kernel_img_FORMAT): ... here.
20279
20280 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20281 and input (at_keyboard) terminals in kernel.
20282 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20283
20284 (pkglib_MODULES): Remove `pci.mod'.
20285 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20286 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20287 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20288 (at_keyboard_mod_LDFLAGS): Remove variables.
20289
202902010-01-11 Felix Zielcke <fzielcke@z-51.de>
20291
20292 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20293
202942009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20295
20296 * include/grub/mips/libgcc.h: Only export symbols for functions
20297 that libgcc provides.
20298
202992009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 MIPS support.
20302
20303 * bus/bonito.c: New file.
20304 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20305 GRUB_PCI_NUM_DEVICES.
20306 * term/i386/pc/serial.c: Move to ...
20307 * term/serial.c: ... here. All users updated.
20308 * util/i386/pc/grub-mkimage.c: Move to ...
20309 * util/grub-mkrawimage.c: ... here. All users updated.
20310 * term/i386/pc/at_keyboard.c: Move to ...
20311 * term/at_keyboard.c: ... here. All users updated.
20312 * conf/mips-qemu-mips.rmk: New file.
20313 * conf/mips-yeeloong.rmk: Likewise.
20314 * conf/mips.rmk: Likewise.
20315 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20316 mipsel-qemu-mips.
20317 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20318 to port addresses.
20319 (grub_ata_pciinit): Support CS5536.
20320 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20321 * font/font_cmd.c (loadfont_command): Open file before passing it to
20322 grub_font_load.
20323 (pseudo_file_read): New function.
20324 (pseudo_file_close): Likewise.
20325 (pseudo_fs): New structure.
20326 (load_font_module): New function.
20327 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20328 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20329 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20330 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20331 * include/grub/i386/at_keyboard.h: Split into ...
20332 * include/grub/at_keyboard.h: ... this ...
20333 * include/grub/i386/at_keyboard.h: ... and this.
20334 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20335 New prototype.
20336 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20337 updated.
20338 (grub_elf64_size): Likewise.
20339 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20340 filename.
20341 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20342 * include/grub/i386/coreboot/serial.h: Rewritten.
20343 * include/grub/i386/ieee1275/serial.h: Include
20344 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20345 * include/grub/i386/pc/serial.h: Moved from here ...
20346 * include/grub/serial.h: ... to here. All users updated.
20347 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20348 (GRUB_PCI_NUM_BUS): Likewise.
20349 (GRUB_PCI_NUM_DEVICES): Likewise.
20350 (grub_pci_device_map_range): Add missing volatile keyword.
20351 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20352 * include/grub/mips/at_keyboard.h: New file.
20353 * include/grub/mips/cache.h: Likewise.
20354 * include/grub/mips/io.h: Likewise.
20355 * include/grub/mips/kernel.h: Likewise.
20356 * include/grub/mips/libgcc.h: Likewise.
20357 * include/grub/mips/pci.h: Likewise.
20358 * include/grub/mips/qemu-mips/boot.h: Likewise.
20359 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20360 * include/grub/mips/qemu-mips/loader.h: Likewise.
20361 * include/grub/mips/qemu-mips/memory.h: Likewise.
20362 * include/grub/mips/qemu-mips/serial.h: Likewise.
20363 * include/grub/mips/qemu-mips/time.h: Likewise.
20364 * include/grub/mips/relocator.h: Likewise.
20365 * include/grub/mips/time.h: Likewise.
20366 * include/grub/mips/types.h: Likewise.
20367 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20368 * include/grub/mips/yeeloong/boot.h: Likewise.
20369 * include/grub/mips/yeeloong/kernel.h: Likewise.
20370 * include/grub/mips/yeeloong/loader.h: Likewise.
20371 * include/grub/mips/yeeloong/memory.h: Likewise.
20372 * include/grub/mips/yeeloong/pci.h: Likewise.
20373 * include/grub/mips/yeeloong/serial.h: Likewise.
20374 * include/grub/mips/yeeloong/time.h: Likewise.
20375 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20376 * kern/elf.c (grub_elf32_size): New parameter. All users
20377 updated.
20378 (grub_elf64_size): Likewise.
20379 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20380 Load modules before saying "Welcome to GRUB!".
20381 Call grub_refresh after saying "Welcome to GRUB!".
20382 * kern/mips/cache.S: New file.
20383 * kern/mips/cache_flush.S: Likewise.
20384 * kern/mips/dl.c: Likewise.
20385 * kern/mips/init.c: Likewise.
20386 * kern/mips/qemu-mips/init.c: Likewise.
20387 * kern/mips/startup.S: Likewise.
20388 * kern/mips/yeeloong/init.c: Likewise.
20389 * kern/term.c (grub_putcode): Handle NULL terminal.
20390 (grub_getcharwidth): Likewise.
20391 (grub_getkey): Likewise.
20392 (grub_checkkey): Likewise.
20393 (grub_getkeystatus): Likewise.
20394 (grub_getxy): Likewise.
20395 (grub_getwh): Likewise.
20396 (grub_gotoxy): Likewise.
20397 (grub_cls): Likewise.
20398 (grub_setcolorstate): Likewise.
20399 (grub_setcolor): Likewise.
20400 (grub_getcolor): Likewise.
20401 (grub_refresh): Likewise.
20402 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20403 (write_jump): Add hatch nop.
20404 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20405 * lib/mips/setjmp.S: New file.
20406 * loader/mips/linux.c: Likewise.
20407 * term/i386/pc/at_keyboard.c: Move from here ...
20408 * term/at_keyboard.c: ... to here.
20409 * term/i386/pc/serial.c: Moved from here ...
20410 * term/serial.c: ... to here. All users updated.
20411 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20412 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20413 (serial_translate_key_sequence): Avoid deadlock.
20414 (grub_serial_getkey): Handle backspace.
20415 (grub_serial_putchar): Fix newline handling.
20416 * util/i386/pc/grub-mkimage.c: Move from here ...
20417 * util/grub-mkrawimage.c: ... to here. All users updated.
20418 (generate_image): New parameters 'font_path' and 'format'.
20419 Support embedding font.
20420 Use grub_host_to_target* instead of grub_cpu_to_le*.
20421 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20422 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20423 (options): New option "--font".
20424 (usage): Likewise.
20425 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20426 (main): Handle "--font".
20427 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20428 (grub_virtual_screen_setup): Set bg_color_display.
20429 (redraw_screen_rect): Use bg_color_display instead of incorrect
20430 bg_color.
20431 (grub_gfxterm_cls): Likewise.
20432 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20433 Support embedding config file.
20434 (add_segments): Likewise.
20435 (options): New option "--config".
20436 (main): Handle "--config".
20437 * video/sm712.c: New file.
20438
25c2b5b3
RM
204392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20440
20441 Fix parallel builds.
20442
20443 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20444 font.c depend on ascii.h).
20445
204462010-01-12 Carles Pina i Estany <carles@pina.cat>
20447
20448 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20449
204502010-01-11 Carles Pina i Estany <carles@pina.cat>
20451
20452 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20453 By default: disabled.
20454 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20455 parameter.
20456
204572010-01-10 Carles Pina i Estany <carles@pina.cat>
20458
20459 * font/font.c: Update copyright years.
20460 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20461
204622010-01-10 Carles Pina i Estany <carles@pina.cat>
20463
20464 * font/font.c: Include `ascii.h'.
20465 (ASCII_BITMAP_SIZE): New macro.
20466 (ascii_font_glyph): Define.
20467 (ascii_glyph_lookup): New function.
20468 (grub_font_get_string_width): Change comment. If glyph not found, use
20469 ascii_glyph_lookup.
20470 (grub_font_get_glyph_with_fallback): If glyph not available returns
20471 ascii_glyph_lookup.
20472 * util/grub-mkfont.c (file_formats): New enum.
20473 (options): Add `ascii-bitmaps' new option.
20474 (usage): Add `asii-bitmaps' new option.
20475 (write_font_ascii_bitmap): New function.
20476 (write_font): Rename to ...
20477 (write_font_p2): ... this. Remove print_glyphs call.
20478 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20479 used. Call print_glyphs.
20480 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20481
204822010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20483
20484 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20485 (grub_bin2h_SOURCES): New variable.
20486 * util/bin2h.c: New file.
20487
915fc1b8
VS
204882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 * include/multiboot.h: Resynced with spec.
20491 * include/multiboot2.h: Likewise.
20492 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20493 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20494
9444b678
RM
204952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20496
20497 * include/grub/term.h (grub_term_register_input,
20498 grub_term_register_output): Check return of terminal init()
20499 routines, and abort if errors are raised.
20500
20501 * commands/terminal.c: Update copyright year.
20502
cba98e8d
RM
205032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20504
20505 * commands/terminal.c (grub_cmd_terminal_input)
20506 (grub_cmd_terminal_output): Check return of terminal init()
20507 routines, and abort if errors are raised.
20508
6f7db5d6
VS
205092010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20510
20511 * include/grub/i386/bsd.h: Fix include pathes.
20512
262bff8d
VS
205132010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20514
20515 Add missing *BSD copyright headers.
20516
20517 * include/grub/aout.h: Add BSD licence.
20518 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20519 * include/grub/i386/freebsd_linker.h: ... here,
20520 * include/grub/i386/freebsd_reboot.h: ... here,
20521 * include/grub/i386/netbsd_bootinfo.h: ... here,
20522 * include/grub/i386/netbsd_reboot.h: ... here,
20523 * include/grub/i386/openbsd_bootarg.h: ... here,
20524 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20525 licence to each file.
20526
b2cab848
RM
205272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20528
20529 * acinclude.m4: Remove `nop' assembly instruction; it's not
20530 implemented by all architectures.
20531
2cb6be4b
RM
205322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20533
20534 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20535 ELILO. This is no longer necessary.
20536
a2eaee15
BC
205372010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20538
20539 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20540
20541 * util/grub-script-check.c: grub-script-check tool.
20542 * conf/common.rmk: Make rules for grub-script-check.
20543
88d17012
RM
205442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20545
20546 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20547 spotting it back in 2008. Shame on me for forgetting he did.
20548
20549 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20550
8040619d
RM
205512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20552
20553 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20554 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20555 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20556 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20557 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20558 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20559
a0c2a0f6
RM
205602010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20561
20562 * include/grub/test.h: Add license header.
20563 * tests/example_functional_test.c: Likewise.
20564 * tests/example_unit_test.c: Likewise.
20565 * tests/lib/functional_test.c: Likewise.
20566 * tests/lib/test.c: Likewise.
20567 * tests/lib/unit_test.c: Likewise.
20568
b0b13907
VS
205692010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20570
20571 Use flag-based instead of hook-based video mode selection and "auto"
20572 keyword.
20573
20574 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20575 (grub_video_set_mode): Changed prototype. All users updated.
20576 (grub_video_check_mode_flag): New inline function.
20577 * video/video.c (parse_modespec): New function.
20578 (grub_video_set_mode): Parse flags and keywords.
20579
ea379330 205802010-01-17 Carles Pina i Estany <carles@pina.cat>
20581
20582 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20583 fprintf call.
20584
e15c215e
FZ
205852010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20586
20587 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20588
409ae1c9 205892010-01-16 Carles Pina i Estany <carles@pina.cat>
20590
20591 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20592 string.
20593 * util/grub-emu.c (usage): Likewise.
20594 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20595 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20596 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20597 * util/i386/pc/grub-setup.c (usage): Likewise.
20598
70a14d3d 205992010-01-16 Carles Pina i Estany <carles@pina.cat>
20600
20601 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20602 the message.
20603 (grub_util_info): Likewise.
20604 (grub_util_error): Likewise.
20605 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20606 and/or new lines in `grub_util_warna', `grub_util_info',
20607 `grub_util_error' calls.
20608 * util/getroot.c: Likewise.
20609 * util/grub-editenv.c: Likewise.
20610 * util/grub-emu.c: Likewise.
20611 * util/grub-fstest.c: Likewise.
20612 * util/grub-mkdevicemap.c: Likewise.
20613 * util/grub-mkfont.c: Likewise.
20614 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20615 * util/grub-mkrelpath.c: Likewise.
20616 * util/grub-pe2elf.c: Likewise.
20617 * util/grub-probe.c: Likewise.
20618 * util/hostdisk.c: Likewise.
20619 * util/i386/efi/grub-mkimage.c: Likewise.
20620 * util/i386/pc/grub-mkimage.c: Likewise.
20621 * util/i386/pc/grub-setup.c: Likewise.
20622 * util/ieee1275/ofpath.c: Likewise.
20623 * util/mkisofs/eltorito.c: Likewise.
20624 * util/mkisofs/rock.c: Likewise.
20625 * util/mkisofs/write.c: Likewise.
20626 * util/raid.c: Likewise.
20627 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20628 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20629
a0b766fc
VS
206302010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 Enable multiboot on non-pc.
20633
20634 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20635 multiboot.mod and multiboot2.mod to ...
20636 * conf/i386.rmk (pkglib_MODULES): ... here.
20637 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20638 Moved to ...
20639 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20640 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20641 Moved to ...
20642 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20643 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20644 Moved to ...
20645 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20646 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20647 Moved to ...
20648 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20649 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20650 relocator.mod.
20651 (ata_mod_SOURCES): Removed.
20652 (ata_mod_CFLAGS): Likewise.
20653 (ata_mod_LDFLAGS): Likewise.
20654 (relocator_mod_SOURCES): Removed.
20655 (relocator_mod_CFLAGS): Likewise.
20656 (relocator_mod_ASFLAGS): Likewise.
20657 (relocator_mod_LDFLAGS): Likewise.
20658 Include i386.mk.
20659 * include/grub/x86_64/multiboot.h: New file.
20660 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20661 Terminate EFI.
20662
884ade56
VS
206632010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20664
20665 Video multiboot support.
20666
20667 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20668 New prototype.
20669 * include/multiboot.h: Resynced with multiboot specification.
20670 * include/multiboot2.h: Likewise.
20671 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20672 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20673 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20674 (HAS_VGA_TEXT): Likewise.
20675 (accepts_video): New variable.
20676 (grub_multiboot_set_accepts_video): New function.
20677 (grub_multiboot_get_mbi_size): Account for video structures.
20678 (set_video_mode): New function.
20679 (retrieve_video_parameters): Likewise.
20680 (grub_multiboot_make_mbi): Fill video fields.
20681
0d90e8a6
VS
206822010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20683
20684 Video driver ids.
20685
20686 * include/grub/video.h (grub_video_driver_id): New type.
20687 (grub_video_adapter): New member 'id'. All users updated.
20688 (grub_video_get_driver_id): New proto.
20689 * video/video.c (grub_video_get_driver_id): New function.
20690
5c71db1b 206912010-01-14 Carles Pina i Estany <carles@pina.cat>
20692
20693 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20694 `var=val'.
20695
cca15b52 206962010-01-14 Carles Pina i Estany <carles@pina.cat>
20697
20698 * normal/cmdline.c (print_completion): Gettextizze.
20699
c586fbb2 207002001-01-14 Carles Pina i Estany <carles@pina.cat>
20701
20702 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20703
ba2f6848 207042010-01-14 Carles Pina i Estany <carles@pina.cat>
20705
20706 * gettext/gettext.c (grub_gettext_translate): Push and pop
20707 grub_errno.
20708 (grub_gettext_delete_list): Change comment style.
20709 * kern/err.c (grub_error): Gettextizze.
20710 (grub_fatal): Gettextizze.
20711
0a46429a
RM
207122010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20713
20714 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20715 (grub_linux16_real_boot): ... this.
20716 * kern/i386/loader.S: Likewise.
20717 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20718 (grub_linux16_boot): New function. Switches to text mode and calls
20719 grub_linux16_real_boot().
20720
20721 * loader/i386/bsd.c: Include `<grub/video.h>'.
20722 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20723 text mode before calling grub_unix_real_boot().
20724
20725 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20726 (grub_multiboot_boot): Switch to text mode before calling
20727 grub_relocator32_boot().
20728
20729 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20730 (grub_chainloader_boot): Switch to text mode before calling
20731 grub_chainloader_real_boot().
20732
d6f93a66
RM
207332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
207342010-01-05 Colin Watson <cjwatson@ubuntu.com>
20735
20736 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20737 non-empty value.
20738
207392010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
207402010-01-05 Colin Watson <cjwatson@ubuntu.com>
20741
20742 * util/grub.d/00_header.in: Define a "savedefault" function for use
20743 in menu entries.
20744 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20745
207462010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
207472010-01-05 Colin Watson <cjwatson@ubuntu.com>
20748
20749 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20750 saved_entry if boot_once is unset.
20751 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20752 previous saved entry (i.e. grub-reboot).
20753
207542009-12-08 Colin Watson <cjwatson@ubuntu.com>
20755
20756 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20757
207582009-12-08 Colin Watson <cjwatson@ubuntu.com>
20759
20760 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20761 `var=val'.
20762 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20763
207642009-12-08 Colin Watson <cjwatson@ubuntu.com>
20765
20766 * util/grub-reboot.in: Fix --version output.
20767 * util/grub-set-default.in: Likewise.
20768
207692009-12-08 Colin Watson <cjwatson@ubuntu.com>
20770
20771 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20772 blocks.
20773
207742009-12-08 Colin Watson <cjwatson@ubuntu.com>
20775
20776 * util/grub.d/00_header.in: Quote the value assigned to `default',
20777 in case it contains spaces.
20778
207792009-12-08 Colin Watson <cjwatson@ubuntu.com>
20780
20781 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20782 `save_default_entry' call from the macosx case to the linux case.
20783
207842009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
207852009-10-25 Colin Watson <cjwatson@ubuntu.com>
20786
20787 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20788 in `chosen' environment variable.
20789 * normal/menu_text.c (get_entry_number): Check if the variable
20790 matches the title of a menu entry.
20791 (run_menu): Pass menu to get_entry_number.
20792
20793 * util/grub-reboot.in: New file.
20794 * util/grub-set-default.in: New file.
20795 * conf/common.rmk (grub-reboot): New utility.
20796 (grub-set-default): New utility.
20797
20798 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20799 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20800 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20801 move it to `saved_entry' for the next boot. Load environment on
20802 initialisation.
20803 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20804 * util/grub.d/10_hurd.in: Likewise.
20805 * util/grub.d/10_linux.in (linux_entry): Likewise.
20806 * util/grub.d/10_windows.in: Likewise.
20807 * util/grub.d/30_os-prober.in: Likewise.
20808
20809 * util/grub-install.in: Create environment block.
20810 * util/i386/efi/grub-install.in: Likewise.
20811 * util/ieee1275/grub-install.in: Likewise.
20812 * util/sparc64/ieee1275/grub-install.in: Likewise.
20813
0934d184
BC
208142010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20815
20816 Unit testing framework for GRUB.
20817
20818 * Makefile.in: Test framework build rules for 'make check'.
20819 * conf/tests.rmk: Build rules for individual tests and framework.
20820
20821 * include/grub/test.h: Header file for whitebox tests.
20822 * tests/lib/functional_test.c: Framework support for whitebox
20823 functional tests.
20824 * tests/lib/test.c: Common whitebox testing code for unit and
20825 functional tests.
20826 * tests/lib/unit_test.c: Framework support for whitebox unit
20827 tests.
20828
20829 * tests/util/grub-shell-tester.in: Support utility for grub-script
20830 tests.
20831 * tests/util/grub-shell.in: Utility to execute grub-script
20832 commands in a Qemu instance.
20833
20834 * tests/example_functional_test.c: Example whitebox functional
20835 test.
20836 * tests/example_grub_script_test.in: Example grub-script test.
20837 * tests/example_scripted_test.in: Example scripted test.
20838 * tests/example_unit_test.c: Example whitebox unit test.
20839
9c4ffeeb
VS
208402010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20843 Add loader/i386/multiboot_mbi.c.
20844 (multiboot2_mod_SOURCES): Likewise.
20845 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20846 (multiboot2_mod_SOURCES): Likewise.
20847 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20848 (grub_multiboot_make_mbi): Likewise.
20849 (grub_multiboot_free_mbi): Likewise.
20850 (grub_multiboot_init_mbi): Likewise.
20851 (grub_multiboot_add_module): Likewise.
20852 (grub_multiboot_set_bootdev): Likewise.
20853 * loader/i386/multiboot.c (mbi): Removed.
20854 (mbi_dest): Likewise.
20855 (alloc_mbi): New variable.
20856 (grub_multiboot_payload_size): Removed. All users updated.
20857 (grub_multiboot_pure_size): New variable.
20858 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20859 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20860 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20861 (grub_fill_multiboot_mmap): Likewise.
20862 (grub_multiboot_get_bootdev): Likewise.
20863 (grub_multiboot): Use multiboot_mbi functions.
20864 * loader/i386/multiboot_mbi.c: New file.
20865
17383dfe
VS
208662010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20867
20868 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20869 it would result in module crash.
20870
c1f28820
VS
208712010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20872
20873 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20874 (grub_ofconsole_getwh): Split to ...
20875 (grub_ofconsole_getwh): ... this.
20876 (grub_ofconsole_dimensions): ...and this.
20877 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20878
58655a16
RM
208792010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20880
20881 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20882
10891398
VS
208832010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * loader/i386/pc/multiboot2.c: Removed stalled file.
20886
0b8a223c
VS
208872010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20888
20889 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20890 Reported by: Grégoire Sutre
20891
92ab12b0
RM
208922010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20893
20894 * util/misc.c (canonicalize_file_name): New function.
20895 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20896 instead of realpath().
20897
a788afb6
CW
208982010-01-11 Colin Watson <cjwatson@ubuntu.com>
20899
20900 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20901 and make it clearer that it's optional. Based on confusion
20902 witnessed on IRC.
20903
ffa8e3d2
VS
209042010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20907 in premature implicit newline.
20908
e9060a9d
VS
209092010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20910
20911 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20912 which resulted in garbled command line at the end of screen.
20913
f0d0c0b7
RM
209142010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20915
20916 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20917 initialization with similar approach as with other Linux loaders.
20918
0e60bae7
RM
209192010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20920
20921 Fix i386-ieee1275 build.
20922
20923 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20924 and grub_term_height() for video_{width,height} initialization.
20925
209262010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20927
20928 Fix grub-emu build.
20929
20930 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20931
cdb3f378
RM
209322010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
209332010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20934
20935 Support for multiple terminals.
20936
20937 * Makefile.in (pkglib_DATA): terminal.lst.
20938 (terminal.lst): New target.
20939 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20940 (GRUB_MOD_INIT(handler)): Likewise.
20941 (GRUB_MOD_FINI(handler)): Likewise.
20942 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20943 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20944 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20945 (grub_cmd_sleep): Use grub_term_save_pos.
20946 * commands/terminal.c: New file.
20947 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20948 commands/terminal.c and lib/charset.c.
20949 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20950 (pkglib_MODULES): Add terminal.mod.
20951 (terminal_mod_SOURCES): New variable.
20952 (terminal_mod_CFLAGS): Likewise.
20953 (terminal_mod_LDFLAGS): Likewise.
20954 * genhandlerlist.sh: Don't handle terminals.
20955 * genmk.rb: Generate terminal-*.lst.
20956 * genterminallist.sh: New file.
20957 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20958 (grub_is_valid_utf8): Likewise.
20959 (grub_utf8_to_ucs4_alloc): Likewise.
20960 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20961 (grub_menu_register_viewer): Changed argument.
20962 (grub_menu_try_text): New proto.
20963 (grub_gfxmenu_try_hook): New declaration.
20964 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20965 (grub_menu_init_page): Additional argument term.
20966 (grub_normal_init_page): Likewise.
20967 (grub_cmdline_get): Arguments simplified.
20968 (grub_utf8_to_ucs4_alloc): Removed.
20969 (grub_print_ucs4): Additional argument term.
20970 (grub_getstringwidth): Likewise.
20971 (grub_print_message_indented): Likewise.
20972 (grub_menu_text_register_instances): New proto.
20973 (grub_show_menu): Likewise.
20974 (read_terminal_list): Likewise.
20975 (grub_set_more): Likewise.
20976 * include/grub/parser.h: Include handler.h.
20977 * include/grub/reader.h: Rewritten.
20978 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20979 (GRUB_TERM_WIDTH): Changed to function.
20980 (GRUB_TERM_HEIGHT): Likewise.
20981 (GRUB_TERM_BORDER_WIDTH): Likewise.
20982 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20983 (GRUB_TERM_NUM_ENTRIES): Likewise.
20984 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20985 (GRUB_TERM_CURSOR_X): Likewise.
20986 (grub_term_input_class): Likewise.
20987 (grub_term_output_class): Likewise.
20988 (grub_term_outputs_disabled): New declaration.
20989 (grub_term_inputs_disabled): Likewise.
20990 (grub_term_outputs): Likewise.
20991 (grub_term_inputs): Likewise.
20992 (grub_term_register_input): Rewritten.
20993 (grub_term_register_output): Likewise.
20994 (grub_term_unregister_input): Likewise.
20995 (grub_term_unregister_output): Likewise.
20996 (FOR_ACTIVE_TERM_INPUTS): New macro.
20997 (FOR_DISABLED_TERM_INPUTS): Likewise.
20998 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20999 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21000 * include/grub/terminfo.h: Add oterm argument to all protypes.
21001 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21002 Use grub_rescue_run.
21003 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21004 All users updated.
21005 * kern/reader.c: Removed. All users updated.
21006 * kern/rescue_reader.c (grub_rescue_init): Removed.
21007 (grub_rescue_reader): Likewise.
21008 (grub_register_rescue_reader): Likewise.
21009 (grub_rescue_run): New function based on kern/reader.c.
21010 * kern/term.c: Adapted for multiterm.
21011 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21012 (grub_is_valid_utf8): Likewise.
21013 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21014 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21015 right terminal.
21016 * loader/i386/linux.c (grub_linux_boot): Likewise.
21017 * normal/auth.c (grub_username_get): New function.
21018 (grub_auth_check_authentication): Use grub_username_get.
21019 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21020 * normal/color.c: Adapt for multiterm.
21021 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21022 (grub_normal_init_page): Additional argument term.
21023 (read_lists): Call read_terminal_lists.
21024 (grub_enter_normal_mode): Call grub_cmdline_run.
21025 Handle grub_normal_exit_level.
21026 (grub_cmd_normal): Make reentrant.
21027 (grub_cmd_normal_exit): New function.
21028 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21029 * normal/menu.c: Adapt for multiterm.
21030 * normal/menu_entry.c: Likewise.
21031 * normal/menu_text.c: Likewise.
21032 * normal/menu_viewer.c: Removed. All users updated.
21033 * normal/term.c: New file.
21034 * util/console.c: Change order of includes to workaround a bug in
21035 ncurses headers.
21036 * term/terminfo.c: New argument oterm on all exported functions.
21037 All users updated.
21038 * util/grub-editenv.c (grub_term_input_class): Removed.
21039 (grub_term_output_class): Likewise.
21040
1a064917
RM
210412010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21042
21043 Make loader output a bit more user-friendly.
21044
21045 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21046 is being loaded. Likewise for the Hurd.
21047
21048 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21049 that kernel of FreeBSD ${version} is being loaded.
21050
21051 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21052 grub_dprintf().
21053 (grub_cmd_initrd): Likewise.
21054 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21055 that Linux ${version} is being loaded. Likewise for initrd.
21056
5ce0a83a 210572010-01-09 Carles Pina i Estany <carles@pina.cat>
21058
21059 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21060
809bbfeb 210612010-01-08 Carles Pina i Estany <carles@pina.cat>
21062
21063 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21064 (GRUB_MOD_INIT): Gettextizze.
21065 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21066 (GRUB_MOD_INIT): Gettextizze.
21067 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21068 (grub_cmd_linux): Capitalise Linux.
21069 (GRUB_MOD_INIT): Gettextizze.
21070 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21071 (grub_cmd_linux): Capitalise Linux.
21072 (GRUB_MOD_INIT): Gettextizze.
21073 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21074 (grub_cmd_linux): Capitalise Linux.
21075 (GRUB_MOD_INIT): Gettextizze.
21076 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21077 (GRUB_MOD_INIT): Gettextizze.
21078 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21079 (grub_cmd_linux): Capitalise Linux.
21080 (GRUB_MOD_INIT): Gettextizze.
21081 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21082 (grub_cpu_xnu_init): Gettextizze.
21083 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21084 (GRUB_MOD_INIT): Gettextizze.
21085 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21086 (GRUB_MOD_INIT): Gettextizze.
21087 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21088 (grub_linux_load64): Capitalise Linux.
21089 (GRUB_MOD_INIT): Gettextizze.
21090 * loader/xnu.c: Include `<grub/i18n.h>'.
21091 (GRUB_MOD_INIT): Gettextizze.
21092 * po/POTFILES: Add `loader/efi/appleloader.c',
21093 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21094 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21095 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21096 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21097 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21098 and `loader/xnu.c'.
21099
b394b2ca
RM
211002010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21101
21102 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21103
211042010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21105
21106 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21107 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21108 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21109
bc8b32b3
RM
211102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21111
21112 Reset Multiboot 2 support. New loader implements the draft in
21113 /branches/multiboot2 and shares as much code as possible with the
21114 production Multiboot 1 implementation.
21115
21116 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21117 * loader/multiboot2.c: Likewise.
21118 * loader/i386/multiboot_helper.S: Likewise.
21119 * include/multiboot2.h: Replace with latest version from the draft
21120 in /branches/multiboot2.
21121
21122 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21123 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21124 and `loader/multiboot2.c'.
21125 (pkglib_MODULES): Add `multiboot2.mod'.
21126 (multiboot2_mod_SOURCES): New variable.
21127 (multiboot2_mod_LDFLAGS): Likewise.
21128 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21129
21130 * conf/i386-pc.rmk: Likewise.
21131
21132 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21133 (multiboot_mod_SOURCES): Remove variable.
21134 (multiboot_mod_LDFLAGS): Likewise.
21135 (multiboot_mod_CFLAGS): Likewise.
21136
21137 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21138 `<multiboot2.h>' instead of `<multiboot.h>'.
21139 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21140 (MULTIBOOT_HEADER_MAGIC): New macros.
21141
21142 * loader/multiboot_loader.c (module_version_status): Remove variable.
21143 (find_multi_boot2_header): Remove function.
21144 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21145 logic. Always check for the Multiboot version we're compiling for.
21146 (grub_cmd_module_loader): Likewise.
21147 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21148 command instead of `multiboot'.
21149
5d2c52b8
RM
211502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21151
21152 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21153 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21154 all users.
21155
53108d92
RM
211562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
211572010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21158
21159 Fix breakage introduced with previous commit.
21160
21161 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21162 commands.
21163 * normal/handler.c (read_handler_list): Revert part of previous commit
21164 affecting this file.
21165 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21166 (grub_normal_execute): ... here.
21167
e2e936b2
RM
211682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21169
21170 Merge prefix-redefinition-fix branch.
21171
21172 * normal/autofs.c (read_fs_list): Make function capable of being
21173 run multiple times, gracefuly replacing the previous data
21174 structures.
21175 * normal/dyncmd.c (read_command_list): Likewise.
21176 * normal/handler.c (read_handler_list): Likewise.
21177 * normal/main.c (read_lists): New function. Calls all the
21178 list reading functions.
21179 (grub_normal_execute): Use read_lists() instead of calling all
21180 list reading functions explicitly. Register read_lists() as a
21181 variable hook attached to ${prefix}.
21182
607a3701
VS
211832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 Merge crypto branch.
21186
21187 * Makefile.in (pkglib_DATA): Add crypto.lst.
21188 (crypto.lst): New target.
21189 * commands/hashsum.c: New file.
21190 * commands/password.c (check_password): Use grub_crypto_memcmp.
21191 * commands/password_pbkdf2.c: New file.
21192 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21193 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21194 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21195 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21196 -I$(srcdir)/lib/libgcrypt_wrap.
21197 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21198 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21199 password_pbkdf2.mod.
21200 (crypto_mod_SOURCES): New variable.
21201 (crypto_mod_CFLAGS): Likewise.
21202 (crypto_mod_LDFLAGS): Likewise.
21203 (hashsum_mod_SOURCES): New variable.
21204 (hashsum_mod_CFLAGS): Likewise.
21205 (hashsum_mod_LDFLAGS): Likewise.
21206 (pbkdf2_mod_SOURCES): New variable.
21207 (pbkdf2_mod_CFLAGS): Likewise.
21208 (pbkdf2_mod_LDFLAGS): Likewise.
21209 (password_pbkdf2_mod_SOURCES): New variable.
21210 (password_pbkdf2_mod_CFLAGS): Likewise.
21211 (password_pbkdf2_mod_LDFLAGS): Likewise.
21212 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21213 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21214 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21215 Include conf/gcry.rmk.
21216 * include/grub/auth.h: Rewritten.
21217 * include/grub/crypto.h: New file.
21218 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21219 * include/grub/normal.h (read_crypto_list): New prototype.
21220 * lib/crypto.c: New file.
21221 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21222 * lib/pbkdf2.c: Likewise.
21223 * normal/auth.c (grub_auth_strcmp): Removed.
21224 (grub_iswordseparator): Likewise.
21225 (grub_auth_strword): Likewise.
21226 (is_authenticated): Use grub_strword.
21227 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21228 and grub_strword. Pass entered password to authentication callback.
21229 * normal/crypto.c: New file.
21230 * normal/main.c: Call read_crypto_list.
21231 * util/grub-mkpasswd-pbkdf2.c: New file.
21232 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21233
42841caa
VS
212342010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 Fix descent and ascent calculation.
21237
21238 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21239 (options): New option "asce".
21240 (usage): Likewise.
21241 (add_char): Ignore invalid glyphs for descent calculation.
21242 Calculate ascent from actual content.
21243 (print_glyphs): Use 'asce'.
21244 (write_font): Likewise. Allow ascent override.
21245 (main): Handle "asce" option.
21246
e7730de7 212472010-01-06 Carles Pina i Estany <carles@pina.cat>
21248
21249 * kern/err.c: Include `<grub/i18n.h>'.
21250 (grub_print_error): Add full stop. Gettextizze.
21251 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21252 (grub_bsd_load_elf): Capitalise ELF.
21253 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21254 (grub_cmd_freebsd_module): Likewise.
21255 (grub_cmd_freebsd_module_elf): Likewise.
21256 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21257
40e3a41f 212582010-01-06 Carles Pina i Estany <carles@pina.cat>
21259
21260 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21261 * commands/search_file.c (HELP_MESSAGE): New macro.
21262 * commands/search_label.c (HELP_MESSAGE): Likewise.
21263 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21264 * po/POTFILES: Add `commands/search_file.c',
21265 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21266 `commands/search.c'.
21267
83507e68
RM
212682010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21269
21270 * config.rpath: Update from Gnulib.
21271
465c787b
YB
212722010-01-05 Yves Blusseau <blusseau@zetam.org>
21273
21274 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21275
6581dd3a
YB
212762010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21277
21278 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21279
3bff18c5
CW
212802010-01-05 Colin Watson <cjwatson@ubuntu.com>
21281
21282 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21283 arguments to fread so that we get a return value in bytes, rather
21284 than something that will normally be rounded down to 0.
21285 Adjust error handling to avoid producing garbage when size_t is not
21286 the same size as long long.
21287
a1368118
CW
212882010-01-05 Colin Watson <cjwatson@ubuntu.com>
21289
21290 * util/mkisofs/write.c (padblock_write): Check return value of
21291 fread.
21292
7c302978
RM
212932010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21294
21295 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21296 floppy images now.
21297
21298 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21299
e33ace06
RM
213002010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21301
21302 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21303 instead of manual alignment.
21304 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21305 verbose). Avoid attempts to read past end of the device
21306 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21307 but GRUB_DISK_CACHE_SIZE may exceed that).
21308
4b856776
RM
213092010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21310
21311 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21312 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21313 it to upper layer.
21314
52c2d97f
VS
213152010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21316
21317 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21318 New constant.
21319 (grub_efi_piwg_device_path): New structure
21320 (grub_efi_piwg_device_path_t): New type.
21321 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21322 (devpath_1): Transform to a structure. All users updated.
21323 (devpath_2): Likewise.
21324 (devpath_3): Likewise.
21325 (devpath_4): Likewise.
21326 (devpath_5): Likewise.
21327
98ff6a54
VS
213282010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21329
21330 * loader/efi/appleloader.c: Restored. Update all users.
21331
3a73dcb6
RM
213322010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21333
21334 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21335
21336 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21337 (struct boot_blocklist): Move from here ...
21338 * include/grub/i386/pc/boot.h [ASM_FILE]
21339 (struct grub_boot_blocklist): ... to here. Update all users.
21340 (setup): Only initialize `start' member of `first_block'
21341 structure. Add assert() calls to verify the other members.
21342
21343 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21344 (generate_image): Fix broken blocklist length initialization.
21345 Add assert() call to verify blocklist `segment' field.
21346
ab0eeb0c
RM
213472010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21348
21349 * loader/efi/appleloader.c: Remove. Update all users.
21350
58bc8bd5
RM
213512010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21352
21353 * boot/i386/pc/boot.S: Update copyright year.
21354 * boot/i386/pc/cdboot.S: Likewise.
21355 * boot/i386/pc/diskboot.S: Likewise.
21356 * boot/i386/pc/lnxboot.S: Likewise.
21357 * boot/i386/pc/pxeboot.S: Likewise.
21358 * bus/pci.c: Likewise.
21359 * commands/cmp.c: Likewise.
21360 * commands/help.c: Likewise.
21361 * commands/hexdump.c: Likewise.
21362 * commands/i386/pc/halt.c: Likewise.
21363 * commands/i386/pc/play.c: Likewise.
21364 * commands/i386/pc/vbeinfo.c: Likewise.
21365 * commands/ls.c: Likewise.
21366 * commands/test.c: Likewise.
21367 * disk/dmraid_nvidia.c: Likewise.
21368 * disk/i386/pc/biosdisk.c: Likewise.
21369 * disk/ieee1275/nand.c: Likewise.
21370 * disk/ieee1275/ofdisk.c: Likewise.
21371 * disk/lvm.c: Likewise.
21372 * disk/raid.c: Likewise.
21373 * disk/raid6_recover.c: Likewise.
21374 * disk/scsi.c: Likewise.
21375 * fs/affs.c: Likewise.
21376 * fs/cpio.c: Likewise.
21377 * fs/ext2.c: Likewise.
21378 * fs/hfs.c: Likewise.
21379 * fs/iso9660.c: Likewise.
21380 * fs/ntfs.c: Likewise.
21381 * fs/sfs.c: Likewise.
21382 * fs/udf.c: Likewise.
21383 * fs/ufs.c: Likewise.
21384 * fs/xfs.c: Likewise.
21385 * gencmdlist.sh: Likewise.
21386 * genmk.rb: Likewise.
21387 * include/grub/disk.h: Likewise.
21388 * include/grub/efi/api.h: Likewise.
21389 * include/grub/efi/efi.h: Likewise.
21390 * include/grub/efi/pe32.h: Likewise.
21391 * include/grub/elf.h: Likewise.
21392 * include/grub/fs.h: Likewise.
21393 * include/grub/i386/at_keyboard.h: Likewise.
21394 * include/grub/i386/pc/memory.h: Likewise.
21395 * include/grub/i386/pc/vbe.h: Likewise.
21396 * include/grub/i386/pci.h: Likewise.
21397 * include/grub/i386/tsc.h: Likewise.
21398 * include/grub/ieee1275/ieee1275.h: Likewise.
21399 * include/grub/ntfs.h: Likewise.
21400 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21401 * include/grub/sparc64/libgcc.h: Likewise.
21402 * include/grub/symbol.h: Likewise.
21403 * include/grub/types.h: Likewise.
21404 * include/multiboot2.h: Likewise.
21405 * io/gzio.c: Likewise.
21406 * kern/device.c: Likewise.
21407 * kern/disk.c: Likewise.
21408 * kern/efi/efi.c: Likewise.
21409 * kern/efi/mm.c: Likewise.
21410 * kern/elf.c: Likewise.
21411 * kern/file.c: Likewise.
21412 * kern/i386/dl.c: Likewise.
21413 * kern/i386/pc/init.c: Likewise.
21414 * kern/i386/pc/startup.S: Likewise.
21415 * kern/ieee1275/ieee1275.c: Likewise.
21416 * kern/ieee1275/init.c: Likewise.
21417 * kern/main.c: Likewise.
21418 * kern/mm.c: Likewise.
21419 * kern/powerpc/dl.c: Likewise.
21420 * kern/sparc64/dl.c: Likewise.
21421 * kern/x86_64/dl.c: Likewise.
21422 * lib/hexdump.c: Likewise.
21423 * loader/efi/appleloader.c: Likewise.
21424 * loader/i386/ieee1275/linux.c: Likewise.
21425 * loader/i386/pc/chainloader.c: Likewise.
21426 * loader/i386/pc/linux.c: Likewise.
21427 * loader/i386/pc/multiboot2.c: Likewise.
21428 * loader/ieee1275/multiboot2.c: Likewise.
21429 * loader/multiboot2.c: Likewise.
21430 * loader/multiboot_loader.c: Likewise.
21431 * loader/powerpc/ieee1275/linux.c: Likewise.
21432 * normal/completion.c: Likewise.
21433 * normal/menu_entry.c: Likewise.
21434 * partmap/apple.c: Likewise.
21435 * util/grub.d/10_hurd.in: Likewise.
21436 * util/hostfs.c: Likewise.
21437 * video/readers/png.c: Likewise.
21438
e2d70b5c
CW
214392010-01-03 Colin Watson <cjwatson@ubuntu.com>
21440
21441 * include/grub/misc.h (GNUC_PREREQ): New macro.
21442 (ATTRIBUTE_ERROR): New macro.
21443 * include/grub/list.h (grub_bad_type_cast_real): Use
21444 ATTRIBUTE_ERROR.
21445
a173283f 214462010-01-03 Carles Pina i Estany <carles@pina.cat>
21447
21448 * normal/menu_text.c (print_message): Change messages.
21449
7fa7ff74 214502010-01-03 Carles Pina i Estany <carles@pina.cat>
21451
21452 * normal/menu_entry.c (store_completion): Gettextizze.
21453
136d24f6 214542010-01-03 Carles Pina i Estany <carles@pina.cat>
21455
21456 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21457
f936862e 214582010-01-03 Carles Pina i Estany <carles@pina.cat>
21459
21460 * po/POTFILES: Sort correctly.
21461
29c44ad1 214622010-01-03 Carles Pina i Estany <carles@pina.cat>
21463
21464 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21465 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21466 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21467 full stop.
21468 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21469 summary. Gettextizze the strings.
21470 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21471 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21472 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21473 full stop.
21474 (GRUB_MOD_INIT): Remove command name from summary.
21475 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21476 summary.
21477 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21478 * term/i386/pc/serial.c (options): Add full stops.
21479 (GRUB_MOD_INIT): Remove command name from the summary.
21480
77a79592 214812010-01-03 Carles Pina i Estany <carles@pina.cat>
21482
21483 * commands/acpi.c: Gettextizze help strings and/or options. Include
21484 `grub/i18n.h' if needed.
21485 * commands/blocklist.c: Likewise.
21486 * commands/boot.c: Likewise.
21487 * commands/cat.c: Likewise.
21488 * commands/cmp.c: Likewise.
21489 * commands/configfile.c: Likewise.
21490 * commands/crc.c: Likewise.
21491 * commands/date.c: Likewise.
21492 * commands/echo.c: Likewise.
21493 * commands/efi/fixvideo.c: Likewise.
21494 * commands/efi/loadbios.c: Likewise.
21495 * commands/gptsync.c: Likewise.
21496 * commands/halt.c: Likewise.
21497 * commands/handler.c: Likewise.
21498 * commands/hdparm.c: Likewise.
21499 * commands/hexdump.c: Likewise.
21500 * commands/i386/cpuid.c: Likewise.
21501 * commands/i386/pc/drivemap.c: Likewise.
21502 * commands/i386/pc/halt.c: Likewise.
21503 * commands/i386/pc/pxecmd.c: Likewise.
21504 * commands/i386/pc/vbeinfo.c: Likewise.
21505 * commands/i386/pc/vbetest.c: Likewise.
21506 * commands/ieee1275/suspend.c: Likewise.
21507 * commands/keystatus.c: Likewise.
21508 * commands/loadenv.c: Likewise.
21509 * commands/ls.c: Likewise.
21510 * commands/lsmmap.c: Likewise.
21511 * commands/lspci.c: Likewise.
21512 * commands/memrw.c: Likewise.
21513 * commands/minicmd.c: Likewise.
21514 * commands/parttool.c: Likewise.
21515 * commands/password.c: Likewise.
21516 * commands/probe.c: Likewise.
21517 * commands/read.c: Likewise.
21518 * commands/reboot.c: Likewise.
21519 * commands/search.c: Likewise.
21520 * commands/sleep.c: Likewise.
21521 * commands/test.c: Likewise.
21522 * commands/true.c: Likewise.
21523 * commands/usbtest.c: Likewise.
21524 * commands/videotest.c: Likewise.
21525 * commands/xnu_uuid.c: Likewise.
21526 * disk/loopback.c: Likewise.
21527 * hello/hello.c: Likewise.
21528 * loader/i386/bsd.c: Likewise.
21529 * term/i386/pc/serial.c: Likewise.
21530 * po/POTFILES: Add new files.
21531
da8d5c53
CW
215322010-01-02 Colin Watson <cjwatson@ubuntu.com>
21533
21534 * term/i386/pc/at_keyboard.c
21535 (keyboard_controller_wait_untill_ready): Rename to ...
21536 (keyboard_controller_wait_until_ready): ... this. Update all users.
21537
33937904 215382010-01-01 Carles Pina i Estany <carles@pina.cat>
21539
21540 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21541 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21542 string using string width.
21543 * normal/menu_text.c (grub_print_message_indented): Use
21544 grub_print_spaces and not print_spaces.
21545 (print_timeout): Likewise.
21546 (print_spaces): Move to...
21547 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21548
3fd3b8d8
RM
215492010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21550
21551 Import from Gnulib.
21552
21553 * gnulib/getdelim.c: New file.
21554 * gnulib/getline.c: Likewise.
21555
33433555
VS
215562009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21557
21558 * include/grub/list.h (grub_assert_fail): Removed.
21559 (grub_bad_type_cast_real): New function.
21560 (grub_bad_type_cast): New macro.
21561 (GRUB_AS_LIST): Use grub_bad_type_cast.
21562 (GRUB_AS_LIST_P): Likewise.
e44721e8 21563 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21564 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21565 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21566 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21567 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21568
f5a51306
VS
215692009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21572 Fix syntax error.
21573
90d1e879
RM
215742009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21575
21576 * configure.ac: Check for TARGET_CFLAGS initialization before we
21577 initialize it ourselves (sigh).
21578 Move a few modifications to TARGET_CFLAGS to be unconditional
21579 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21580 eh_frame)
21581
21582 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21583 * term/i386/pc/at_keyboard.c
21584 (keyboard_controller_wait_untill_ready): Likewise.
21585 (keyboard_controller_led): Rename `led_status' paramter to avoid
21586 name conflict.
21587
465b5a81 215882009-12-28 Carles Pina i Estany <carles@pina.cat>
21589
21590 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21591 quotes.
21592
c181849b
VS
215932009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21594
21595 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21596
9c8739a4
VS
215972009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * normal/menu_text.c (grub_print_message_indented): Prevent
21600 past-the-end-of-array dereference.
21601
3e74249c
VS
216022009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21603
21604 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21605 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21606
64fd18ed 216072009-12-27 Carles Pina i Estany <carles@pina.cat>
21608
21609 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21610 * normal/main.c (grub_normal_read_line): Remove a space from the
21611 default prompt.
21612
714af9b9 216132009-12-27 Carles Pina i Estany <carles@pina.cat>
21614
21615 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21616 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21617 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21618 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21619 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21620 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21621 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21622
82f3e412 216232009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21624
21625 * video/readers/jpeg.c (cmd): Declare.
21626 (grub_cmd_jpegtest): Use `grub_command_t' type.
21627 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21628 Assign to `cmd'.
21629 (GRUB_MOD_FINI): Use `cmd' to unregister.
21630 * video/readers/png.c (cmd): Declare.
21631 (grub_cmd_pngtest): Use `grub_command_t' type.
21632 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21633 Assign to `cmd'.
21634 (GRUB_MOD_FINI): Use `cmd' to unregister.
21635 * video/readers/tga.c (cmd): Declare.
21636 (grub_cmd_tgatest): Use `grub_command_t' type.
21637 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21638 Assign to `cmd'.
21639 (GRUB_MOD_FINI): Use `cmd' to unregister.
21640
82f3e412 216412009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21642
21643 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21644 stops.
21645 * kern/corecmd.c (grub_register_core_commands): Likewise.
21646 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21647 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21648 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21649 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21650 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21651 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21652 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21653 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21654 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21655 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21656 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21657 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21658 * normal/handler.c (insert_handler): Likewise.
21659 * normal/main.c (GRUB_MOD_INIT): Likewise.
21660 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21661
fdcdbb66 216622009-12-26 Carles Pina i Estany <carles@pina.cat>
21663
21664 * commands/help.c (grub_cmd_help): Print the command name before the
21665 summary.
21666 (GRUB_MOD_INIT): Remove command name from the summary.
21667 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21668 string as summary.
fdcdbb66 21669 * lib/arg.c (find_long): Print the command name before the summary.
21670 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21671 summary.
21672 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21673 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21674 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21675 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21676 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21677 * commands/date.c (GRUB_MOD_INIT): Likewise.
21678 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21679 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21680 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21681 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21682 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21683 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21684 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21685 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21686 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21687 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21688 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21689 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21690 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21691 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21692 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21693 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21694 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21695 * commands/password.c (GRUB_MOD_INIT): Likewise.
21696 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21697 * commands/read.c (GRUB_MOD_INIT): Likewise.
21698 * commands/search.c (GRUB_MOD_INIT): Likewise.
21699 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21700 * commands/test.c (GRUB_MOD_INIT): Likewise.
21701 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21702 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21703 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21704 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21705 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21706 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21707 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21708 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21709 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21710 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21711 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21712 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21713 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21714 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21715
9c288be2
VS
217162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21717
21718 Use search command for preliminar UUID search.
21719
21720 * commands/search.c: Split into ...
21721 * commands/search_wrap.c: ...this
21722 * commands/search.c: ...and this.
21723 * commands/search_file.c: New file.
21724 * commands/search_label.c: New file.
21725 * commands/search_uuid.c: New file.
21726 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21727 Add commands/search_wrap.c, commands/search_file.c,
21728 commands/search_label.c and commands/search_uuid.c.
21729 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21730 (search_mod_SOURCES): Set to commands/search_wrap.c.
21731 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21732 search_label.mod.
21733 (search_fs_file_mod_SOURCES): New variable.
21734 (search_fs_file_mod_CFLAGS): Likewise.
21735 (search_fs_file_mod_LDFLAGS): Likewise.
21736 (search_label_mod_SOURCES): Likewise.
21737 (search_label_mod_CFLAGS): Likewise.
21738 (search_label_mod_LDFLAGS): Likewise.
21739 (search_fs_uuid_mod_SOURCES): New variable.
21740 (search_fs_uuid_mod_CFLAGS): Likewise.
21741 (search_fs_uuid_mod_LDFLAGS): Likewise.
21742 (fs_file_mod_SOURCES): Removed.
21743 (fs_file_mod_CFLAGS): Likewise.
21744 (fs_file_mod_LDFLAGS): Likewise.
21745 (fs_uuid_mod_SOURCES): Removed.
21746 (fs_uuid_mod_CFLAGS): Likewise.
21747 (fs_uuid_mod_LDFLAGS): Likewise.
21748 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21749 Set to util/grub-install.in.
21750 * disk/fs_file.c: Removed.
21751 * disk/fs_uuid.c: Likewise.
21752 * include/grub/search.h: New file.
21753 * util/grub-install.in: Handle sparc64.
21754 Create and use load.cfg.
21755 * util/sparc64/ieee1275/grub-install.in: Removed.
21756
db943399
VS
217572009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21758
21759 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21760 Ignore return status if CF is cleared.
21761 (grub_biosdisk_get_diskinfo_standard): Likewise.
21762
3fdae612
RM
217632009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21764
21765 * term/i386/pc/at_keyboard.c
21766 (keyboard_controller_wait_untill_ready): New function.
21767 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21768 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21769 for keyboard polling, rather than duplicate the same loop. This
21770 saves a few bytes in code size.
21771
7ebaa2b4
VS
217722009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21773
21774 Support for (pxe[:server[:gateway]]) syntax and
21775 use environment variable for PXE.
21776
21777 * commands/i386/pc/pxecmd.c (options): Removed.
21778 (print_ip): Removed.
21779 (grub_cmd_pxe): Removed
21780 (grub_cmd_pxe_unload): New function.
21781 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21782 (grub_pxe_your_ip): Made static.
21783 (grub_pxe_default_server_ip): Likewise.
21784 (grub_pxe_default_gateway_ip): Likewise.
21785 (grub_pxe_blksize): Likewise.
21786 (parse_ip): New function.
21787 (grub_pxe_open): Support server and gateway specification.
21788 (grub_pxe_close): Free disk->data.
21789 (grub_pxefs_open): Use disk->data.
21790 (grub_pxefs_read): Likewise.
21791 (grub_env_write_readonly): New function.
21792 (set_mac_env): Likewise.
21793 (set_env_limn_ro): Likewise.
21794 (parse_dhcp_vendor): Likewise.
21795 (grub_pxe_detect): Set the environment variables.
21796 (set_ip_env): New function.
21797 (write_ip_env): Likewise.
21798 (grub_env_write_pxe_default_server): Likewise.
21799 (grub_env_write_pxe_default_gateway): Likewise.
21800 (grub_env_write_pxe_blocksize): Likewise.
21801 (GRUB_MOD_INIT(pxe)): Set environment variables.
21802 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21803 (grub_pxe_mac_addr_t): ... this. All users updated.
21804 (grub_pxe_your_ip): Removed.
21805 (grub_pxe_server_ip): Likewise.
21806 (grub_pxe_gateway_ip): Likewise.
21807 (grub_pxe_blksize): Likewise.
21808
ec5f98ab 218092009-12-25 Carles Pina i Estany <carles@pina.cat>
21810
21811 * commands/help.c: Include `<grub/i18n.h>'.
21812 (grub_cmd_help): Gettextizze.
21813 (GRUB_MOD_INIT): Likewise.
21814 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21815 (GRUB_MOD_INIT): Gettextizze.
21816 * commands/search.c: Include `<grub/i18n.h>'.
21817 (options): Gettextizze.
21818 (GRUB_MOD_INIT): Gettextizze.
21819 * lib/arg.c: Include `<grub/i18n.h>'.
21820 (help_options): Gettextizze.
21821 (find_long): Likewise.
21822 (grub_arg_show_help): Likewise.
21823 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21824 (read_command_list): Gettextizze.
21825 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21826 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21827
22815526
RM
218282009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21829
21830 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21831 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21832 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21833 (led_status): New variable.
21834 (keyboard_controller_led): New function.
21835 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21836 update led status for caps lock, num lock and scroll lock.
21837
0ad46fd7
FZ
218382009-12-25 Felix Zielcke <fzielcke@z-51.de>
21839
21840 * util/hostdisk.c (open_device): Fix a comment.
21841
d0e158c2
RM
218422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21843
21844 * util/grub-install.in (host_os): New variable.
21845 * util/i386/efi/grub-install.in (host_os): Likewise.
21846
401c0ad6
RM
218472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21848
21849 * util/mkisofs/write.c (padblock_write): Abort when given an
21850 excedingly large embed image, instead of silently truncating it.
21851
d14d3370
RM
218522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21853
21854 * include/multiboot.h: Indentation fixes.
21855
eeed10b4
RM
218562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21857
21858 * include/multiboot.h (struct multiboot_aout_symbol_table)
21859 (struct multiboot_elf_section_header_table): New structure
21860 declarations (stolen from GRUB Legacy).
21861 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21862 table information.
21863
21864 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21865 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21866 type aliases.
21867
681c70ab
RM
218682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21869
21870 * include/multiboot.h: Make comments src2texi-friendly.
21871
e4d47d8d
RM
218722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21873
21874 For consistency with [multiboot]/docs/boot.S.
21875
21876 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21877 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21878 (MULTIBOOT_MAGIC2): Rename from this ...
21879 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21880
a0b70bda
RM
218812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21882
21883 * include/multiboot.h: Remove `<grub/types.h>'.
21884 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21885 types. Update all users.
21886
61ba42be 218872009-12-25 Carles Pina i Estany <carles@pina.cat>
21888
21889 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21890 `couldn't' and `can not' by `cannot'.
21891 * commands/i386/pc/drivemap.c: Likewise.
21892 * disk/ata.c: Likewise.
21893 * disk/ieee1275/nand.c: Likewise.
21894 * fs/affs.c: Likewise.
21895 * fs/fat.c: Likewise.
21896 * fs/hfs.c: Likewise.
21897 * fs/hfsplus.c: Likewise.
21898 * fs/iso9660.c: Likewise.
21899 * fs/jfs.c: Likewise.
21900 * fs/minix.c: Likewise.
21901 * fs/reiserfs.c: Likewise.
21902 * fs/sfs.c: Likewise.
21903 * fs/udf.c: Likewise.
21904 * fs/ufs.c: Likewise.
21905 * fs/xfs.c: Likewise.
21906 * loader/powerpc/ieee1275/linux.c: Likewise.
21907 * loader/sparc64/ieee1275/linux.c: Likewise.
21908 * util/grub-probe.c: Likewise.
21909 * util/misc.c: Likewise.
21910
7fd0baee 219112009-12-24 Carles Pina i Estany <carles@pina.cat>
21912
21913 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21914 grub_errno calls.
21915 * commands/acpi.c: Likewise.
21916 * commands/blocklist.c: Likewise.
21917 * commands/efi/loadbios.c: Likewise.
21918 * commands/i386/pc/drivemap.c: Likewise.
21919 * commands/loadenv.c: Likewise.
21920 * commands/memrw.c: Likewise.
21921 * commands/password.c: Likewise.
21922 * commands/videotest.c: Likewise.
21923 * disk/ata.c: Likewise.
21924 * disk/ata_pthru.c: Likewise.
21925 * disk/dmraid_nvidia.c: Likewise.
21926 * disk/ieee1275/nand.c: Likewise.
21927 * disk/ieee1275/ofdisk.c: Likewise.
21928 * disk/loopback.c: Likewise.
21929 * disk/lvm.c: Likewise.
21930 * disk/mdraid_linux.c: Likewise.
21931 * disk/raid.c: Likewise.
21932 * disk/raid6_recover.c: Likewise.
21933 * disk/scsi.c: Likewise.
21934 * efiemu/main.c: Likewise.
21935 * efiemu/mm.c: Likewise.
21936 * efiemu/pnvram.c: Likewise.
21937 * efiemu/symbols.c: Likewise.
21938 * font/font.c: Likewise.
21939 * fs/cpio.c: Likewise.
21940 * fs/hfsplus.c: Likewise.
21941 * fs/iso9660.c: Likewise.
21942 * fs/jfs.c: Likewise.
21943 * fs/minix.c: Likewise.
21944 * fs/ntfs.c: Likewise.
21945 * fs/ntfscomp.c: Likewise.
21946 * fs/reiserfs.c: Likewise.
21947 * fs/ufs.c: Likewise.
21948 * fs/xfs.c: Likewise.
21949 * gettext/gettext.c: Likewise.
21950 * include/grub/auth.h: Likewise.
21951 * kern/elf.c: Likewise.
21952 * kern/file.c: Likewise.
21953 * kern/ieee1275/init.c: Likewise.
21954 * kern/ieee1275/mmap.c: Likewise.
21955 * kern/ieee1275/openfw.c: Likewise.
21956 * kern/powerpc/dl.c: Likewise.
21957 * kern/sparc64/dl.c: Likewise.
21958 * lib/arg.c: Likewise.
21959 * loader/i386/bsd.c: Likewise.
21960 * loader/i386/bsdXX.c: Likewise.
21961 * loader/i386/efi/linux.c: Likewise.
21962 * loader/i386/efi/xnu.c: Likewise.
21963 * loader/i386/ieee1275/linux.c: Likewise.
21964 * loader/i386/linux.c: Likewise.
21965 * loader/i386/multiboot.c: Likewise.
21966 * loader/i386/pc/linux.c: Likewise.
21967 * loader/i386/pc/multiboot2.c: Likewise.
21968 * loader/i386/xnu.c: Likewise.
21969 * loader/ieee1275/multiboot2.c: Likewise.
21970 * loader/macho.c: Likewise.
21971 * loader/machoXX.c: Likewise.
21972 * loader/multiboot2.c: Likewise.
21973 * loader/multiboot_loader.c: Likewise.
21974 * loader/powerpc/ieee1275/linux.c: Likewise.
21975 * loader/sparc64/ieee1275/linux.c: Likewise.
21976 * loader/xnu.c: Likewise.
21977 * loader/xnu_resume.c: Likewise.
21978 * mmap/i386/pc/mmap.c: Likewise.
21979 * normal/menu_viewer.c: Likewise.
21980 * partmap/acorn.c: Likewise.
21981 * partmap/amiga.c: Likewise.
21982 * partmap/apple.c: Likewise.
21983 * script/lexer.c: Likewise.
21984 * term/gfxterm.c: Likewise.
21985 * term/i386/pc/serial.c: Likewise.
21986 * term/i386/pc/vga.c: Likewise.
21987 * term/ieee1275/ofconsole.c: Likewise.
21988 * term/terminfo.c: Likewise.
21989 * video/bitmap.c: Likewise.
21990 * video/efi_gop.c: Likewise.
21991 * video/efi_uga.c: Likewise.
21992 * video/fb/video_fb.c: Likewise.
21993 * video/i386/pc/vbe.c: Likewise.
21994 * video/readers/tga.c: Likewise.
21995 * video/video.c: Likewise.
21996
0ad46fd7 219972009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21998
21999 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22000 * commands/lspci.c: Likewise.
22001 * commands/probe.c: Likewise.
22002 * commands/xnu_uuid.c: Likewise.
22003 * conf/i386-coreboot.rmk: Likewise.
22004 * conf/i386-efi.rmk: Likewise.
22005 * conf/i386-ieee1275.rmk: Likewise.
22006 * conf/i386-pc.rmk: Likewise.
22007 * conf/powerpc-ieee1275.rmk: Likewise.
22008 * conf/sparc64-ieee1275.rmk: Likewise.
22009 * conf/x86_64-efi.rmk: Likewise.
22010 * fs/i386/pc/pxe.c: Likewise.
22011 * gettext/gettext.c: Likewise.
22012 * include/grub/efi/graphics_output.h: Likewise.
22013 * include/grub/i386/pc/memory.h: Likewise.
22014 * kern/env.c: Likewise.
22015 * kern/i386/qemu/startup.S: Likewise.
22016 * lib/i386/pc/biosnum.c: Likewise.
22017 * lib/i386/relocator.c: Likewise.
22018 * lib/i386/relocator_asm.S: Likewise.
22019 * lib/relocator.c: Likewise.
22020 * loader/i386/bsd.c: Likewise.
22021 * loader/i386/multiboot.c: Likewise.
22022 * loader/i386/pc/chainloader.c: Likewise.
22023 * loader/i386/xnu.c: Likewise.
22024 * loader/xnu.c: Likewise.
22025 * normal/main.c: Likewise.
22026 * normal/menu_text.c: Likewise.
22027 * util/getroot.c: Likewise.
22028 * util/grub-mkconfig_lib.in: Likewise.
22029 * util/grub.d/00_header.in: Likewise.
22030 * util/i386/pc/grub-mkimage.c: Likewise.
22031 * util/mkisofs/eltorito.c: Likewise.
22032 * util/mkisofs/exclude.h: Likewise.
22033 * util/mkisofs/hash.c: Likewise.
22034 * util/mkisofs/iso9660.h: Likewise.
22035 * util/mkisofs/joliet.c: Likewise.
22036 * util/mkisofs/mkisofs.c: Likewise.
22037 * util/mkisofs/mkisofs.h: Likewise.
22038 * util/mkisofs/multi.c: Likewise.
22039 * util/mkisofs/name.c: Likewise.
22040 * util/mkisofs/rock.c: Likewise.
22041 * util/mkisofs/tree.c: Likewise.
22042 * util/mkisofs/write.c: Likewise.
22043 * video/efi_gop.c: Likewise.
22044
009ec743
VS
220452009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22048 size counting.
22049
0ad46fd7 220502009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22051
22052 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22053 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22054
d3d30ea0
VS
220552009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22056
22057 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22058 (GRUB_MOD_INIT(memrw)): Update help line.
22059
a34f5c70
VS
220602009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22061
22062 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22063 Use grub_extcmd_t. All users updated.
22064 (options): New variable.
22065 (grub_cmd_read): Restructure for readability. Support "-v" option.
22066 (grub_cmd_write): Restructure for readability.
22067
0ad46fd7 220682009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22069
22070 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22071
0ad46fd7 220722009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22073
22074 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22075 with the actual contents of the correspondending make variable.
22076 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22077 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22078 specifying `*.lst' and `efiemu??.o'
22079
0ad46fd7 220802009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22081
22082 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22083 after function name.
22084 Noticed by Rene Engelhard <rene@debian.org>.
22085
dc77a799
VS
220862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22087
22088 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22089 (options): New variable.
22090 (iospace): Likewise.
22091 (grub_lspci_iter): List IO spaces if "-i" was given.
22092 (grub_cmd_lspci): Parse options.
22093 (GRUB_MOD_INIT(lspci)): Use extcmd.
22094 (GRUB_MOD_FINI(lspci)): Likewise.
22095
0ad46fd7 220962009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22097
22098 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22099 `function' keyword.
22100 Patch by Tony Mancill <tmancill@debian.org>.
22101
b5d5993b
VS
221022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22103
22104 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22105 (grub_uhci_portstatus): Likewise.
22106 (grub_uhci_portstatus): Add necessary delay.
11d18281 22107 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22108
941903f2 221092009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22110
941903f2 22111 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22112 (GRUB_MOD_INIT): Likewise.
22113 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22114 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22115 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22116 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22117 (enable_rom_area): Likewise.
22118 (GRUB_MOD_INIT): Likewise.
22119 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22120 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22121 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22122 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22123 * commands/hexdump.c (options): Likewise.
22124 * commands/i386/cpuid.c (options): Likewise.
22125 (GRUB_MOD_INIT): Likewise.
22126 * commands/i386/pc/drivemap.c (options): Likewise.
22127 (GRUB_MOD_INIT): Likewise.
22128 * commands/i386/pc/halt (options): Likewise.
22129 (GRUB_MOD_INIT): Likewise.
22130 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22131 * commands/i386/pc/pxecmd.c (options): Likewise.
22132 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22133 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22134 * commands/keystatus.c (options): Likewise.
22135 (GRUB_MOD_INIT): Likewise.
22136 * commands/loadenv.c (options): Likewise.
22137 * commands/ls.c (options): Likewise.
22138 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22139 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22140 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22141 * commands/parttool.c (helpmsg): Likewise.
22142 * commands/probe.c (options): Likewise.
22143 * commands/read.c (GRUB_MOD_INIT): Likewise.
22144 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22145 * commands/search.c (options): Likewise.
22146 * commands/sleep.c (options): Likewise.
22147 * commands/test.c (GRUB_MOD_INIT): Likewise.
22148 * commands/true.c (GRUB_MOD_INIT): Likewise.
22149 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22150 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22151 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22152 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22153 `$(XGETTEXT)'.
98a50553 22154 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22155
0ad46fd7 221562009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22157
ef3c2c3a 22158 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22159 instead of specifying them explicit.
22160
7922f68b
RM
221612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22162
22163 * NEWS: Add grub-probe support for GNU/Hurd.
22164
537ce47f
RM
221652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22166
22167 * NEWS: gettext was added after 1.97.
22168
9b214e3a
RM
221692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22170
22171 * util/mkisofs/msdos_partition.h: New file (based on
22172 include/grub/msdos_partition.h).
22173 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22174 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22175 (ld_options, main): Recognize --protective-msdos-label.
22176 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22177 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22178 (padblock_write): If `use_protective_msdos_label' is set, patch a
22179 protective DOS-style label in the output image.
22180
22181 * util/grub-mkrescue.in: Use --protective-msdos-label.
22182
e9309813
RM
221832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22184
22185 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22186 boot.
22187
0ae56929
RM
221882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22189
22190 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22191 variables.
22192 (ld_options, main): Recognize `--embedded-boot'.
22193 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22194 declarations.
22195 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22196 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22197 (padblock_write): Likewise. Rewrite to support embedded boot image.
22198
22199 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22200 for BIOS-based disk boot instead of only ElTorito.
22201
b15937b1
RM
222022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22203
22204 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22205 build (not needed for bootstrap).
22206
52cc3ce0
RM
222072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22208
22209 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22210 from i386-pc build (not needed for bootstrap).
22211 Rewrite a pair of strings.
22212
36f5ff04
RM
222132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22214
22215 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22216
973c6c85 222172009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22218
22219 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22220
05d21547
AB
222212009-12-21 Andreas Born <futur.andy@googlemail.com>
22222
22223 * kern/env.c (grub_env_context_open): Mark exported variable for
22224 reexport.
22225
0175d51f
AB
222262009-12-21 Andreas Born <futur.andy@googlemail.com>
22227
22228 * kern/env.c (grub_env_export): Create nonexistent variables before
22229 exporting.
22230
7f39d92f 222312009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22232
7f39d92f 22233 * include/grub/auth.h: Include `<grub/i18n.h>'.
22234 (GRUB_GET_PASSWORD): Gettextizze string.
22235 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22236 menu_text.c.
22237 (grub_utf8_to_ucs4_alloc): Fix indentation.
22238 (grub_print_ucs4): Likewise.
22239 (grub_getstringwidth): Likewise.
22240 (print_message_indented): New declaration.
22241 * normal/auth.c: Include `<grub/i18n.h>'.
22242 (grub_auth_check_authentication): Gettexttize string.
22243 * normal/cmdline.c: Include `<grub/i18n.h>'.
22244 (grub_cmdline_get): Gettextizze.
22245 * normal/color.c: Include `<grub/i18n.h>'.
22246 (grub_parse_color_name_pair): Gettexttize strings.
22247 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22248 string (use `print_message_indented').
22249 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22250 `include/grub/normal.h'.
22251 (print_message_indented): Renamed to ...
22252 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22253 used in normal/main.c).
22254 (print_message): Use `grub_print_message_indented' instead of
22255 `print_message_indented'.
22256 (print_timeout): Likewise.
22257 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22258 (grub_normal_print_device_info): Gettexttize strings.
22259 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22260
3041d898
VS
222612009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22264 of arguments. Return number of tokens and not arguments. All users
22265 updated.
22266
de15bf8e
VS
222672009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22268
22269 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22270 non-MSDOS paritions.
22271
e0a6ca52
VS
222722009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22273
22274 * include/grub/types.h (UNUSED): Removed since it conflicts with
22275 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22276 Reported by Grégoire Sutre.
22277
b99518d1 222782009-12-19 Carles Pina i Estany <carles@pina.cat>
22279
22280 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22281 (grub_print_ucs4_alloc): Likewise.
22282 (grub_getstringwidth): Likewise.
22283 * normal/main.c (grub_normal_init_page): Gettextize version string.
22284 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22285 (getstringwidth): Renamed to ...
22286 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22287 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22288 (grub_print_ucs4): Remove `static' qualifer (now used in
22289 normal/main.c).
22290 * po/POTFILES: Add normal/main.c.
22291
bfd5e52b 222922009-12-19 Carles Pina i Estany <carles@pina.cat>
22293
22294 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22295 (print_message_indented): Add `margin_left' and `margin_right'
22296 parameters.
22297 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22298 strings.
22299 (print_timeout): Use `print_message_indented' to print the message.
22300 Deletes `second_stage' parameter.
22301 (run_menu): Update `print_timeout' calls.
22302
5a1ad2b9
VS
223032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 Fix console palette on OpenFirmware.
22306
22307 * term/ieee1275/ofconsole.c (MAX): Removed.
22308 (colors): Redone based on VGA palette.
22309 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22310 colors are supported.
22311 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22312
b045f00a
VS
223132009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 Fix potential EfiEmu double prepare.
22316
22317 * efiemu/main.c (prepared): New variable
22318 (grub_efiemu_unload): Set prepare to '0'.
22319 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22320
22321 set_virtual_address_map support.
22322
22323 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22324 prototype.
22325 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22326 prototype.
22327 (grub_efiemu_crc32): Likewise.
22328 (grub_efiemu_crc64): Likewise.
22329 (grub_efiemu_set_virtual_address_map): Likewise.
22330 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22331 New definition.
22332 (grub_autoefi_set_virtual_address_map): Likewise.
22333 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22334 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22335 Restructure flow to accomodate it.
22336 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22337 (grub_efiemu_crc): Recompute CRC32.
22338 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22339 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22340 * efiemu/symbols.c (relocated_handle): New variable.
22341 (grub_efiemu_free_syms): Free relocated_handle.
22342 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22343 (grub_efiemu_write_sym_markers): New function.
22344 (grub_efiemu_set_virtual_address_map): Likewise.
22345
22346 Newer XNU parameters.
22347
22348 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22349 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22350 (grub_xnu_fill_devicetree): New prototype.
22351 (grub_xnu_heap_real_start): New variable.
22352 * loader/xnu.c (get_name_ptr): New function.
22353 (grub_xnu_load_driver): Fill namelen and name.
22354
22355 64-bit xnu support.
22356
22357 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22358 and 'loader/macho64.c'.
22359 * conf/i386-pc.rmk: Likewise.
22360 * conf/x86_64-efi.rmk: Likewise.
22361 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22362 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22363 * include/grub/macho.h (grub_macho_segment64): New structure.
22364 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22365 (grub_macho_size32): ... to this.
22366 (grub_macho32_get_entry_point): Renamed from ...
22367 (grub_macho_get_entry_point32): ... to this.
22368 (grub_macho_contains_macho64): New prototype.
22369 (grub_macho_size64): Likewise.
22370 (grub_macho_get_entry_point64): Likewise.
22371 (grub_macho32_load): Renamed from ...
22372 (grub_macho_load32): ... to this.
22373 (grub_macho32_filesize): Renamed from ...
22374 (grub_macho_filesize32): ... to this.
22375 (grub_macho32_readfile): Renamed from ...
22376 (grub_macho_readfile32): ... to this.
22377 (grub_macho_filesize64): New prototype.
22378 (grub_macho_readfile64): Likewise.
22379 (grub_macho_parse32): Likewise.
22380 (grub_macho_parse64): Likewise.
22381 * loader/macho.c: Split into ...
22382 * loader/machoXX.c: ... and this. Replace 32 with XX.
22383 * loader/macho32.c: New file.
22384 * loader/macho64.c: Likewise.
22385 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22386 (grub_cmd_xnu_kernel): Make 32-bit only.
22387 (grub_cmd_xnu_kernel64): New function.
22388 (grub_xnu_load_driver): Support Mach-O 64.
22389 (grub_cmd_xnu_mkext): Likewise.
22390 * util/grub.d/30_os-prober.in (osx_entry): New function.
22391 Generate entries for 64-bit boot too.
22392
22393 Eliminate ad-hoc tree format in XNU and EfiEmu.
22394
22395 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22396 * efiemu/pnvram.c: Rewritten to use environment variables.
22397 All users updated.
22398
22399 Inline utf16_to_utf8.
22400
22401 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22402 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22403 All users updated.
22404 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22405
22406 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22407 * commands/usbtest.c (grub_usb_get_string): ... move here.
22408 (usb_print_str): Fix error handling.
22409 * include/grub/usb.h (grub_usb_get_string): Remove.
22410
22411 UTF-8 to UTF-16 transformation.
22412
22413 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22414 (charset_mod_SOURCES): New variable.
22415 (charset_mod_CFLAGS): Likewise.
22416 (charset_mod_LDFLAGS): Likewise.
22417 * include/grub/utf.h: New file.
22418 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22419
22420 Support for device properties.
22421
22422 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22423 (grub_xnu_devprop_device_header): Likewise.
22424 (grub_xnu_devprop_device_descriptor): Likewise.
22425 (grub_xnu_devprop_add_device): New prototype.
22426 (grub_xnu_devprop_remove_device): Likewise.
22427 (grub_xnu_devprop_remove_property): Likewise.
22428 (grub_xnu_devprop_add_property_utf8): Likewise.
22429 (grub_xnu_devprop_add_property_utf16): Likewise.
22430 (grub_cpu_xnu_init): Likewise.
22431 (grub_cpu_xnu_fini): Likewise.
22432 (grub_cpu_xnu_unload): Likewise.
22433 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22434 (property_descriptor): Likewise.
22435 (devices): New variable.
22436 (grub_xnu_devprop_remove_property): New function.
22437 (grub_xnu_devprop_add_device): Likewise.
22438 (grub_xnu_devprop_remove_device): Likewise.
22439 (grub_xnu_devprop_add_property): Likewise.
22440 (grub_xnu_devprop_add_property_utf8): Likewise.
22441 (grub_xnu_devprop_add_property_utf16): Likewise.
22442 (hextoval): Likewise.
22443 (grub_cpu_xnu_fill_devprop): Likewise.
22444 (grub_cmd_devprop_load): Likewise.
22445 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22446 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22447 (cmd_devprop_load): New variable.
22448 (grub_cpu_xnu_init): New function.
22449 (grub_cpu_xnu_fini): Likewise.
22450 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22451 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22452 (grub_cmd_xnu_devtree): Likewise.
22453 (hextoval): New function.
22454 (unescape): Likewise.
22455 (grub_xnu_fill_devicetree): Likewise.
22456
22457 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22458 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22459
0945f181
VS
224602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22461
22462 Workaround for broken ATI VBE.
22463
22464 * video/i386/pc/vbe.c (last_set_mode): New variable.
22465 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22466 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22467 (grub_video_vbe_setup): Don't check for reserved flag.
22468
0ad46fd7 224692009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22470
22471 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22472 the `find' command.
22473
c179ebe4
VS
224742009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22475
22476 UUID support for HFS.
22477
22478 * fs/hfs.c (grub_hfs_uuid): New function.
22479 (grub_hfs_fs): New value .uuid.
22480 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22481
0ad46fd7 224822009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22483
22484 Fix a segfault with parsing unknown long options.
22485
22486 * util/grub-mkrelpath.c (options): Zero terminate it.
22487
c4a3e41a
CPE
224882009-12-13 Carles Pina i Estany <carles@pina.cat>
22489
22490 * include/grub/misc.h (grub_puts): New declaration.
22491 (grub_puts_): Likewise.
a22008a6 22492 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22493 (grub_puts_): Likewise.
22494
2e8a7602
RM
224952009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22496
22497 * util/grub-probe.c (probe): Improve error message.
22498
b50b77b9
RM
224992009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22500
22501 * loader/i386/multiboot_elfxx.c
22502 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22503 initialization.
22504
225052009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 Relocator framework
22508
22509 * loader/i386/xnu_helper.S: Removed. All users updated.
22510 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22511 (relocator_mod_SOURCES): New variable.
22512 (relocator_mod_CFLAGS): Likewise.
22513 (relocator_mod_LDFLAGS): Likewise.
22514 (relocator_mod_ASFLAGS): Likewise.
22515 * conf/x86_64.rmk: Likewise.
22516 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22517 (grub_multiboot_payload_entry_offset): Likewise.
22518 (grub_multiboot_forward_relocator): Likewise.
22519 (grub_multiboot_forward_relocator_end): Likewise.
22520 (grub_multiboot_backward_relocator): Likewise.
22521 (grub_multiboot_backward_relocator_end): Likewise.
22522 (grub_multiboot_payload_eip): New variable.
22523 (grub_multiboot_payload_orig): Likewise.
22524 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22525 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22526 * include/grub/i386/memory.h
22527 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22528 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22529 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22530 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22531 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22532 * include/grub/i386/relocator.h: New file.
22533 * include/grub/x86_64/relocator.h: Likewise.
22534 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22535 (XNU_RELOCATOR): New macro.
22536 (grub_xnu_launcher_start): Remove.
22537 (grub_xnu_launcher_end): Likewise.
22538 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22539 (grub_xnu_heap_real_start): Remove.
22540 (grub_xnu_heap_start): Change to void *. All users updated.
22541 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22542 * lib/i386/relocator.c: New file.
22543 * lib/i386/relocator_asm.S: Likewise.
22544 * lib/i386/relocator_backward.S: Likewise.
22545 * lib/mips/relocator.c: Likewise.
22546 * lib/mips/relocator_asm.S: Likewise.
22547 * lib/relocator.c: Likewise.
22548 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22549 (entry): Removed.
22550 (playground): Likewise.
22551 (grub_multiboot_payload_orig): New variable.
22552 (grub_multiboot_payload_dest): Likewise.
22553 (grub_multiboot_payload_size): Likewise.
22554 (grub_multiboot_payload_eip): Likewise.
22555 (grub_multiboot_payload_esp): Likewise.
22556 (grub_multiboot_boot): Use grub_relocator32_boot.
22557 (grub_multiboot_unload): Free relocators.
22558 (grub_multiboot): Setup stack. Use relocators.
22559 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22560 (grub_multiboot_load_elfXX): Use relocators.
22561 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22562 (grub_multiboot_payload_size): Likewise.
22563 (grub_multiboot_payload_dest): Likewise.
22564 (grub_multiboot_payload_entry_offset): Likewise.
22565 (grub_multiboot_forward_relocator): Likewise.
22566 (grub_multiboot_backward_relocator): Likewise.
22567 (grub_multiboot_real_boot): Likewise.
22568 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22569 (grub_xnu_entry_point): Likewise.
22570 (grub_xnu_arg1): Likewise.
22571 (grub_xnu_stack): Likewise.
22572 (grub_xnu_launch): Removed.
22573 (grub_xnu_boot_resume): New function.
22574 (grub_xnu_boot): Use relocators.
22575 * loader/i386/xnu_helper.S: Removed.
22576 * loader/xnu.c (grub_xnu_heap_start): New variable.
22577 (grub_xnu_heap_size): Likewise.
22578 (grub_xnu_heap_malloc): Use relocators.
22579 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22580
29eb90c6
VS
225812009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22584 anything.
22585
31027430
CPE
225862009-12-13 Carles Pina i Estany <carles@pina.cat>
22587
22588 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22589 GRUB_ERR_NONE before calling grub_env_set.
22590
dc0c71d9
RM
225912009-12-12 Robert Millan <rmh@aybabtu.com>
22592
22593 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22594 * genmk.rb (video): New variable.
22595 (CLEANFILES, VIDEOFILES): Add #{video}.
22596 (#{video}): New target rule.
22597 * genvideolist.sh: New file.
22598 * Makefile.in (pkglib_DATA): Add video.lst.
22599 (video.lst): New target rule.
22600 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22601 `video.lst'.
22602 * util/grub.d/30_os-prober.in: Replace `vbe' with
22603 ${GRUB_VIDEO_BACKEND}.
22604
2a4bfcf0
RM
226052009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22606
22607 * THANKS: Add David Miller.
22608
2a3aa4d5
RM
226092009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 libpciaccess support.
22612
22613 * Makefile.in (LIBPCIACCESS): New variable.
22614 (enable_grub_emu_pci): Likewise.
22615 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22616 util/pci.c and commands/lspci.c.
22617 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22618 * configure.ac (grub-emu-pci): New option.
22619 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22620 (grub_pci_device_unmap_range): Likewise.
22621 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22622 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22623 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22624 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22625 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22626 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22627 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22628 * include/grub/pciutils.h: New file.
22629 * util/pci.c: Likewise.
22630
0ad46fd7 226312009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22632
22633 * util/misc.c: Don't include <errno.h> twice.
22634
0ad46fd7 226352009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22636
22637 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22638 name in an error message.
22639 (grub_biosdisk_rw): Likewise.
22640
2e59983c
VS
226412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 Eliminate NTFS 4Gib barrier.
22644
22645 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22646 (read_run_data): Likewise.
22647 (grub_ntfs_read_run_list): Likewise.
22648 (grub_ntfs_read_block): Likewise.
22649 (grub_ntfs_iterate_dir): Likewise.
22650 (read_mft): Likewise.
22651 (read_data): Likewise.
22652 Use COM_LOG_LEN.
22653 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22654 to avoid 64-bit division
22655 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22656 (grub_ntfs_rlst): Use grub_disk_addr_t.
22657
71ee178a
VS
226582009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22659
22660 Eliminate grub-fstest 4Gib barrier.
22661
22662 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22663 (read_file): Fix error reporting.
22664
2520d4b8
VS
226652009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 Eliminate hexdump 4Gib barrier.
22668
22669 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22670 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22671
e1f27065
VS
226722009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22673
22674 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22675 Fixes amarsh bug.
22676
1a0f7f45
RM
226772009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22678
22679 Remove miscellaneous files in distclean target.
22680
22681 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22682
c631d9fb
CW
226832009-12-09 Colin Watson <cjwatson@ubuntu.com>
22684
22685 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22686 if they're already set. This resolves the conflict between my
22687 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22688 fixing the --grub-probe option again.
22689 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22690 change on 2009-10-06, so that we now once again source
22691 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22692
7c7b6106
RM
226932009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22694
22695 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22696 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22697 `util/devicemap.c'.
22698
e3069ec1
CPE
226992009-12-08 Carles Pina i Estany <carles@pina.cat>
22700
22701 * include/grub/misc.h (grub_printf_): New declaration.
22702 * kern/misc.c (grub_printf_): New definition.
22703 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22704 instead of `grub_printf' and `_'.
22705 * normal/menu_entry.c (store_completion): Likewise.
22706 (run): Likewise.
22707 (grub_menu_entry_run): Likewise.
22708 * normal/menu_text.c (grub_wait_after_message): Likewise.
22709 (notify_booting): Likewise.
22710 (notify_fallback): Likewise.
22711 (notify_execution_failure): Likewise.
22712
d6ceebf1
CW
227132009-12-07 Colin Watson <cjwatson@ubuntu.com>
22714
22715 * configure.ac: Check for vasprintf.
22716 * util/misc.c (asprintf): Move allocation from here ...
22717 (vasprintf): ... to here. New function.
22718 (xasprintf): New function.
22719 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22720 prototypes.
22721 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22722 * util/grub-mkfont.c (write_font): Likewise.
22723 * util/grub-probe.c (probe): Likewise.
22724 * util/hostdisk.c (make_device_name): Likewise.
22725
de6daa8b
DM
227262009-12-06 David S. Miller <davem@sunset.davemloft.net>
22727
22728 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22729 anything even prefixed with 'cdrom' as a cdrom.
22730
0ad46fd7 227312009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22732
22733 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22734 mount points.
22735
98d3dc02
CPE
227362009-12-05 Carles Pina i Estany <carles@pina.cat>
22737
22738 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22739 grub_gettext_msg_list.
22740 (grub_gettext_gettranslation_from_position): Return const char *
22741 and not char *.
a2c1332b 22742 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22743 returns from the list if existing there.
22744 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22745 (grub_gettext_delete_list): Delete the list.
22746 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22747 lang environment variable is changed.
22748 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22749
b283f108
VS
227502009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22751
22752 Rename kernel.mod to kernel.img.
22753
22754 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22755 (kernel_mod_EXPORTS): Rename to ...
22756 (kernel_img_EXPORTS): ... this.
22757 (kernel_mod_SOURCES): Rename to ...
22758 (kernel_img_SOURCES): ... this.
22759 (kernel_mod_HEADERS): Rename to ...
22760 (kernel_img_HEADERS): ... this. All users updated.
22761 (kernel_mod_CFLAGS): Rename to ...
22762 (kernel_img_CFLAGS): ... this.
22763 (kernel_mod_ASFLAGS): Rename to ...
22764 (kernel_img_ASFLAGS): ... this.
22765 (kernel_mod_LDFLAGS): Rename to ...
22766 (kernel_img_LDFLAGS): ... this.
22767 * conf/x86_64-efi.rmk: Likewise.
22768 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22769 (read_kernel_image): ... this. All users updated.
22770 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22771
69055f8a
CPE
227722009-12-05 Carles Pina i Estany <carles@pina.cat>
22773
22774 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22775 (print_spaces): New function.
22776 (grub_print_ucs4): New function.
22777 (getstringwidth): New function.
22778 (print_message_indented): New function.
22779 (print_message): Gettexttize strings using print_message_indented.
22780 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22781 width.
22782 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22783 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22784 Gettextize.
22785 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22786 string.
22787 (run): Likewise.
22788 (grub_menu_entry_run): Likewise.
22789 * PO/POTFILES: Add normal/menu_entry.c.
22790
f616f51c
VS
227912009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22792
22793 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22794
57bbe3be
CPE
227952009-12-05 Carles Pina i Estany <carles@pina.cat>
22796
22797 * util/grub-install.in: Install gettext .mo files.
22798 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22799
013d67a1
CPE
228002009-12-05 Carles Pina i Estany <carles@pina.cat>
22801
22802 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22803 grub_dprintf.
22804
fb954db0
RM
228052009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22806
22807 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22808 non-firmware-dependant one in realmode.S takes precedence.
22809
6b8474f8
RM
228102009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22811
22812 * commands/halt.c: Replace misc arch-specific headers with
22813 `<grub/misc.h>'.
22814 * commands/reboot.c: Likewise.
22815 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22816 `<grub/misc.h>'.
22817 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22818 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22819 (kernel_img_SOURCES): ... to here.
22820
22821 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22822 * include/grub/i386/pc/init.h: Likewise.
22823 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22824 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22825
22826 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22827
22828 * include/grub/i386/halt.h: Remove.
22829 * include/grub/i386/reboot.h: Likewise.
22830
22831 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22832
4b2e6ca2
DM
228332009-12-03 David S. Miller <davem@sunset.davemloft.net>
22834
22835 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22836 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22837 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22838 "progname.h"
22839 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22840 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22841 (usage): Add missing comma in printf.
22842
5239348f
RM
228432009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22844
22845 Use the same reboot approach on i386 coreboot and qemu as we do on
22846 BIOS.
22847
22848 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22849 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22850 * kern/i386/reboot.c: Remove.
22851 * include/grub/i386/reboot.h (grub_reboot): Export function.
22852 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22853 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22854 0xf000:0xfff0 instead of 0xffff:0x0000.
22855 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22856 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22857
ef34cbd4
RM
228582009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22859
22860 Fix $srcdir != $objdir build.
22861
22862 * Makefile.in (po/%.po): Rewrite as ...
22863 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22864
dc9837ea
ST
228652009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22866
22867 Fix GNU/Hurd grub-install crash.
22868 * util/grub-probe.c (probe): Try to access `path' only when it is not
22869 NULL.
22870
2f857f98
VS
228712009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22872
22873 Correct module naming.
22874
22875 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22876 (GRUB_MOD_INIT(efi_uga)): ... to this
22877 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22878 (GRUB_MOD_FINI(efi_uga)): ... to this
22879 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22880 (GRUB_MOD_INIT(efi_gop)): ... to this
22881 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22882 (GRUB_MOD_FINI(efi_gop)): ... to this
22883
c5448046
RM
228842009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22885
22886 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22887 translatable.
22888 (usage): Translate `arg' strings using gettext().
22889 Thanks to Jordi Mallach for the suggestion.
22890
c85184ad
VS
228912009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22892
22893 GOP support. Based on patch from Bean
22894 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22895
22896 * video/efi_gop.c: New file.
22897 * include/grub/efi/graphics_output.h: Likewise.
22898 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22899 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22900 variables.
22901 * conf/x86_64-efi.rmk: Likewise.
22902
8a4c48d8
VS
229032009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 Rename efi_fb to efi_uga.
22906
22907 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22908 'efi_uga.mod'.
22909 (efi_fb_mod_SOURCES): Rename this ...
22910 (efi_uga_mod_SOURCES): ... to this.
22911 (efi_fb_mod_CFLAGS): Rename this ...
22912 (efi_uga_mod_CFLAGS): ... to this.
22913 (efi_fb_mod_LDFLAGS): Rename this ...
22914 (efi_uga_mod_LDFLAGS): ... to this.
22915 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22916 'efi_uga.mod'.
22917 (efi_fb_mod_SOURCES): Rename this ...
22918 (efi_uga_mod_SOURCES): ... to this.
22919 (efi_fb_mod_CFLAGS): Rename this ...
22920 (efi_uga_mod_CFLAGS): ... to this.
22921 (efi_fb_mod_LDFLAGS): Rename this ...
22922 (efi_uga_mod_LDFLAGS): ... to this.
22923 * video/efi_fb.c: Move this ...
22924 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22925
fb6c1a7b
RM
229262009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22927
22928 * po/README: New file. Explain our PO file workflow.
22929
3bc7896c
RM
229302009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22931
22932 * po/ChangeLog: Remove. Move relevant entries back to ...
22933 * ChangeLog: ... here.
22934 * po/ca.po: Remove (now handled by TLP).
22935 * po/id.po: Likewise.
22936 * po/zh_CN.po: Likewise.
22937 * Makefile.in (LINGUAS): Initialize in a way that supports
22938 empty set.
22939
9ed4841d
RM
229402009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22941
22942 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22943 reliing on po/LINGUAS.
22944 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22945 (po/%.po): ... this.
22946
0ad46fd7 229472009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22948
22949 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22950 (main): Use `program_name' instead of nonexistent `progname'.
22951
e30dd392
FZ
229522009-11-26 Felix Zielcke <fzielcke@z-51.de>
22953
22954 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22955 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22956
7656de4f
RM
229572009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22958
22959 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22960 commit.
22961 * conf/i386-efi.rmk: Likewise.
22962 * conf/i386-ieee1275.rmk: Likewise.
22963 * conf/powerpc-ieee1275.rmk: Likewise.
22964 * conf/sparc64-ieee1275.rmk: Likewise.
22965 * conf/x86_64-efi.rmk: Likewise.
22966
db77c4d4
FZ
229672009-11-26 Felix Zielcke <fzielcke@z-51.de>
22968
22969 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22970
a755bb04
FZ
229712009-11-26 Felix Zielcke <fzielcke@z-51.de>
22972
22973 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22974
8a4c07fd
RM
229752009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22976
22977 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22978 (grub_mkdevicemap_SOURCES): New variable.
22979 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22980 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22981 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22982 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22983 (grub_mkdevicemap_SOURCES): Remove.
22984 * conf/i386-efi.rmk: Likewise.
22985 * conf/i386-ieee1275.rmk: Likewise.
22986 * conf/i386-pc.rmk: Likewise.
22987 * conf/powerpc-ieee1275.rmk: Likewise.
22988 * conf/sparc64-ieee1275.rmk: Likewise.
22989 * conf/x86_64-efi.rmk: Likewise.
22990 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22991 (usage): Fix strings to use `program_name'.
22992 (main): Initialize gettext.
22993 * util/grub-editenv.c: Likewise.
22994 * util/grub-emu.c: Likewise.
22995 * util/grub-fstest.c: Likewise.
22996 * util/grub-mkdevicemap.c: Likewise.
22997 * util/grub-mkfont.c: Likewise.
22998 * util/grub-mkrelpath.c: Likewise.
22999 * util/grub-pe2elf.c: Likewise.
23000 * util/grub-probe.c: Likewise.
23001 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23002 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23003 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23004
23005 * util/misc.c: Include `"progname.h"'.
23006 (progname): Remove variable.
23007 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23008
6f61ed55
FZ
230092009-11-25 Felix Zielcke <fzielcke@z-51.de>
23010
23011 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23012 printf and print a newline after the menuentry header line.
23013 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23014
f022876b
FZ
230152009-11-25 Felix Zielcke <fzielcke@z-51.de>
23016
23017 autoconf >= 2.60 support $(localedir).
23018
23019 * INSTALL: Note that autoconf 2.60 is required.
23020 * configure.ac (AC_PREREQ): Bump to 2.60.
23021 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23022 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23023
6717926e
YB
230242009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23025
23026 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23027 aclocal is run.
23028
08806a54
RM
230292009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23030
23031 * normal/main.c (grub_normal_read_line): Fix off-by-one
23032 buffer overflow.
23033
13b33fba
RM
230342009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23035
23036 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23037 "parser.grub" in grub_command_execute() call.
23038
4a8572e9
CPE
230392009-11-24 Carles Pina i Estany <carles@pina.cat>
23040
23041 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23042 * conf/i386-efi.rmk: Likewise.
23043 * conf/i386-ieee1275.rmk: Likewise.
23044 * conf/i386-pc.rmk: Likewise.
23045 * conf/powerpc-ieee1275.rmk: Likewise.
23046 * conf/sparc64-ieee1275.rmk: Likewise.
23047 * conf/x86_64-efi.rmk: Likewise.
23048 * gettext/gettex.c: Include <grub/i18n.h>.
23049 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23050 here ...
23051 * include/grub/i18n.h: ... to here
23052 * include/grub/i18n.h: ... to here.
23053 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23054 (grub_gettext_dummy): Move above user.
4a8572e9 23055
bee48093
FZ
230562009-11-24 Felix Zielcke <fzielcke@z-51.de>
23057
23058 * util/Makefile.in (install-local): Convert a `for' into a normal
23059 shell expansion.
23060
a031e91c
RM
230612009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23062
23063 * autogen.sh: Add automake call.
23064 * config.guess: Remove.
23065 * config.sub: Likewise.
23066 * install-sh: Likewise.
23067
26bec39d
FZ
230682009-11-24 Felix Zielcke <fzielcke@z-51.de>
23069
23070 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23071
8e2532fd
FZ
230722009-11-24 Felix Zielcke <fzielcke@z-51.de>
23073
23074 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23075 function to a normal shell `for'.
23076
fefa1b7d
FZ
230772009-11-24 Felix Zielcke <fzielcke@z-51.de>
23078
23079 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23080
4501250b
FZ
230812009-11-24 Felix Zielcke <fzielcke@z-51.de>
23082
23083 * util/grub-mkrelpath.c: New file.
23084 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23085 (grub_mkrelpath_SOURCES): New variable.
23086 * include/grub/util/misc.h: New function prototype.
23087 * util/misc.c (make_system_path_relative_to_its_root): New function.
23088
23089 * util/grub-mkconfig_lib.in (bindir): New variable.
23090 (grub_mkrelpath): Likewise.
23091 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23092
23093 * util/probe.c (probe): Make the file path relative to its root.
23094 Change a info message to use the GRUB path. Enable again the
23095 check if we can read the file with GRUB facilities.
23096
23097 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23098 to its root.
23099
11d9778b
FZ
231002009-11-24 Felix Zielcke <fzielcke@z-51.de>
23101
23102 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23103 platform.
23104
4465287d
FZ
231052009-11-24 Felix Zielcke <fzielcke@z-51.de>
23106
23107 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23108 strncmp().
23109
62b47f22
FZ
231102009-11-24 Felix Zielcke <fzielcke@z-51.de>
23111
23112 * util/getroot.c (grub_util_is_dmraid): New function.
23113 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23114 devices as normal ones, not as LVM.
23115
1eafb9b9 231162009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23117
23118 * conf/common.rmk: Add grub-gettext_lib target and updates
23119 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23120 LDFLAGS.
23121 * gettext/gettext.c: New file. (Reads mo files).
23122 * include/grub/file.h (grub_file_pread): New prototype.
23123 * include/grub/i18n.h (_): New prototype.
23124 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23125 prototypes.
23126 * kern/misc.c (grub_gettext_dummy): New function.
23127 * normal/menu_text.c: Include <grub/i18n.h>.
23128 * normal/menu_text.c (print_timeout): Gettexttize string.
23129 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23130 * po/POTFILES: Add `normal/menu_text.c'.
23131 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23132 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23133 gettext module and defines locale_dir and lang in grub.cfg.
23134 * NEWS: Add gettext support.
23135
0fdb2568
RM
231362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23137
23138 * util/hostdisk.c: Include `<grub/i18n.h>'.
23139 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23140 (make_device_name): Rewrite using asprintf.
23141 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23142 (find_system_device): If a device is not found, generate one just
23143 by reusing the OS path name.
23144 (read_device_map): Make it permissible for device.map not to exist.
23145
f515aa62
RM
231462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23147
23148 * script/sh/execute.c: Move from here ...
23149 * script/execute.c: ... to here. Update all users.
23150 * script/sh/function.c: Move from here ...
23151 * script/function.c: ... to here. Update all users.
23152 * script/sh/lexer.c: Move from here ...
23153 * script/lexer.c: ... to here. Update all users.
23154 * script/sh/main.c: Move from here ...
23155 * script/main.c: ... to here. Update all users.
23156 * script/sh/parser.y: Move from here ...
23157 * script/parser.y: ... to here. Update all users.
23158 * script/sh/script.c: Move from here ...
23159 * script/script.c: ... to here. Update all users.
23160
f84b481b
RM
231612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23162
23163 * configure.ac: Detect all `emu' platforms. Define
23164 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23165 --enable-grub-emu logic. Disable include/grub/machine
23166 symlink on `emu' platforms.
23167
23168 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23169 * gensymlist.sh.in: Likewise.
23170
23171 * include/grub/i386/coreboot/machine.h: Remove file.
23172 * include/grub/i386/efi/machine.h: Likewise.
23173 * include/grub/i386/ieee1275/machine.h: Likewise.
23174 * include/grub/i386/pc/machine.h: Likewise.
23175 * include/grub/i386/qemu/machine.h: Likewise.
23176 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23177 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23178 * include/grub/x86_64/efi/machine.h: Likewise.
23179
23180 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23181 * commands/halt.c: Likewise.
23182 * commands/reboot.c: Likewise.
23183 * include/grub/autoefi.h: Likewise.
23184 * include/grub/i386/at_keyboard.h: Likewise.
23185 * include/grub/i386/kernel.h: Likewise.
23186 * include/grub/i386/loader.h: Likewise.
23187 * include/grub/i386/pc/memory.h: Likewise.
23188 * kern/dl.c: Likewise.
23189 * kern/i386/coreboot/init.c: Likewise.
23190 * loader/i386/bsd.c: Likewise.
23191 * loader/i386/linux.c: Likewise.
23192 * loader/multiboot_loader.c: Likewise.
23193 * term/i386/pc/serial.c: Likewise.
23194 * term/usb_keyboard.c: Likewise.
23195
23196 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23197 `<grub/machine/machine.h>'
23198 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23199 * util/misc.c: Remove `<grub/machine/machine.h>' and
23200 `<grub/machine/time.h>'.
23201
23202 * Makefile.in (enable_grub_emu): Remove variable.
23203 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23204
23205 * conf/any-emu.rmk: New file.
23206 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23207 (grub_emu_init.c): Move from here ...
23208 * conf/any-emu.rmk: ... to here.
23209
23210 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23211 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23212 * conf/any-emu.rmk: ... to here.
23213
4efeab03
RM
232142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23215
23216 * include/grub/parser.h (grub_parser_register): Document need
23217 of `name' parameter.
23218 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23219 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23220 "sh" to "grub".
23221
ea1dd8bf
RM
232222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23223
23224 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23225 `$(XGETTEXT)'.
23226 * include/grub/i18n.h (N_): New macro.
23227 * util/mkisofs/mkisofs.h: Likewise.
23228 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23229 around N_().
23230 (usage): Use gettext() to translate help strings when printing them.
23231
0c140626
RM
232322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23233
23234 Based on patch from Bean
23235 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23236
23237 * video/efi_fb.c: New file.
23238 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23239 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23240 variables.
23241 * conf/x86_64-efi.rmk: Likewise.
23242
87d58298
RM
232432009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23244
23245 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23246 * util/i386/pc/grub-setup.c: Likewise.
23247
994cc3a3
ST
232482009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23249
23250 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23251 <hurd/fs.h>
23252 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23253 file_get_storage_info to implement grub_guess_root_device.
23254
26a61d6a
FZ
232552009-11-21 Felix Zielcke <fzielcke@z-51.de>
23256
23257 * Makefile.in (target): Use make's builtin $(shell) function
23258 instead of calling directly $(SHELL) to create the locale directories,
23259 inside the $(foreach) function.
23260
74ff1dd5
FZ
232612009-11-21 Felix Zielcke <fzielcke@z-51.de>
23262
23263 * util/grub-mkrescue.in: Print an error and usage if output option
23264 has not been given.
23265
0b787d0e
FZ
232662009-11-21 Felix Zielcke <fzielcke@z-51.de>
23267
23268 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23269 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23270 root and /boot are on different devices.
23271
1164b270
RM
232722009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23273
23274 Fix build for srcdir != objdir.
23275
23276 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23277 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23278 $(srcdir).
23279 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23280 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23281 reference for input.
23282
13774a2f
RM
232832009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23284
23285 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23286 or hardlinking it). Remove -J option, Joliet is not compatible with
23287 multiple source directories.
23288
efda854e
RM
232892009-11-21 Carles Pina i Estany <carles@pina.cat>
232902009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23291
23292 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23293 (process_input_dir): New function. Process an arbitrary input
23294 directory.
23295 Misc adjustments to support both "override mode" and system-wide mode.
23296
6c09890c
FZ
232972009-11-20 Felix Zielcke <fzielcke@z-51.de>
23298
23299 * configure.ac (UNIFONT_BDF): Rename to ...
23300 (FONT_SOURCE): ... this. Update all users.
23301
a797824f
FZ
233022009-11-20 Felix Zielcke <fzielcke@z-51.de>
23303
23304 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23305 to the list of unifont files to look for.
23306
cd4f42b0
RM
233072009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23308
23309 Patch from Joe Auricchio <jauricchio@gmail.com>
23310 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23311 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23312 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23313
393c783d
FZ
233142009-11-19 Felix Zielcke <fzielcke@z-51.de>
23315
23316 * Makefile.in (install-local): Add a missing backslash.
23317
b2f1e327
FZ
233182009-11-19 Felix Zielcke <fzielcke@z-51.de>
23319
23320 * include/grub/x86_64/io.h: New file.
23321
f577f7a0
RM
233222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23323
23324 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23325 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23326 Include `"progname.h"'.
23327 (main): Initialize gettext.
23328 * util/i386/pc/grub-setup.c: Gettexttize.
23329 * util/i386/pc/grub-mkimage.c: Likewise.
23330
23331 * Makefile.in (po/*.po): Redefine as ...
23332 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23333
3bc7896c
RM
23334 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23335
c37943b6
RM
233362009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23337
23338 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23339 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23340 (program_name): Remove.
23341 (main): Initialize gettext support.
6323f705
RM
23342 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23343 Include `<libintl.h>'.
23344 (_): New macro.
c37943b6
RM
23345
23346 * util/mkisofs/eltorito.c: Gettexttize.
23347 * util/mkisofs/joliet.c: Likewise.
23348 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23349 * util/mkisofs/multi.c: Likewise.
23350 * util/mkisofs/rock.c: Likewise.
23351 * util/mkisofs/tree.c: Likewise.
23352 * util/mkisofs/write.c: Likewise.
23353
3bc7896c
RM
23354 * po/POTFILES: Update with new files.
23355
5ce77c6e
RM
233562009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23357
23358 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23359 * util/mkisofs/iso9660.h: Likewise.
23360 * util/mkisofs/joliet.c: Likewise.
23361 * util/mkisofs/mkisofs.c: Likewise.
23362 * util/mkisofs/mkisofs.h: Likewise.
23363 * util/mkisofs/rock.c: Likewise.
23364 * util/mkisofs/tree.c: Likewise.
23365 * util/mkisofs/write.c: Likewise.
23366
23367 * util/mkisofs/eltorito.c (rcsid): Remove.
23368 * util/mkisofs/hash.c: Likewise.
23369 * util/mkisofs/joliet.c: Likewise.
23370 * util/mkisofs/name.c: Likewise.
23371 * util/mkisofs/rock.c: Likewise.
23372 * util/mkisofs/tree.c: Likewise.
23373 * util/mkisofs/write.c: Likewise.
23374
1dabbc77
RM
233752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23376
23377 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23378 instead of static allocation.
23379 * util/mkisofs/match.h: Likewise.
23380
633877cb
RM
233812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23382
3bc7896c
RM
23383 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23384 and `util/grub.d/10_linux.in'.
633877cb
RM
23385 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23386 translatable Shell files.
23387
af1c0c85
RM
233882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23389
23390 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23391
769ae37b
RM
233922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23393
23394 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23395 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23396 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23397 Add gettext initialization.
23398 (kfreebsd_entry): Make menuentry output translatable.
23399
234002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23401
23402 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23403 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23404 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23405 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23406 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23407 * po/LINGUAS: New file.
769ae37b
RM
23408
234092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23410
23411 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23412 other things).
23413 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23414 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23415 bindtextdomain() calls for gettext initialization.
23416
234172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23418
23419 * gnulib/progname.c: New file (imported from Gnulib).
23420 * gnulib/progname.h: Likewise.
23421 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23422 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23423 (usage): Replace `progname' with `program_name'.
23424 (main): Use set_program_name() for program name initialization.
23425
234262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23427
23428 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23429 from here ...
23430 * Makefile.in (CPPFLAGS): ... to here.
23431
234322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23433
23434 * aclocal.m4: Move from here ...
23435 * acinclude.m4: ... to here.
23436 * autogen.sh: Add call to `aclocal'.
23437 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23438
234392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23440
23441 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23442 (LINGUAS): New variable.
23443 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23444 (install-local): Install MO files.
23445 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23446 * include/grub/i18n.h: New file.
3bc7896c
RM
23447 * po/POTFILES: New file.
23448 * po/ca.po: New file.
769ae37b
RM
23449 * util/grub.d/10_linux.in (bindir): New variable.
23450 Add gettext initialization.
23451 (linux_entry): Make menuentry output translatable.
23452 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23453 (usage): Make --help output translatable.
23454 (main): Initialize gettext.
23455
02c0a6ad
RM
234562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23457
23458 * import_gcry.py: New file (written by Vladimir with minor
23459 adjustments).
23460 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23461 ciphers.
23462 * INSTALL: Document that Python is required for bootstrap.
23463
234642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23465
23466 Import ciphers from libgcrypt 1.4.4.
23467
23468 * lib/libgcrypt/cipher/ChangeLog
23469 * lib/libgcrypt/cipher/ac.c
23470 * lib/libgcrypt/cipher/arcfour.c
23471 * lib/libgcrypt/cipher/bithelp.h
23472 * lib/libgcrypt/cipher/blowfish.c
23473 * lib/libgcrypt/cipher/camellia-glue.c
23474 * lib/libgcrypt/cipher/camellia.c
23475 * lib/libgcrypt/cipher/camellia.h
23476 * lib/libgcrypt/cipher/cast5.c
23477 * lib/libgcrypt/cipher/cipher.c
23478 * lib/libgcrypt/cipher/crc.c
23479 * lib/libgcrypt/cipher/des.c
23480 * lib/libgcrypt/cipher/dsa.c
23481 * lib/libgcrypt/cipher/ecc.c
23482 * lib/libgcrypt/cipher/elgamal.c
23483 * lib/libgcrypt/cipher/hash-common.c
23484 * lib/libgcrypt/cipher/hash-common.h
23485 * lib/libgcrypt/cipher/hmac-tests.c
23486 * lib/libgcrypt/cipher/md.c
23487 * lib/libgcrypt/cipher/md4.c
23488 * lib/libgcrypt/cipher/md5.c
23489 * lib/libgcrypt/cipher/primegen.c
23490 * lib/libgcrypt/cipher/pubkey.c
23491 * lib/libgcrypt/cipher/rfc2268.c
23492 * lib/libgcrypt/cipher/rijndael-tables.h
23493 * lib/libgcrypt/cipher/rijndael.c
23494 * lib/libgcrypt/cipher/rmd.h
23495 * lib/libgcrypt/cipher/rmd160.c
23496 * lib/libgcrypt/cipher/rsa.c
23497 * lib/libgcrypt/cipher/seed.c
23498 * lib/libgcrypt/cipher/serpent.c
23499 * lib/libgcrypt/cipher/sha1.c
23500 * lib/libgcrypt/cipher/sha256.c
23501 * lib/libgcrypt/cipher/sha512.c
23502 * lib/libgcrypt/cipher/tiger.c
23503 * lib/libgcrypt/cipher/twofish.c
23504 * lib/libgcrypt/cipher/whirlpool.c
23505
af2f93ac
RM
235062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23507
23508 Fix build for systems without error().
23509
23510 * gnulib/error.c: New file (imported from Gnulib).
23511 * gnulib/error.h: Likewise.
23512 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23513 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23514 (this variable is now used by error()).
23515
73fb3dd5
FZ
235162009-11-16 Felix Zielcke <fzielcke@z-51.de>
23517
814f5e96
FZ
23518 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23519 instead of relying that char is signed.
73fb3dd5 23520
a691ca33
VS
235212009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23522
23523 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23524 blocksize different from specified.
23525 (grub_pxefs_read): Likewise.
23526
2af8f0f4
FZ
235272009-11-16 Felix Zielcke <fzielcke@z-51.de>
23528
23529 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23530
23531 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23532 (grub_ata_readwrite): Likewise. Update 2 format strings.
23533 (grub_atapi_read): Likewise.
23534
23535 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23536 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23537 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23538 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23539 (ata_mod_LDFLAGS): Move from here ...
23540 * conf/i386.rmk: ... to here ...
23541 * conf/x86_64-efi.rmk: ... and here.
23542 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23543 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23544
83bdecaf
RM
235452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23546
23547 Relicense multiboot.h, with RMS' blessing.
23548
23549 * include/multiboot.h: Change to X11 license.
23550
fd6fd3d7
RM
235512009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23552
23553 Support --version in grub-mkisofs.
23554
23555 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23556 (OPTION_VERSION): New macro.
23557 (ld_options): Recognize --version.
23558 (usage): Move `program_name' from here ...
23559 (program_name): ... to here. Add `static' qualifier.
23560 (main): Recognize `OPTION_VERSION'.
23561
16a88c49
FZ
235622009-11-15 Felix Zielcke <fzielcke@z-51.de>
23563
23564 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23565 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23566
a4158476
RM
235672009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23568
23569 Fix help2man generation for mkisofs.
23570
23571 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23572 (usage): Send output to stdout (rather than stderr).
23573
fc2208b0
RM
235742009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23575
23576 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23577 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23578 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23579 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23580 (bin_SCRIPTS): Add `grub-mkfloppy'.
23581 (grub_mkfloppy_SOURCES): New variable.
23582
23583 * util/grub-mkrescue.in: New file.
23584 * util/i386/pc/grub-mkfloppy.in: New file.
23585
23586 * util/i386/coreboot/grub-mkrescue.in: Remove.
23587 * util/i386/pc/grub-mkrescue.in: Remove.
23588
8d0edf4a
RM
235892009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23590
23591 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23592 from here ...
23593 * include/multiboot.h (struct multiboot_header): ... to here. Update
23594 all users.
23595 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23596 from here ...
23597 * include/multiboot.h (struct multiboot_info): ... to here. Update
23598 all users.
23599 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23600 from here ...
23601 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23602 Update all users.
23603 * include/grub/multiboot.h (struct grub_mod_list): Move
23604 from here ...
23605 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23606 Update all users.
23607
a73f5969
RM
236082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23609
23610 * include/multiboot2.h (multiboot_word): Rename from this ...
23611 (multiboot2_word): ... to this. Update all users.
23612 (multiboot_header): Rename from this ...
23613 (multiboot2_header): ... to this. Update all users.
23614 (multiboot_tag_header): Rename from this ...
23615 (multiboot2_tag_header): ... to this. Update all users.
23616 (multiboot_tag_start): Rename from this ...
23617 (multiboot2_tag_start): ... to this. Update all users.
23618 (multiboot_tag_name): Rename from this ...
23619 (multiboot2_tag_name): ... to this. Update all users.
23620 (multiboot_tag_module): Rename from this ...
23621 (multiboot2_tag_module): ... to this. Update all users.
23622 (multiboot_tag_memory): Rename from this ...
23623 (multiboot2_tag_memory): ... to this. Update all users.
23624 (multiboot_tag_unused): Rename from this ...
23625 (multiboot2_tag_unused): ... to this. Update all users.
23626 (multiboot_tag_end): Rename from this ...
23627 (multiboot2_tag_end): ... to this. Update all users.
23628
1c8927f0
RM
236292009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23630
23631 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23632 this platform we should support Multiboot1 first.
23633
23634 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23635 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23636 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23637
6e1e0d89
RM
236382009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23639
23640 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23641 of write calls (converting them to fwrite() if they aren't already).
23642 (get_torito_desc): Likewise.
23643 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23644
7f2b34d8
RM
236452009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23646
23647 * util/i386/pc/grub-install.in: Move from here ...
23648 * util/grub-install.in: ... to here. Update all users.
23649
c0ef3311
CW
236502009-11-11 Colin Watson <cjwatson@ubuntu.com>
23651
23652 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23653
e1f240ff
RM
236542009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23655
23656 Support for El Torito without floppy emulation.
23657
23658 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23659 (init_boot_catalog): Improve error handling.
23660 (get_torito_desc): Don't use floppy emulation unless requested by
23661 user. Patch boot information table when requested via
23662 `-boot-info-table'.
23663 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23664 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23665 (use_boot_info_table): New variables.
23666 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23667 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23668 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23669 `--eltorito-emul-floppy'.
23670 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23671 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23672 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23673 (use_boot_info_table, get_731): New prototypes.
23674 * util/mkisofs/write.c (get_731): New function.
23675
af7d4de5
FZ
236762009-11-11 Felix Zielcke <fzielcke@z-51.de>
23677
23678 Fix the generation of the man page.
23679
23680 * util/pc/i386/grub-install.in: Source
23681 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23682
2c55dbc0
RM
236832009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23684
23685 Large file support for grub-mkisofs.
23686
23687 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23688 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23689 (session_start): Upgrade type to `uint64_t'. Update all users.
23690 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23691 (struct directory_entry): Upgrade type of `starting_block' and
23692 `size' to `uint64_t'. Update all users.
23693 (struct deferred): Remove unused structure.
23694 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23695 Update all users.
23696 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23697 file is larger than `UINT32_MAX'.
23698 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23699 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23700 return value.
23701 (struct deferred_write): Upgrade type of `extent' and `size' to
23702 `uint64_t'. Update all users.
23703 (last_extent_written): Upgrade type to `uint64_t'. Update all
23704 users.
23705 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23706 Update all users. Upgrade type of `remain' to `int64_t' and
23707 `use' to `size_t'. Use error() to handle fread() errors.
23708 (write_files): Rely on write_one_file() rather than calling
23709 xfwrite() directly.
23710
6a9cead5
FZ
237112009-11-09 Felix Zielcke <fzielcke@z-51.de>
23712
23713 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23714
4825d790
RM
237152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23716
23717 * util/mkisofs/fnmatch.c: Remove.
23718 * util/mkisofs/getopt1.c: Likewise.
23719 * util/mkisofs/getopt.c: Likewise.
23720 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23721 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23722 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23723 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23724 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23725
23726 * configure.ac: Detect `mingw32msvc' host_os.
23727 Check for lstat(), getuid() and getgid().
23728
23729 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23730 instances of `u_char' with `uint8_t'.
23731
23732 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23733 [!HAVE_GETUID] (getuid): New function (stub).
23734 [!HAVE_GETGID] (getgid): Likewise.
23735 [!HAVE_LSTAT] (lstat): Likewise.
23736 [!S_IROTH] (S_IROTH): New macro (dummy).
23737 [!S_IRGRP] (S_IRGRP): Likewise.
23738
84b860d8
RM
237392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23740
23741 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23742 conditional expression).
23743
66e9b712
RM
237442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23745
23746 Import from Gnulib.
23747
23748 * gnulib/fnmatch.c: New file.
23749 * gnulib/fnmatch.h: Likewise.
23750 * gnulib/fnmatch_loop.c: Likewise.
23751 * gnulib/getopt.c: Likewise.
23752 * gnulib/getopt.h: Likewise.
23753 * gnulib/getopt1.c: Likewise.
23754 * gnulib/getopt_int.h: Likewise.
23755 * gnulib/gettext.h: Likewise.
23756
34f4a5b0
RM
237572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23758
23759 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23760 * normal/handler.c (read_handler_list): Likewise.
23761
ac451143
RM
237622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23763
23764 Misc cleanup.
23765
23766 * kern/command.c (grub_register_command_prio): Use
23767 grub_zalloc() instead of explicitly zeroing data.
23768 * kern/list.c: Include `<grub/mm.h>'.
23769 (grub_named_list_find): Replace `0' with `NULL'.
23770 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23771 (fs_module_list): Change type to `grub_named_list_t'. Update all
23772 users.
23773 * normal/dyncmd.c (read_command_list): Add space between function
23774 call and parenthesis.
23775 * normal/handler.c (read_handler_list): Likewise.
23776
4089b167
RM
237772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23778
23779 * normal/auth.c (punishment_delay): Moved from here ...
23780 (grub_auth_strcmp): ... to here (inside function).
23781
325f5037
RM
237822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23783
23784 * include/grub/list.h (struct grub_named_list): Remove `const'
23785 qualifier from `name'.
23786 (struct grub_prio_list): Likewise.
23787
7aea29a3
RM
237882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23789
23790 * normal/auth.c: Include `<grub/time.h>'.
23791 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23792
3fd6f044
RM
237932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23794
23795 * normal/auth.c (punishment_delay): New variable.
23796 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23797 (grub_auth_check_authentication): Punish failed login attempts with
23798 an incremental (2^N) delay.
23799
a4cd68e4
RM
238002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23801
23802 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23803 path with $(srcdir).
23804
7ad12f43
VS
238052009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23806
23807 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23808
c1129f03
RM
238092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23810
23811 * util/i386/coreboot/grub-mkrescue.in: New file.
23812 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23813 variables.
23814
23815 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23816 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23817 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23818 requirements.
23819 * util/mkisofs/defaults.h: New file.
23820 * util/mkisofs/eltorito.c: Likewise.
23821 * util/mkisofs/exclude.h: Likewise.
23822 * util/mkisofs/fnmatch.c: Likewise.
23823 * util/mkisofs/getopt.c: Likewise.
23824 * util/mkisofs/getopt1.c: Likewise.
23825 * util/mkisofs/hash.c: Likewise.
23826 * util/mkisofs/include/fctldefs.h: Likewise.
23827 * util/mkisofs/include/mconfig.h: Likewise.
23828 * util/mkisofs/include/prototyp.h: Likewise.
23829 * util/mkisofs/include/statdefs.h: Likewise.
23830 * util/mkisofs/iso9660.h: Likewise.
23831 * util/mkisofs/joliet.c: Likewise.
23832 * util/mkisofs/match.c: Likewise.
23833 * util/mkisofs/match.h: Likewise.
23834 * util/mkisofs/mkisofs.c: Likewise.
23835 * util/mkisofs/mkisofs.h: Likewise.
23836 * util/mkisofs/multi.c: Likewise.
23837 * util/mkisofs/name.c: Likewise.
23838 * util/mkisofs/rock.c: Likewise.
23839 * util/mkisofs/tree.c: Likewise.
23840 * util/mkisofs/write.c: Likewise.
23841
ec8bb77d
VS
238422009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23843
23844 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23845 being insecure.
23846
3716b12c
RM
238472009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23848
23849 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23850 `grub-mkimage' (and use $0 when possible).
23851
b97b7b91
RM
238522009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23853
23854 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23855 error message for excessively large memory map.
23856
04114812
RM
238572009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23858
23859 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23860 executable bit.
23861
e4eb2373
RM
238622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23863
23864 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23865 message for coreboot users.
23866
c926e1d5 238672009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23868
23869 Fix build with GNU gold.
23870
23871 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23872 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23873 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23874 link addresses.
23875 * aclocal.m4: Likewise.
23876
86e5b1db 238772009-11-04 Felix Zielcke <fzielcke@z-51.de>
23878
23879 * configure.ac (AC_PREREQ): Bump to 2.59d.
23880 * INSTALL: Make it more clear when Autoconf and Ruby are
23881 needed and when to run `./autogen.sh'.
23882
246cd78f 238832009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23884
23885 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23886 OSes.
23887
4f9dfb37 238882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23889
23890 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23891
b82bd5e1 238922009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23893
23894 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23895 giving it to GNU Mach.
23896
ff1a9bca 238972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23898
23899 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23900 GNU partition number to get internal GRUB partition number.
23901
61697d9c 239022009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23903
23904 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23905 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23906
a50569e1 239072009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23908
23909 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23910 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23911 case.
23912
5b153867 239132009-11-01 Felix Zielcke <fzielcke@z-51.de>
23914
23915 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23916
d9e2cd70 239172009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23918
23919 Fix build problem.
23920
23921 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23922 `-isystem=$(srcdir)/include'.
23923
805111a4 239242009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23925
23926 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23927 checked (grub-install doesn't currently rely on it).
23928
fa6e945f 239292009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23930
23931 Revert SVN r2660.
23932
23933 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23934 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23935 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23936 * conf/i386-ieee1275.rmk: Likewise.
23937 * conf/i386-pc.rmk: Likewise.
23938 * conf/powerpc-ieee1275.rmk: Likewise.
23939 * conf/sparc64-ieee1275.rmk: Likewise.
23940 * conf/x86_64-efi.rmk: Likewise.
23941
cee15086 239422009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23943
23944 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23945
95b9239e 239462009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23947
23948 * include/grub/misc.h: Stop checking for APPLE_CC.
23949
2ed19dfd 239502009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23951
23952 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23953 doesn't cause an infinite call loop.
23954
fdcdde19 239552009-10-28 Felix Zielcke <fzielcke@z-51.de>
23956
23957 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23958 strings.
23959
cefabfe1 239602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23961
23962 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23963 variable.
23964 * Makefile.in: Likewise.
23965
ed96ab6d 239662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23967
23968 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23969
0579b753 239702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23971
23972 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23973
478df409 239742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23975
23976 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23977
083d1679 239782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23979
23980 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23981 from here ...
23982 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23983
5947ae32 239842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23985
23986 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23987 in $(MAKEINFO) invocation. This makes it clear in output that
23988 errors are being ignored.
23989
94180ff6 239902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23991
23992 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23993 from here ...
23994 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23995 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23996 * conf/i386-ieee1275.rmk: Likewise.
23997 * conf/i386-pc.rmk: Likewise.
23998 * conf/powerpc-ieee1275.rmk: Likewise.
23999 * conf/sparc64-ieee1275.rmk: Likewise.
24000 * conf/x86_64-efi.rmk: Likewise.
24001
9031b03a 240022009-10-26 Colin Watson <cjwatson@ubuntu.com>
24003
24004 * util/grub-editenv.c (main): If only a command is given, use
24005 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24006 (usage): FILENAME is now optional and has a default.
24007
e4f6809b 240082009-10-26 Colin Watson <cjwatson@ubuntu.com>
24009
24010 Improve grub-mkconfig performance when there are several menu
24011 entries on a single filesystem.
24012
24013 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24014 prepare_grub_to_access_device.
24015 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24016 * util/grub.d/30_os-prober.in: Likewise.
24017
67937d4d 240182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24019
24020 * util/grub.d/10_freebsd.in: Remove.
24021 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24022 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24023
ee3756cc 240242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24025
5c35048e 24026 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24027
4dea1c6f 240282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24029
24030 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24031 grub_util_error() call.
24032
042484d7 240332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24034
24035 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24036 `reserved_first_sector' member.
24037 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24038 `reserved_first_sector' to 1.
24039 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24040 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24041 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24042 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24043 filesystems which begin at first sector.
24044 (options): New option --skip-fs-probe.
24045 (main): Handle --skip-fs-probe and pass it to setup().
24046
d64448a7 240472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24048
24049 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24050 (memset): Fix function prototype.
24051
508d42ec 240522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
240532009-10-25 Vasily Averin <vvs@parallels.com>
24054
24055 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24056 `dirent.direntlen == 0'.
24057
b240e30c 240582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24059
24060 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24061 `cpio'.
24062 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24063
346e7fbe 240642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24065
24066 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24067 `__trampoline_setup' and `__ucmpdi2'.
24068 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24069 that libgcc provides.
24070
cdb308b0 240712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24072
24073 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24074 * include/grub/sparc64/libgcc.h (memset): Likewise.
24075 * include/grub/misc.h (memset, memcmp): New function prototypes.
24076
fb26abc2 240772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24078
24079 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24080 `cpio'.
24081 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24082
f6693890 240832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24084
24085 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24086 * docs/grub.cfg: Compensate for recent change in multiboot
24087 loader (since 2009-08-14 it won't pass filename to payload).
24088 * util/grub.d/10_hurd.in: Likewise.
24089
0933cdc0 240902009-10-21 Felix Zielcke <fzielcke@z-51.de>
24091
24092 * config.guess: Update to latest version from config git
24093 repository.
24094 * config.sub: Likewise.
24095
3b2fe8c2 240962009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24097
24098 Fix build on sparc64.
24099
24100 * configure.ac: Perform checks for libgcc symbols before
24101 adding `-nostdlib' to LDFLAGS.
24102
46695a62 241032009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24104
24105 Let user specify OpenBSD root device.
24106
24107 * loader/i386/bsd.c (openbsd_root): New variable.
24108 (openbsd_opts): New option 'root'.
24109 (OPENBSD_ROOT_ARG): New macro.
24110 (grub_openbsd_boot): Use 'openbsd_root'.
24111 (grub_cmd_openbsd): Fill 'openbsd_root'.
24112
d2b6b7fc 241132009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24114
24115 * NEWS: Misc adjustments.
24116
421bd7ac 241172009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24118
24119 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24120
f1d29d87 241212009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24122
24123 * configure.ac: Bump version to 1.97.
24124
6f3cd880 241252009-10-16 Colin Watson <cjwatson@ubuntu.com>
24126
24127 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24128 -mno-3dnow on x86 architectures. Some toolchains enable these
24129 features by default, but they rely on registers that aren't enabled
24130 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24131
035f7122 241322009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24133
24134 Make entry text a bit more readable.
24135
24136 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24137
44998e58 241382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24139
24140 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24141
cd2851b3 241422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24143
24144 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24145 operations.
24146
c6f3b249 241472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24148
24149 * configure.ac: Add missing dollar.
24150
6b5886ba 241512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24152
24153 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24154
24155 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24156 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24157 exports.
24158 * include/grub/sparc64/libgcc.h: Likewise. Use
24159 preprocessor conditionals.
24160
e9d66f6d 241612009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24162
24163 * conf/common.rmk (grub-dumpbios): Remove rule.
24164 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24165 * util/grub-dumpbios.in: Remove file.
24166
9155bc17 241672009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24168
24169 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24170 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24171
24172 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24173 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24174 users.
24175
24176 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24177 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24178 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24179 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24180 users.
24181
bf7f7a18 241822009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24183
24184 * term/tparm.c: Switch to GPLv3.
24185
86564c26 241862009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24187
24188 * include/grub/i386/cpuid.h: Add header protection.
24189
5c936493 241902009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24191
24192 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24193
24194 * include/grub/i386/cpuid.h: New file.
24195 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24196 (has_longmode): Rename to ...
24197 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24198 `static' attribute.
24199 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24200 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24201 on a CPU that doesn't implement AMD64 instruction set.
24202
186e7cf2 242032009-10-06 Colin Watson <cjwatson@ubuntu.com>
24204
24205 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24206 that version.texi is rebuilt on version number changes.
24207
83b65c4a 242082009-10-06 Colin Watson <cjwatson@ubuntu.com>
24209
24210 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24211 Fixes bug #27602.
24212
d244281c 242132009-10-06 Colin Watson <cjwatson@ubuntu.com>
24214
24215 * util/i386/pc/grub-install.in: Source
24216 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24217 that the --grub-probe option will work.
24218 * util/sparc64/ieee1275/grub-install.in: Likewise.
24219
da25306d 242202009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24221
24222 * configure.ac: Bump version to 1.97~beta4.
24223
e8ee83c0 242242009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24225
24226 Resync grub-mkdevicemap in x86_64-efi.
24227
24228 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24229 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24230 `util/devicemap.c'.
24231
50dcabcf 242322009-10-01 Colin Watson <cjwatson@ubuntu.com>
24233
24234 * util/grub-editenv.c (create_envblk_file): Write new block with a
24235 .new suffix and then rename it into place, to ensure atomic
24236 creation.
24237
0e51c3a7 242382009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24239
24240 Do not automatically install headers.
24241
24242 * Makefile.in (include_DATA): Remove. Update all users.
24243
31299a95 242442009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24245
24246 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24247 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24248
24249 * util/osdetect.lua: Remove.
24250 * script/lua/lauxlib.c: Likewise.
24251 * script/lua/ldebug.c: Likewise.
24252 * script/lua/grub_main.c: Likewise.
24253 * script/lua/lauxlib.h: Likewise.
24254 * script/lua/ldebug.h: Likewise.
24255 * script/lua/ltablib.c: Likewise.
24256 * script/lua/liolib.c: Likewise.
24257 * script/lua/lstrlib.c: Likewise.
24258 * script/lua/lualib.h: Likewise.
24259 * script/lua/ldo.c: Likewise.
24260 * script/lua/ldump.c: Likewise.
24261 * script/lua/ldo.h: Likewise.
24262 * script/lua/loslib.c: Likewise.
24263 * script/lua/lundump.c: Likewise.
24264 * script/lua/grub_lib.c: Likewise.
24265 * script/lua/ldblib.c: Likewise.
24266 * script/lua/lundump.h: Likewise.
24267 * script/lua/lmem.c: Likewise.
24268 * script/lua/grub_lib.h: Likewise.
24269 * script/lua/lmathlib.c: Likewise.
24270 * script/lua/lstate.c: Likewise.
24271 * script/lua/ltm.c: Likewise.
24272 * script/lua/lvm.c: Likewise.
24273 * script/lua/lmem.h: Likewise.
24274 * script/lua/lstate.h: Likewise.
24275 * script/lua/ltm.h: Likewise.
24276 * script/lua/ltable.c: Likewise.
24277 * script/lua/lvm.h: Likewise.
24278 * script/lua/llex.c: Likewise.
24279 * script/lua/lgc.c: Likewise.
24280 * script/lua/grub_lua.h: Likewise.
24281 * script/lua/loadlib.c: Likewise.
24282 * script/lua/lfunc.c: Likewise.
24283 * script/lua/lopcodes.c: Likewise.
24284 * script/lua/lparser.c: Likewise.
24285 * script/lua/ltable.h: Likewise.
24286 * script/lua/llex.h: Likewise.
24287 * script/lua/lgc.h: Likewise.
24288 * script/lua/lfunc.h: Likewise.
24289 * script/lua/lbaselib.c: Likewise.
24290 * script/lua/lopcodes.h: Likewise.
24291 * script/lua/lparser.h: Likewise.
24292 * script/lua/lzio.c: Likewise.
24293 * script/lua/linit.c: Likewise.
24294 * script/lua/lobject.c: Likewise.
24295 * script/lua/llimits.h: Likewise.
24296 * script/lua/lstring.c: Likewise.
24297 * script/lua/lzio.h: Likewise.
24298 * script/lua/lapi.c: Likewise.
24299 * script/lua/lcode.c: Likewise.
24300 * script/lua/lua.h: Likewise.
24301 * script/lua/lobject.h: Likewise.
24302 * script/lua/lstring.h: Likewise.
24303 * script/lua/lapi.h: Likewise.
24304 * script/lua/lcode.h: Likewise.
24305 * script/lua/luaconf.h: Likewise.
24306
cb8a2c38 243072009-09-26 Colin Watson <cjwatson@ubuntu.com>
24308
24309 * docs/grub.texi (Command-line and menu entry commands): Document
24310 date and echo commands.
24311
6b9b6276 243122009-09-24 Pavel Roskin <proski@gnu.org>
24313
24314 * include/grub/kernel.h (struct grub_module_header): Remove
24315 `grub_module_header_types'. Make `type' unsigned. Make `size'
24316 32-bit on all platforms.
24317 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24318 8-bit field. Use grub_host_to_target32() for `size'.
24319 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24320 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24321 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24322
4e5a02a7 243232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24324
24325 Fix "lost keypress" bug in at_keyboard.
24326
24327 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24328 Checks for readyness of input buffer (without flushing it).
24329 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24330 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24331
c6dcedf6 243322009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24333
24334 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24335 size check within GRUB_MACHINE_PCBIOS section.
24336
74c958b1 243372009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24338
24339 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24340 return value.
24341 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24342 KEYBOARD_ISREADY check.
24343 (grub_at_keyboard_checkkey): Rename to ...
24344 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24345 Remove gratuitous cast.
24346
ff420223 243472009-09-23 Colin Watson <cjwatson@ubuntu.com>
24348
24349 * configure.ac: Call AC_PROG_MKDIR_P.
24350 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24351 version.texi in $(builddir) rather than $(srcdir).
24352 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24353 to makeinfo's @include search path.
24354
d96875df 243552009-09-23 Felix Zielcke <fzielcke@z-51.de>
24356
24357 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24358
9b3f8365 243592009-09-23 Felix Zielcke <fzielcke@z-51.de>
24360
24361 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24362 for `*.dpkg-new'.
24363
c44c90db 243642009-09-21 Colin Watson <cjwatson@ubuntu.com>
24365
24366 Build info documentation. Some code borrowed from Automake.
24367
24368 * configure.ac: Check for makeinfo.
24369 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24370 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24371 docs/version.texi.
24372 (MOSTLYCLEANFILES): Add vti.tmp.
24373 (docs/version.texi, docs/stamp-vti): Update automatically.
24374 (docs/grub.info): Build info documentation. Use --force and ignore
24375 errors for now.
24376 (all-local): Add $(INFOS).
24377 (install-local): Install info files.
24378 (uninstall): Uninstall info files.
24379 * docs/version.texi: Remove from revision control. This file is
24380 automatically generated on build now.
24381 * gendistlist.sh: Add `*.info'.
24382
e0b37bb5 243832009-09-21 Felix Zielcke <fzielcke@z-51.de>
24384
24385 * kern/term.c: Fix indentation.
24386
5a78865b 243872009-09-21 Felix Zielcke <fzielcke@z-51.de>
24388
24389 * util/hostdisk.c: Fix a comment.
24390
dace7e8a 243912009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24392
24393 Fix regression introduced in r2539.
24394
24395 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24396 to 0xA1.
24397
a83d079b 243982009-09-19 Colin Watson <cjwatson@ubuntu.com>
24399
24400 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24401 os-prober. Under normal operation, it does not print anything to
24402 stderr; if it does, we need to debug it, and throwing away stderr
24403 makes that excessively difficult.
a83d079b 24404
be94a509 244052009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24406
24407 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24408
63f745e8 244092009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24410
24411 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24412 AC_LANG_PROGRAM from autoconf.
24413 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24414 prototypes (fixes warning).
24415
24416 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24417 `--disable-werror' was used.
24418
bbb2a70f 244192009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24420
24421 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24422 uninitialized `lastaddr'.
24423
77c24f1d 244242009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24425
0f0b8c87 24426 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24427
07197f23 244282009-09-14 Colin Watson <cjwatson@ubuntu.com>
24429
24430 * commands/test.c (get_fileinfo): Return immediately if
24431 grub_fs_probe fails.
24432
dabf1798 244332009-09-14 José Martínez <xosemp@gmail.com>
24434
24435 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24436
d52109a7 244372009-09-14 Colin Watson <cjwatson@ubuntu.com>
24438
24439 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24440 output.
24441
56532179 244422009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24443
24444 * configure.ac: Remove --enable-grub-pe2elf. Only build
24445 grub-pe2elf when needed by the build system itself.
24446 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24447
8ef070f5 244482009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24449
24450 * configure.ac: Bump version to 1.97~beta3.
24451 * docs/version.texi: Likewise.
24452
61229557 244532009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24454
24455 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24456 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24457 from here ...
24458 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24459 (grub_linux_setup_video): ... to here (with some adjustments).
24460
5c9f8d84 244612009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24462
24463 Fix memory corruption issue (spotted by Colin Watson).
24464
24465 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24466 causing returned size to be stored in an incorrect memory location.
24467 Fix use of uninitialized value when storing the returned size.
24468
e8f5d6e9 244692009-09-12 Yves Blusseau <blusseau@zetam.org>
24470
24471 Change clean rules to properly remove files
24472
24473 * genmk.rb: add new clean rules
24474 * Makefile.in (clean): add the new targets
24475 (mostlyclean): likewise
24476
cda2a409 244772009-09-11 Colin Watson <cjwatson@ubuntu.com>
24478
24479 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24480 to grub_uint64_t.
24481 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24482 non-resident files.
24483
86695375 244842009-09-11 Colin Watson <cjwatson@ubuntu.com>
24485
24486 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24487 part of bug #27349.
24488
8aa1541a 244892009-09-10 Felix Zielcke <fzielcke@z-51.de>
24490
24491 * util/grub-mkconfig.in: Make the created config mode 400 and
24492 print a warning if it fails.
24493
48d9bb0a 244942009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24495
24496 * util/grub.d/40_custom.in: Ask user to type custom entries below
24497 comment, rather than below 'exec tail' line.
24498
3b0521be 244992009-09-10 Colin Watson <cjwatson@ubuntu.com>
24500
24501 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24502 visible in grub.cfg.
24503
50051d55 245042009-09-10 Colin Watson <cjwatson@ubuntu.com>
24505
24506 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24507 file.
24508
c0d34387 245092009-09-10 Felix Zielcke <fzielcke@z-51.de>
24510
24511 * docs/grub.cfg: Add an example menu entry for memtest86+.
24512
80a608f3 245132009-09-09 Felix Zielcke <fzielcke@z-51.de>
24514
a2094832 24515 * config.guess: Update to latest version from config git.
80a608f3 24516 * config.sub: Likewise.
24517
99423078 245182009-09-08 Colin Watson <cjwatson@ubuntu.com>
24519
24520 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24521 unknown-command case. Fixes bug #27320.
24522
44454e4c 245232009-09-08 Felix Zielcke <fzielcke@z-51.de>
24524
24525 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24526 `help' if the command exists.
24527
e30d87ad 245282009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24529
24530 * INSTALL: Require GCC 4.1.3 or later.
24531
9a86f1ec 245322009-09-06 Yves Blusseau <blusseau@zetam.org>
24533
24534 * Makefile.in (RMKFILES): add i386-qemu.rmk
24535 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24536 $(srcdir)/stamp-h.in
24537
7f26d466 245382009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24539
24540 * util/grub-probe.c (probe): Comment out buggy codepath, which
24541 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24542 should be re-enabled after 1.97.
24543
3a613259 245442009-09-05 Felix Zielcke <fzielcke@z-51.de>
24545
24546 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24547 find searches for.
24548
197f76c7 245492009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24550
24551 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24552 unnecessary calls to grub_error.
24553
70ba68ce 245542009-09-04 Colin Watson <cjwatson@ubuntu.com>
24555
24556 * NEWS: Mention `keystatus' and Unicode fonts.
24557
4ff0d7a4 245582009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24559
24560 * configure.ac: Bump version to 1.97~beta2.
24561 * docs/version.texi: Likewise.
24562
77c55a87 245632009-09-03 Colin Watson <cjwatson@ubuntu.com>
24564
24565 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24566 containing unwind information in some cases where it previously did
24567 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24568 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24569 discussion.
24570
f79572cd 245712009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24572
24573 Embedding loadenv module into grub-emu
24574
24575 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24576 commands/loadenv.c
24577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24578 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24579 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24581 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24582 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24583
93a81088 245842009-09-03 Magnus Granberg <zorry@ume.nu>
24585
24586 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24587 include -fPIE in the default specs.
24588 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24589 to TARGET_CFLAGS.
24590
160034b2 245912009-09-03 Felix Zielcke <fzielcke@z-51.de>
24592
24593 * INSTALL: Note that GNU Bison 2.3 or later is required.
24594
087c07c4 245952009-09-03 Colin Watson <cjwatson@ubuntu.com>
24596
24597 * kern/i386/pc/startup.S: Fix typo.
24598
cbf978c0 245992009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24600
24601 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24602 according to GCS.
24603
246042009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24605
24606 * docs/grub.texi (Naming convention): Describe one-based partition
24607 numbering.
24608 (Device syntax): Likewise.
24609 (File name syntax): Likewise.
24610 (Block list syntax): Likewise.
24611 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24612 menu.lst.
24613 (File name syntax): Likewise.
24614 (Command-line and menu entry commands): Document acpi, blocklist,
24615 crc, export, insmod, keystatus, ls, set, and unset commands.
24616
f3e8cdfd 246172009-09-02 Colin Watson <cjwatson@ubuntu.com>
24618
24619 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24620 to avoid implying that only one of --shift, --ctrl, or --alt may be
24621 used.
24622
c0bc232b 246232009-09-02 Colin Watson <cjwatson@ubuntu.com>
24624
24625 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24626 rather than comparing against S_IFREG, which will almost never work.
24627
aa0f752d 246282009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24629
24630 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24631 (write_blocklists): Likewise.
24632
ecb3166a 246332009-09-01 Colin Watson <cjwatson@ubuntu.com>
24634
24635 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24636 argument to grub_printf.
24637
c403a125 246382009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24639
24640 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24641 non GNU test.
31aba781 24642
b5e7312c 246432009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 * kern/file.c (grub_file_read): Spelling fix
24646
fe00f472 246472009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24648
24649 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24650 loading of headers in some cases.
24651
cc55302e 246522009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24653
24654 * configure.ac: Bump version to 1.97~beta1.
24655 * docs/version.texi: Likewise.
24656
5c90cdd2 246572009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24658
24659 * include/grub/i386/xnu.h: Add license header.
24660 include grub/err.h explicitly.
24661
c90edae4 246622009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24665 to `ufs' in the vfs.root.mountfrom kernel parameter.
24666
d8888b5c 246672009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24668
24669 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24670
24671 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24672 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24673
24674 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24675 `ARRAY_SIZE' macro.
24676
6f07b921 246772009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24678
24679 * kern/file.c (grub_file_read): Check offset.
24680 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24681 * fs/jfs.c (grub_jfs_read_file): Likewise.
24682 * fs/ntfs.c (grub_ntfs_read): Likewise.
24683 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24684 * fs/minix.c (grub_minix_read_file): Correct offset check.
24685 * fs/ufs.c (grub_ufs_read_file): Likewise.
24686
b4f34077 246872009-08-28 Colin Watson <cjwatson@ubuntu.com>
24688
24689 * term/i386/pc/console.c (bios_data_area): Cast
24690 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24691
e7c69859 246922009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24693
24694 1-bit optimised blitters.
24695
24696 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24697 prototype.
24698 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24699 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24700 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24701 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24702 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24703 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24704 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24705 function.
24706 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24707 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24708 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24709 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24710 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24711 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24712 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24713 when possible.
24714 * video/video.c (grub_video_get_blit_format): Return
24715 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24716
a57da43f 247172009-08-28 Colin Watson <cjwatson@ubuntu.com>
24718
24719 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24720 the first argument to grub_printf.
24721
4cbe67e5 247222009-08-28 Colin Watson <cjwatson@ubuntu.com>
247232009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24724
24725 Add `getkeystatus' terminal method. Add a new `keystatus' command
24726 to query it.
24727
24728 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24729 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24730 modifier key bitmasks.
24731 (struct grub_term_input): Add `getkeystatus' member.
24732 (grub_getkeystatus): Add prototype.
24733 * kern/term.c (grub_getkeystatus): New function.
24734
24735 * include/grub/i386/pc/memory.h
24736 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24737 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24738 Data Area layout.
24739 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24740 (grub_console_term_input): Set `getkeystatus' member.
24741 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24742 constants.
24743 (grub_usb_keyboard_getreport): Likewise.
24744 (grub_usb_keyboard_checkkey): Likewise.
24745 (grub_usb_keyboard_getkeystatus): New function.
24746 (grub_usb_keyboard_term): Set `getkeystatus' member.
24747
24748 * commands/keystatus.c: New file.
24749 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24750 (keystatus_mod_SOURCES): New variable.
24751 (keystatus_mod_CFLAGS): Likewise.
24752 (keystatus_mod_LDFLAGS): Likewise.
24753 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24754 commands/keystatus.c.
24755 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24756 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24757 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24759 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24760 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24761
6e2a9085 247622009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24763
24764 Split befs.mod and afs.mod into *_be.mod and *.mod
24765
24766 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24767 (grub_fstest_SOURCES): Likewise.
24768 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24769 (afs_be_mod_SOURCES): New variable.
24770 (afs_be_mod_CFLAGS): Likewise.
24771 (afs_be_mod_LDFLAGS): Likewise.
24772 (befs_be_mod_SOURCES): Likewise.
24773 (befs_be_mod_CFLAGS): Likewise.
24774 (befs_be_mod_LDFLAGS): Likewise.
24775 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24777 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24778 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24779 (grub_emu_SOURCES): Likewise.
24780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24781 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24782 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24783 * fs/afs_be.c: New file.
24784 * fs/befs_be.c: New file.
24785 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24786 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24787 (U16): Replaced with ...
24788 (grub_afs_to_cpu16): ...this. All users updated.
24789 (U32): Replaced with ...
24790 (grub_afs_to_cpu32): ...this. All users updated.
24791 (U64): Replaced with ...
24792 (grub_afs_to_cpu64): ...this. All users updated.
24793 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24794 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24795 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24796 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24797 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24798 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24799 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24800 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24801 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24802 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24803 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24804
32a71655 248052009-08-26 Bean <bean123ch@gmail.com>
24806
24807 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24808 64-bit number.
24809 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24810 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24811 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24812
552bf6c5 248132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24814
24815 NetBSD memory map support.
24816
24817 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24818 (grub_netbsd_btinfo_mmap_header): New structure.
24819 (grub_netbsd_btinfo_mmap_entry): Likewise.
24820 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24821
1ae2078c 248222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24823
24824 Enable bsd.mod on coreboot.
24825
24826 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24827 (bsd_mod_SOURCES): New variable.
24828 (bsd_mod_CFLAGS): Likewise.
24829 (bsd_mod_LDFLAGS): Likewise.
24830 (bsd_mod_ASFLAGS): Likewise.
24831 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24832 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24833
beefc598 248342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24835
24836 Cleanup NetBSD root support.
24837
24838 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24839 grub_bsd_get_device.
24840 Fix typo.
24841
3b76e68b 248422009-08-25 Felix Zielcke <fzielcke@z-51.de>
24843
24844 * util/grub.d/00_header.in: Move check for the video backend of
24845 gfxterm from here ...
24846 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24847 a suitable video backend.
24848
aea664ea 248492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24850
24851 Fix breakage in grub-setup.
24852
24853 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24854 "msdos_partition_map".
24855
ff747d50 248562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24857
24858 Fix breakage in normal/auth.c.
24859
24860 * normal/auth.c (grub_iswordseparator): New function.
24861
e7e1f93f 248622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24863
24864 Authentication support.
24865
24866 * commands/password.c: New file.
24867 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24868 (password_mod_SOURCES): New variable.
24869 (password_mod_CFLAGS): Likewise.
24870 (password_mod_LDFLAGS): Likewise.
24871 (normal_mod_SOURCES): Add normal/auth.c.
24872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24873 normal/auth.c.
24874 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24875 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24876 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24878 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24879 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24880 * include/grub/auth.h: New file.
24881 * include/grub/err.h (grub_err_t): New enum value
24882 GRUB_ERR_ACCESS_DENIED.
24883 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24884 'users'.
24885 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24886 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24887 users updated.
24888 * normal/auth.c: New file.
24889 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24890 (grub_cmdline_run): Don't allow to go to command line without
24891 authentication.
24892 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24893 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24894 menuentry without superuser rights.
24895 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24896 user isn't a superuser.
24897
70f1161d 248982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24899
24900 Save space by inlining misc.c functions.
24901
24902 * kern/misc.c (grub_iswordseparator): Made static.
24903 * kern/misc.c (grub_strcat): Moved from here ...
24904 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24905 * kern/misc.c (grub_strncat): Moved from here ...
24906 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24907 * kern/misc.c (grub_strcasecmp): Moved from here ...
24908 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24909 * kern/misc.c (grub_strncasecmp): Moved from here ...
24910 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24911 * kern/misc.c (grub_isalpha): Moved from here ...
24912 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24913 * kern/misc.c (grub_isdigit): Moved from here ...
24914 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24915 * kern/misc.c (grub_isgraph): Moved from here ...
24916 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24917 * kern/misc.c (grub_tolower): Moved from here ...
24918 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24919
48e40bff 249202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 * script/sh/function.c (grub_script_function_find): Cut error message
24923 not to flood terminal.
24924 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24925 limit.
24926 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24927
c385bfc3 249282009-08-24 Colin Watson <cjwatson@ubuntu.com>
24929
24930 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24931 `report' grub_uint8_t *.
24932 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24933 Use a 50-millisecond timeout rather than just repeating
24934 grub_usb_keyboard_getreport 50 times.
24935 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24936
2d21e3e8 249372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 Rename *_partition_map to part_*
24940
24941 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24942 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24943 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24944 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24945 All users updated.
24946 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24947 All users updated.
24948 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24949 * util/grub-probe.c (probe_partmap): Don't transform partition name
24950 to get module name.
24951
dd103c4e 249522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 Fix OpenBSD and NetBSD support.
24955
24956 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24957 memory address conflict.
24958 (OPENBSD_MMAP_ACPI): New definition.
24959 (OPENBSD_MMAP_NVS): Likewise.
24960 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24961 and OPENBSD_MMAP_NVS.
24962 Add memory map terminator
24963 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24964 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24965
16c84d74 249662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24967
24968 Let user specify NetBSD root device.
24969
24970 * loader/i386/bsd.c (netbsd_root): New variable.
24971 (netbsd_opts): New option 'root'.
24972 (NETBSD_ROOT_ARG): New macro.
24973 (grub_netbsd_boot): Use 'netbsd_root'.
24974 (grub_bsd_unload): Free 'netbsd_root'.
24975 (grub_cmd_netbsd): Fill 'netbsd_root'.
24976
adb29902 249772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24978
24979 Support for 64-bit NetBSD.
24980
24981 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24982 point when booting non-FreeBSD.
24983
f5ae9f74 249842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24985
24986 Support --no-smp and --no-acpi for NetBSD.
24987
24988 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24989 (NETBSD_AB_NOACPI): Likewise.
24990 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24991 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24992
de74f136 249932009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24994
24995 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24996 errors.
24997 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24998 errors. Call grub_error when needed.
24999
e9a925da 250002009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25001
25002 * commands/search.c (search_fs): Try searching without autoload first.
25003 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25004 filesystem module explicitly for faster booting.
25005
5174302b 250062009-08-23 Colin Watson <cjwatson@ubuntu.com>
25007
25008 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25009
c8c80635 250102009-08-23 Colin Watson <cjwatson@ubuntu.com>
25011
25012 * util/grub.d/30_os-prober.in: Disable os-prober if
25013 `GRUB_DISABLE_OS_PROBER' was set to true.
25014
71acf5e5 250152009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25016
25017 * partmap/pc.c: Rename to ...
25018 * partmap/msdos.c: ... this. Update all users.
25019 (grub_pc_partition_map): Rename to ...
25020 (grub_msdos_partition_map): ... this. Update all users.
25021
25022 * parttool/pcpart.c: Rename to ...
25023 * parttool/msdospart.c: ... this. Update all users.
25024
25025 * include/grub/pc_partition.h: Rename to ...
25026 * include/grub/msdos_partition.h: ... this. Update all users.
25027 (grub_pc_partition_bsd_entry): Rename to ...
25028 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25029 (grub_pc_partition_disk_label): Rename to ...
25030 (grub_msdos_partition_disk_label): ... this. Update all users.
25031 (grub_pc_partition_entry): Rename to ...
25032 (grub_msdos_partition_entry): ... this. Update all users.
25033 (grub_pc_partition_mbr): Rename to ...
25034 (grub_msdos_partition_mbr): ... this. Update all users.
25035 (grub_pc_partition): Rename to ...
25036 (grub_msdos_partition): ... this. Update all users.
25037 (grub_pc_partition_is_empty): Rename to ...
25038 (grub_msdos_partition_is_empty): ... this. Update all users.
25039 (grub_pc_partition_is_extended): Rename to ...
25040 (grub_msdos_partition_is_extended): ... this. Update all users.
25041 (grub_pc_partition_is_bsd): Rename to ...
25042 (grub_msdos_partition_is_bsd): ... this. Update all users.
25043
25044 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25045 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25046 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25047 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25048 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25049 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25050 (gpt_mod_LDFLAGS): Rename to ...
25051 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25052 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25053 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25054 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25055 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25056 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25057 (part_gpt_mod_LDFLAGS): ... this.
25058 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25059 `pcpart.mod' to `msdospart.mod'.
25060 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25061 to ...
25062 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25063 (msdospart_mod_LDFLAGS): ... this.
25064
c11fded5 250652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25068 (openbsd_opts): Likewise.
25069 (netbsd_opts): Likewise.
25070 (freebsd_flags): Added 0 terminator.
25071 (openbsd_flags): Likewise.
25072 (netbsd_flags): Likewise.
25073 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25074 (grub_cmd_freebsd): Transformed into extended command.
25075 (grub_cmd_openbsd): Likewise.
25076 (grub_cmd_netbsd): Likewise.
25077 (cmd_freebsd): Changed type to grub_extcmd_t.
25078 (cmd_openbsd): Likewise.
25079 (cmd_netbsd): Likewise.
25080 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25081 grub_cmd_openbsd as extended commands.
25082 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25083 cmd_netbsd and cmd_openbsd
25084
11d1c769 250852009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25086
25087 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25088
7a9094e5 250892009-08-21 Pavel Roskin <proski@gnu.org>
25090
5496c37e 25091 * Makefile.in (install-local): When checking if a file is in the
25092 build directory, use "test -e" to detect symlinks.
25093
7a9094e5 25094 * Makefile.in (install-local): Remove all files in
25095 $(DESTDIR)$(pkglibdir) before installing new files there.
25096
e53cea11 250972009-08-18 Felix Zielcke <fzielcke@z-51.de>
25098
25099 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25100 grub-mkelfimage.
25101
9aced544 251022009-08-18 Felix Zielcke <fzielcke@z-51.de>
25103
25104 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25105 explicitly specified by the user.
25106
b7da6bab 251072009-08-18 Pavel Roskin <proski@gnu.org>
25108
25109 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25110 grub_uint8_t pointer for data.
25111 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25112 Likewise.
25113 * video/fb/fbutil.c: Remove unnecessary casts.
25114
19f1b335 251152009-08-17 Michal Suchanek <hramrach@centrum.cz>
25116
25117 VBE cleanup.
25118
25119 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25120 (grub_vbe_set_video_mode): Save active mode info
25121 only after setting the mode.
25122 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25123 second argument.
25124
2f467aa9 251252009-08-17 Michal Suchanek <hramrach@centrum.cz>
25126
25127 Rename variables for clarity.
25128
25129 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25130 (active_vbe_mode_info): ... this. All users updated.
25131 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25132 All users updated.
25133 (initial_mode): Rename to ...
25134 (initial_vbe_mode): ... this. All users updated.
25135 (mode_in_use): Rename to ..
25136 (vbe_mode_in_use): ... this. All users updated.
25137 (mode_list): Rename to ..
25138 (vbe_mode_list): ... this. All users updated.
25139 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25140 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25141 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25142 'mode_list_size' to 'vbe_mode_list_size'.
25143 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25144 'best_mode_info' to 'best_vbe_mode_info' and
25145 'best_mode' to 'best_vbe_mode'
25146
6025fcd7 251472009-08-17 Michal Suchanek <hramrach@centrum.cz>
25148
25149 Remove duplicate grub_video_fb_get_video_ptr.
25150
25151 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25152 (grub_video_fb_get_video_ptr): ... this.
25153 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25154 * video/fb/fbutil.c: Add comment about addressing.
25155 (get_data_ptr): Rename to ...
25156 (grub_video_fb_get_video_ptr): ... this. All users updated.
25157 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25158
cc8c6faf 251592009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25160
25161 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25162 grub_dprintf() that was just added.
25163
08aa61f0 251642009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25165
25166 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25167 (DEFAULT_VIDEO_MODE): Remove macros.
25168 (grub_linux_boot): Remove assumption that Linux has FB support,
25169 and use "text" as default video mode.
25170
7cef4f75 251712009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25172
25173 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25174 grub_dprintf.
25175 * fs/fat.c (grub_fat_read_data): Likewise.
25176
e1f39873 251772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25178
25179 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25180 payload.
25181 (grub_module): Likewise.
25182
c166d79e 251832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25184
25185 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25186 mbi->cmdline but free playground.
25187
c60cee8e 251882009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25189
25190 Handle group offset on UFS1.
25191
25192 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25193 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25194
c0d8b5d4 251952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25196
25197 Split ufs.mod into ufs1.mod and ufs2.mod.
25198
25199 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25200 (grub_fstest_SOURCES): Likewise.
25201 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25202 (ufs_mod_SOURCES): Remove.
25203 (ufs_mod_CFLAGS): Likewise.
25204 (ufs_mod_LDFLAGS): Likewise.
25205 (ufs1_mod_SOURCES): New variable.
25206 (ufs1_mod_CFLAGS): Likewise.
25207 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25208 (ufs2_mod_SOURCES): New variable.
25209 (ufs2_mod_CFLAGS): Likewise.
25210 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25211 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25212 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25213 Likewise.
25214 (grub_emu_SOURCES): Likewise.
25215 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25216 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25217 (grub_setup_SOURCES): Likewise.
25218 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25219 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25220 (grub_setup_SOURCES): Likewise.
25221 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25222 Likewise.
25223 * fs/ufs2.c: New file.
25224 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25225
d3539132 252262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25227
25228 Framebuffer split.
25229
25230 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25231 subsystem at the end.
25232 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25233 (video_fb_mod_SOURCES): New variable.
25234 (video_fb_mod_CFLAGS): Likewise.
25235 (video_fb_mod_LDFLAGS): Likewise.
25236 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25237 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25238 * video/i386/pc/vbeblit.c: Moved from here ...
25239 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25240 * video/i386/pc/vbefill.c: Moved from here ...
25241 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25242 * video/i386/pc/vbeutil.c: Moved from here ...
25243 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25244 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25245 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25246 * include/grub/i386/pc/vbefill.h: Moved from here ...
25247 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25248 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25249 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25250 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25251 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25252 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25253 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25254 (grub_video_adapter): Added 'get_info_and_fini'.
25255 (grub_video_get_info_and_fini): New prototype.
25256 (grub_video_set_mode): make modestring const char *.
25257 * loader/i386/linux.c (grub_linux_setup_video): Use
25258 grub_video_get_info_and_fini.
25259 (grub_linux_boot): Move modesetting just before booting.
25260 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25261 grub_video_get_info_and_fini.
25262 * video/i386/pc/vbe.c: Moved framebuffer part ...
25263 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25264 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25265 grub_video_fbstd_colors and grub_video_fb_set_palette.
25266 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25267 grub_video_fb_init.
25268 (grub_video_vbe_fini): Use grub_video_fb_fini.
25269 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25270 render_target and use grub_video_fb_set_active_render_target and
25271 grub_video_fb_set_palette.
25272 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25273 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25274 (grub_video_vbe_adapter): Use framebuffer.
25275 * video/video.c (grub_video_get_info_and_fini): New function.
25276 (grub_video_set_mode): Make modestring const char *.
25277 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25278 values are already initialised.
25279
d404ee56 252802009-08-14 Pavel Roskin <proski@gnu.org>
25281
25282 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25283 ABS and APPLE_CC.
25284 * boot/i386/pc/diskboot.S: Likewise.
25285 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25286 sectors allow compilation on MacOSX.
25287 * conf/i386-pc.rmk: Enable unconditional compilation of
25288 lnxboot.img.
25289
9a10df16 252902009-08-13 Colin Watson <cjwatson@ubuntu.com>
25291
25292 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25293 * util/grub.d/00_header.in: Enter interruptible sleep if
25294 GRUB_HIDDEN_TIMEOUT is set.
25295
be3c9ca7 252962009-08-13 Yves Blusseau <blusseau@zetam.org>
25297
25298 * include/grub/symbol.h: Add the LOCAL macro.
25299 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25300 starting with "L_".
25301
1f9e557e 253022009-08-13 Pavel Roskin <proski@gnu.org>
25303
9ca62843 25304 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25305 any modern compilers we support.
25306
1f9e557e 25307 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25308 Use local labels starting with "L_" so that Apple assembler
25309 knows they are local.
25310
81623db6 253112009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25312
25313 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25314 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25315 (bsd_kernel_types): ... this enum.
25316
25317 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25318 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25319 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25320
25321 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25322 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25323 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25324 messages.
25325
f5d35e7a 253262009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25327
25328 * util/grub-dumpdevtree: Moved from here ...
25329 * util/i386/efi/grub-dumpdevtree: ... to here.
25330 (hexify): New function. Converts a string to its hex version.
25331 Generate hex versions of "efi" and "device-properties" by calling
25332 hexify() on the ASCII strings rather than by hardcoding numbers.
25333
d1e1d527 253342009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25335
25336 * fs/jfs.c: Update copyright year.
25337
1ebbe064 253382009-08-08 Felix Zielcke <fzielcke@z-51.de>
25339
25340 * util/grub.d/00_header.in: Fix a comment.
25341 * util/grub.d/10_linux.in: Likewise.
25342 * util/grub.d/10_windows.in: Likewise.
25343 * util/grub.d/10_hurd.in: Likewise.
25344
a78c8d24 253452009-08-08 Felix Zielcke <fzielcke@z-51.de>
25346
25347 * util/grub-mkconfig.in: Allow the user to specify the used font
25348 with GRUB_FONT.
25349
29a6b9e8 253502009-08-08 Pavel Roskin <proski@gnu.org>
25351
b5f16cc4 25352 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25353 available, xfs.mod needs it now.
25354
2f5cb827 25355 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25356 the "g" modifier in sed when the intention is to strip something
25357 once. This fixes comparison of kernels with multiple dashes.
25358
29a6b9e8 25359 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25360 on it. Add missing space before closing bracket. Fix
25361 misleading formatting.
25362
892a3d98 253632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25364
25365 * docs/grub.texi: Major overhaul. Remove all sections that are
25366 specific to GRUB Legacy, or mostly composed of Legacy-specific
25367 information.
25368
ed94253f 253692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25370
25371 * docs/version.texi: New file. Provides version information for
25372 grub.texi.
25373
126d6628 253742009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25375
25376 * docs/grub.texi: Update CVS information to SVN.
25377 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25378
998b5aa9 253792009-08-07 Felix Zielcke <fzielcke@z-51.de>
25380
25381 * util/grub-mkconfig.in: Remove a wrong `fi'.
25382
818e094a 253832009-08-07 Felix Zielcke <fzielcke@z-51.de>
25384
25385 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25386 (grub_jfs_uuid): New function.
25387 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25388
b969c52f 253892009-08-07 Felix Zielcke <fzielcke@z-51.de>
25390
25391 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25392 of it to ...
25393 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25394 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25395
7a4894cc 253962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25397
25398 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25399 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25400 Update all users.
25401
25402 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25403 not just "vmlinu[zx]".
25404 Moved from here ...
25405 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25406 all users.
25407
25408 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25409 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25410 all users.
25411
4e2171f8 254122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25413
25414 * util/grub.d/10_freebsd.in: Use an absolute device path for
25415 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25416
6dcfcb32 254172009-08-06 Felix Zielcke <fzielcke@z-51.de>
25418
25419 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25420 handling of multiple abstraction modules.
25421
f56a8756 254222009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25423
25424 Fix a bug resulting in black screen when loading Linux using a
25425 packed video mode.
25426
25427 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25428 function.
25429
25430 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25431 (grub_vbe_bios_getset_dac_palette_width): New function.
25432 (grub_vbe_bios_get_dac_palette_width)
25433 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25434 grub_vbe_bios_getset_dac_palette_width()).
25435
25436 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25437 check for return status.
25438 (grub_vbe_get_video_mode_info): When getting information for a packed
25439 mode (<= 8 bpp), obtain DAC palette width using
25440 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25441 {red,green,blue}_mark_size.
25442
222671b2 254432009-08-04 Felix Zielcke <fzielcke@z-51.de>
25444
ecb1a6d9 25445 * commands/search.c (options): Fix help output to match actual code.
222671b2 25446
f84114f5 254472009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25448
25449 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25450 of homegrown code.
25451
bd288a20 254522009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25453
25454 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25455 on XFS or ReiserFS.
25456
8aab5e25 254572009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25458
25459 Support Apple partition map with sector size different from 512 bytes.
25460
25461 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25462 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25463 and 'apart.partmap_size'.
25464
6ad6258a 254652009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
254662009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25467
25468 Fix cpuid command.
25469
25470 * commands/i386/cpuid.c (options): New variable.
25471 (grub_cmd_cpuid): Return real error.
25472 (GRUB_MOD_INIT(cpuid)): Declare options.
25473
67459bc6 254742009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25475
25476 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25477 valid.
25478
fbc6ab54 254792009-07-31 Bean <bean123ch@gmail.com>
25480
25481 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25482 log2_inode.
25483 (grub_fshelp_node): Move inode field to the end.
25484 (grub_xfs_data): Remove inode field.
25485 (grub_xfs_inode_block): Calculate inode size using sblock.
25486 (grub_xfs_inode_offset): Likewise.
25487 (grub_xfs_read_inode): Calculate inode size using sblock.
25488 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25489 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25490 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25491 to match inode size.
25492 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25493 not accessible when data is null.
25494 (grub_xfs_open): Likewise.
25495
f45d6cfc 254962009-07-31 Bean <bean123ch@gmail.com>
25497
25498 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25499 Don't change pv->disk if it's already set.
25500
25501 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25502 (grub_raid_register): ... here.
25503 (grub_raid_rescan): Removed.
25504
25505 * include/grub/raid.h (grub_raid_rescan): Removed.
25506
25507 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25508 (fstest): Replace grub_raid_rescan with module fini function followed
25509 by init function.
25510
25511 * util/grub-probe.c: Add include file <grub/raid.h>.
25512 (probe_raid_level): New function.
25513 (probe): Detect abstraction by walking the disk device, support two
25514 level of abstraction (LVM on RAID) when detecting partition map.
25515
24443b5a 255162009-07-31 Pavel Roskin <proski@gnu.org>
25517
25518 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25519 to grub_zalloc(), it was erroneous.
25520 Reported by Bean <bean123ch@gmail.com>
25521
a275d9e7 255222009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25523
25524 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25525 embedding zone, not only the first one.
a275d9e7 25526
56c5a47f 255272009-07-29 Joe Auricchio <jauricchio@gmail.com>
25528
25529 * term/gfxterm.c (clear_char): New function.
25530 (grub_virtual_screen_setup): Use clear_char.
25531 (scroll_up): Likewise.
25532 (grub_virtual_screen_cls): Likewise.
25533
67bb323a 255342009-07-29 Felix Zielcke <fzielcke@z-51.de>
25535
25536 * util/deviceiter.c (get_acceleraid_disk_name): New static
25537 function.
25538 (grub_util_iterate_devices): Handle Accelraid devices.
25539 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25540
388a7c75 255412009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25542
25543 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25544 separator for the suggested gfxpayload string (';' collides with the
25545 parser and needs escaping).
25546
3bb7abcf 255472009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25548
25549 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25550 Clear direction flag before jumping to OS.
25551 (grub_multiboot2_real_boot): Likewise.
25552
2ddd36d7 255532009-07-28 Felix Zielcke <fzielcke@z-51.de>
25554
25555 * util/i386/pc/grub-install: Fix parsing of --disk-module
25556 option.
25557
c521b62b 255582009-07-28 Felix Zielcke <fzielcke@z-51.de>
25559
25560 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25561 when embedding.
25562
880e0a0c 255632009-07-26 Felix Zielcke <fzielcke@z-51.de>
25564
25565 * util/grub-mkconfig.in (package_version): New variable.
25566 Use it do display the version.
25567
2366e356 255682009-07-25 Felix Zielcke <fzielcke@z-51.de>
25569
25570 * kern/file.c (grub_file_open): Revert to previous check with
25571 grub_errno.
25572
7ad8c80e 255732009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25574
25575 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25576 from help line. It's out of sync with code.
25577
72b9658b 255782009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25579
25580 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25581 entries on failed boot.
25582
77435277 255832009-07-25 Felix Zielcke <fzielcke@z-51.de>
25584
25585 * kern/file.c (grub_file_open): Fix an error check.
25586
fcaa8b21 255872009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25588
35d16c74 25589 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25590 partition map couldn't be identified.
fcaa8b21 25591
48904cd1 255922009-07-23 Pavel Roskin <proski@gnu.org>
25593
ef3c317f 25594 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25595 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25596 case of little endian words becomes just an optimization.
25597 Respect const modifier.
ad8ea1f4 25598 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25599
48904cd1 25600 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25601 to avoid loss of upper bits if align is unsigned and shorter
25602 than addr.
25603
260c9a89 256042009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25605
25606 UUID support for UFS
25607
25608 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25609 (grub_ufs_uuid): New function.
25610 (grub_ufs_fs): add .uuid
25611
f76ce889 256122009-07-21 Pavel Roskin <proski@gnu.org>
25613
25614 * kern/dl.c (grub_dl_check_header): Make static.
25615
6a6cbcaf 256162009-07-21 Felix Zielcke <fzielcke@z-51.de>
25617
25618 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25619 add drivemap for Vista. It breaks Windows 7.
25620
cffcddb2 256212009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25622
25623 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25624 128 bytes
25625
1ef44b80 256262009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25627
25628 Add BFS support
25629
25630 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25631 (grub_fstest_SOURCES): Likewise.
25632 (pkglib_MODULES): Add befs.mod.
25633 (befs_mod_SOURCES): New variable.
25634 (befs_mod_CFLAGS): Likewise.
25635 (befs_mod_LDFLAGS): Likewise.
25636 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25637 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25639 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25640 (grub_setup_SOURCES): Likewise.
25641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25642 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25643 (grub_setup_SOURCES): Likewise.
25644 * fs/befs.c: New file.
25645 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25646 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25647 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25648 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25649 (B_KEY_INDEX_ALIGN): New declaration.
25650 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25651 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25652 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25653 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25654 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25655 (grub_afs_mount) [MODE_BFS]: Likewise.
25656 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25657 (grub_afs_fs): Use GRUB_AFS_FSNAME
25658 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25659 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25660 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25661 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25662
4f253044 256632009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25664
25665 * util/getroot.c (find_root_device): Add support for MacOSX.
25666 * util/hostdisk.c: Likewise.
25667
57a55913 256682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25669
25670 * font/font.c (find_glyph): Check whether a font is present to avoid
25671 segmentation fault.
75421ca9 25672
256732009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25674
25675 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25676
e98cd0c2 256772009-07-20 Pavel Roskin <proski@gnu.org>
25678
25679 * configure.ac: Trim excessively wordy excuses.
25680
1d2d169a 256812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 Add symlink, mtime and label support to AtheFS.
25684
25685 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25686 (grub_afs_iterate_dir): Handle symlinks.
25687 (grub_afs_open): Use grub_afs_read_symlink.
25688 (grub_afs_dir): Likewise.
25689 Pass mtime.
25690 (grub_afs_label): New function.
25691 (grub_afs_fs): Add grub_afs_label.
25692 (grub_afs_read_symlink): New function.
25693
186f3189 256942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25695
25696 Fix AtheFS support.
25697
25698 * fs/afs.c: Fix comments style.
25699 (grub_afs_blockrun): Declare as packed.
25700 (grub_afs_datastream): Likewise.
25701 (grub_afs_bnode): Likewise.
25702 (grub_afs_btree): Likewise.
25703 (grub_afs_sblock): Likewise.
25704 Declare `name' as char.
25705 (grub_afs_inode): Declare as packed.
25706 Change void *vnode to grub_uint32_t unused.
25707 (grub_afs_iterate_dir): Check that key_size is positive.
25708 (grub_afs_mount): Don't read superblock twice.
75421ca9 25709 (grub_afs_dir): Don't free node in case of error,
186f3189 25710 grub_fshelp_find_file already handles this.
25711 (grub_afs_open): Likewise.
25712
5680109e 257132009-07-19 Pavel Roskin <proski@gnu.org>
25714
25715 * Makefile.in: Remove LIBLZO and enable_lzo.
25716 * conf/i386-pc.rmk: Remove lzo support.
25717 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25718 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25719 support.
25720 * kern/i386/pc/lzo1x.S: Remove.
25721 * kern/i386/pc/startup.S: Remove lzo support.
25722 * util/i386/pc/grub-mkimage.c: Likewise.
25723
ac70fa32 257242009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25725
25726 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25727 * fs/xfs.c (grub_xfs_dir): Likewise.
25728 * fs/afs.c (grub_afs_dir): Likewise.
25729 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25730 (grub_iso9660_open): Likewise.
25731 * fs/jfs.c (grub_jfs_open): Likewise.
25732 * fs/ext2.c (grub_ext2_dir): Likewise.
25733 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25734 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25735
eab58da2 257362009-07-16 Pavel Roskin <proski@gnu.org>
25737
d2838156 25738 * configure.ac: Never add "-c" to CFLAGS.
25739
55c70904 25740 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25741
43e6200c 25742 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25743 grub_cv_cc_efiemu should be used.
25744
ce7a733d 25745 * configure.ac: Typo fixes.
25746
eab58da2 25747 * kern/mm.c (grub_zalloc): New function.
25748 (grub_debug_zalloc): Likewise.
25749 * include/grub/mm.h: Declare grub_zalloc() and
25750 grub_debug_zalloc().
25751 * util/misc.c (grub_zalloc): New function.
25752 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25753 instead of grub_malloc(), remove unneeded initializations.
25754 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25755 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25756 * commands/parttool.c (grub_cmd_parttool): Likewise.
25757 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25758 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25759 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25760 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25761 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25762 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25763 (grub_cmd_efiemu_pnvram): Likewise.
25764 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25765 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25766 (grub_iso9660_iterate_dir): Likewise.
25767 * fs/jfs.c (grub_jfs_opendir): Likewise.
25768 * fs/ntfs.c (list_file): Likewise.
25769 (grub_ntfs_mount): Likewise.
25770 * kern/disk.c (grub_disk_open): Likewise.
25771 * kern/dl.c (grub_dl_load_core): Likewise.
25772 * kern/elf.c (grub_elf_file): Likewise.
25773 * kern/env.c (grub_env_context_open): Likewise.
25774 (grub_env_set): Likewise.
25775 (grub_env_set_data_slot): Likewise.
25776 * kern/file.c (grub_file_open): Likewise.
25777 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25778 * loader/i386/multiboot.c (grub_module): Likewise.
25779 * loader/xnu.c (grub_xnu_create_key): Likewise.
25780 (grub_xnu_create_value): Likewise.
25781 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25782 (read_config_file): Likewise.
25783 * normal/menu_entry.c (make_screen): Likewise.
25784 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25785 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25786 * script/sh/script.c (grub_script_parse): Likewise.
25787 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25788 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25789 * video/readers/png.c (grub_png_output_byte): Likewise.
25790 (grub_video_reader_png): Likewise.
25791
830afef7 257922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25793
25794 Enable all targets that can be built by default
25795
830afef7 25796 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25797 grub-mkfont and grub-fstest if they can be built
25798
ee293aee 257992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25800
25801 Fix hang and segmentation fault in grub-emu-usb
25802
25803 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25804 * util/usb.c (grub_libusb_devices): likewise
25805 (grub_libusb_init): rename to ...
25806 (GRUB_MOD_INIT (libusb)):...this
25807 (grub_libusb_fini): rename to ..
25808 (GRUB_MOD_FINI (libusb)):...this
25809 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25810 * include/grub/disk.h (grub_raid_init): removed, it's useless
25811 (grub_raid_fini): likewise
25812 (grub_lvm_init): likewise
25813 (grub_lvm_fini): likewise
25814 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25815 by grub_init_all
25816
94414221 258172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25818
25819 Fix libusb
25820
25821 * Makefile.in (LIBUSB): new macro
25822 * genmk.rb (Utility/print_tail): new method
25823 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25824 (top level): call util.print_tail at the end.
25825
59ade63d 258262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25827
25828 Make FreeBSD accept zpool.cache
25829
25830 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25831 type is /boot/zfs/zpool.cache
25832
a58da8c7 258332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25834
25835 Fix 64-bit efiemu
25836
25837 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25838 correct wrong typedef
25839 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25840
20591577 258412009-07-15 Pavel Roskin <proski@gnu.org>
25842
560ca572 25843 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25844 * kern/disk.c (struct grub_disk_cache): Likewise.
25845
e8e8e4fd 25846 * commands/probe.c (options): Typo fix.
25847
fde24e10 25848 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25849 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25850 accordingly.
25851 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25852
379c54c1 25853 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25854 the end of "Error" to make the message more readable.
25855
7bd8f5bf 25856 * boot/i386/pc/boot.S (kernel_segment): Remove.
25857 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25858 for destination.
25859
40b132c5 25860 * boot/i386/pc/boot.S (boot_version): Remove.
25861 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25862 Remove.
25863
20591577 25864 * include/grub/i386/pc/boot.h: Sort all offsets.
25865 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25866 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25867 * boot/i386/pc/boot.S: Assert location of every offset listed in
25868 include/grub/i386/pc/boot.h.
25869
2df32b2c 258702009-07-13 Pavel Roskin <proski@gnu.org>
25871
44b5d879 25872 * include/grub/i386/coreboot/machine.h: Rename
25873 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25874 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25875 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25876
17dc3751 25877 * kern/dl.c: Force native word size to suppress warnings when
25878 compiling grub-emu.
25879
2df32b2c 25880 * kern/device.c (grub_device_iterate): Change struct part_ent to
25881 hold the name, not a pointer to it. Use one grub_malloc() per
25882 partition, not two. Free partition_name if grub_malloc() fails.
25883 Set ents to NULL only before grub_partition_iterate() is called.
25884
75c59f59 258852009-07-11 Bean <bean123ch@gmail.com>
25886
25887 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25888 childname.
25889
0ae1bf88 258902009-07-10 Bean <bean123ch@gmail.com>
258912009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25892
25893 * kern/ieee1275/openfw.c (grub_children_iterate)
25894 (grub_devalias_iterate): Fix size evaluation for property or path
25895 strings, which was broken since r2132.
25896
8279cade 258972009-07-07 Pavel Roskin <proski@gnu.org>
25898
7d8a52d3 25899 * commands/search.c (search_file): Merge into ...
25900 (search_fs): ... this. Accept search type as argument.
25901 (grub_cmd_search): Pass search type to search_fs().
25902
25f9a05a 25903 * include/grub/util/console.h: New file.
25904 * util/console.c: Use it instead of grub/machine/console.h.
25905 * util/grub-emu.c: Likewise.
25906
8279cade 25907 * lib/arg.c (find_long_option): Remove.
25908 (find_long): Add `len' argument, make `s' const char *.
25909 (grub_arg_parse): Parse long options in place, not in a
25910 temporary buffer.
25911
4a11b60f 259122009-07-06 Pavel Roskin <proski@gnu.org>
25913
99f68041 25914 * commands/search.c (search_fs): Fix potential NULL pointer
25915 dereference.
25916
4a11b60f 25917 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25918 function pointer.
25919
e110f4de 259202009-07-06 Daniel Mierswa <impulze@impulze.org>
25921
25922 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25923 comparison.
25924
46eeb6a2 259252009-07-05 Pavel Roskin <proski@gnu.org>
25926
bab74958 25927 * include/grub/i386/linux.h (struct linux_kernel_params):
25928 Restore padding3, it's still needed.
25929
46eeb6a2 25930 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25931 FreeBSD.
25932 * util/osdetect.lua: Likewise.
25933
b4a1dc79 259342009-07-05 Bean <bean123ch@gmail.com>
25935
25936 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25937
25938 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25939 (grub_lua_getenv): Likewise.
25940 (grub_lua_setenv): Likewise.
25941 (save_errno): New function.
25942 (push_result): Likewise.
25943 (grub_lua_enum_device): Likewise.
25944 (grub_lua_enum_file): Likewise.
25945 (grub_lua_file_open): Likewise.
25946 (grub_lua_file_close): Likewise.
25947 (grub_lua_file_seek): Likewise.
25948 (grub_lua_file_read): Likewise.
25949 (grub_lua_file_getline): Likewise.
25950 (grub_lua_file_getsize): Likewise.
25951 (grub_lua_file_getpos): Likewise.
25952 (grub_lua_file_eof): Likewise.
25953 (grub_lua_file_exist): Likewise.
25954 (grub_lua_add_menu): Likewise.
25955
25956 * script/lua/grub_lua.h (isupper): New inline function.
25957 (islower): Likewise.
25958 (ispunct): Likewise.
25959 (isxdigit): Likewise.
25960 (strcspn): Change to normal function.
25961 (strpbkr): New function declaration.
25962 (memchr): Likewise.
25963
25964 * script/lua/grub_main.c (scan_str): New function.
25965 (strcspn): Likewise.
25966 (strpbrk): Likewise.
25967 (memchr): Likewise.
25968
25969 * script/lua/linit.c (lualibs): Enable the string library.
25970
25971 * util/osdetect.lua: New file.
25972
2da92295 259732009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25974
25975 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25976 `capabilities' member.
25977
b2582ec9 259782009-07-02 Pavel Roskin <proski@gnu.org>
25979
25980 * genparttoollist.sh: Add missing newline at the end.
25981
32622956 259822009-07-01 Pavel Roskin <proski@gnu.org>
25983
87a7339e 25984 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25985
d23af54e 25986 * util/hostdisk.c (open_device): Remove `const' from
25987 `sysctl_size', as sysctlbyname() can change it (in this case it
25988 doesn't actually happen).
25989
c94b18a9 25990 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25991 using signed long int constants.
25992
c6cd3ef0 25993 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25994 constant to avoid a warning on FreeBSD.
25995
0df63420 25996 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25997 where it's needed.
25998
999577f1 25999 * Makefile.in: Install include/grub/machine symlink.
26000
6f41557f 26001 * Makefile.in: When installing symlinks, use "cp -fR", which
26002 works on FreeBSD and MacOSX.
26003 From Yves Blusseau <cl7m42e02@sneakemail.com>
26004
c8d22988 26005 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26006 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26007
1b96e952 26008 * util/misc.c: Move grub_reboot() and grub_halt() ...
26009 * util/grub-emu.c: ... here. Make main_env static.
26010 * include/grub/util/misc.h: Remove main_env.
26011
2ef0084d 26012 * kern/mm.c: Use correct format to print size_t.
26013
32622956 26014 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26015 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26016 * kern/powerpc/dl.c: Likewise.
26017 * kern/sparc64/dl.c: Likewise.
26018 * kern/x86_64/dl.c: Likewise.
26019
3f7f0cd0 260202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26021
26022 Fix grub-emu build on sparc64-ieee1275.
26023
75421ca9 26024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26026
211d06b5 260272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26028
26029 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26030 (grub_reboot, grub_halt): New functions.
26031
26032 * util/i386/pc/misc.c: Delete. Update all users.
26033 * util/sparc64/ieee1275/misc.c: Likewise.
26034 * util/powerpc/ieee1275/misc.c: Likewise.
26035
aaf53e3c 260362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26037
26038 * conf/i386.rmk (setjmp_mod_SOURCES)
26039 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26040 * conf/common.rmk (setjmp_mod_SOURCES)
26041 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26042 to use $(target_cpu).
26043 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26044 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26045 * conf/powerpc-ieee1275.rmk: Likewise.
26046 * conf/sparc64-ieee1275.rmk: Likewise.
26047
26048 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26049 $(target_cpu) for kern/$(target_cpu)/dl.c.
26050 * conf/i386-efi.rmk: Likewise.
26051 * conf/i386-ieee1275.rmk: Likewise.
26052 * conf/x86_64-efi.rmk: Likewise.
26053 * conf/i386-coreboot.rmk: Likewise.
26054 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26055 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26056 kern/$(target_cpu)/cache.S.
26057 * conf/sparc64-ieee1275.rmk: Likewise.
26058
a337130b 260592009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26060
26061 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26062 type to `grub_uint8_t', and adjust `padding9' accordingly.
26063
c6fe4d53 260642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26065
b09db61d 26066 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26067
c6fe4d53 26068 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26069 assembly in final jump, using register constraints.
26070
b09db61d 26071 (grub_linux_boot): For text mode, initialize `have_vga' using
26072 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26073
26074 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26075 right before the final jump.
26076
26077 Set `video_mode' to 0x3.
26078
26079 Document initialization of `video_page', `video_mode' and
26080 `video_ega_bx'.
26081
28333ad0 260822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26083
26084 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26085 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26086 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26087
02164e1b 260882009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26089
26090 Fix build on Debian / sparc.
26091
26092 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26093
18b6c557 260942009-06-28 Pavel Roskin <proski@gnu.org>
26095
85f2aab6 26096 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26097 fix a warning.
26098
18b6c557 26099 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26100
ad760f81 261012009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26102
26103 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26104 `err'.
26105
87a4623b 261062009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26107
26108 Revert r2338.
26109
26110 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26111 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26112 grub_errno / grub_errmsg appropriately.
87a4623b 26113 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26114
8231fb77 261152009-06-27 Pavel Roskin <proski@gnu.org>
261162009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26117
26118 * include/grub/dl.h: Include grub/elf.h.
26119 (struct grub_dl): Add symtab field.
26120 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26121 GRUB_MODULES_MACHINE_READONLY.
26122 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26123 of the header for read-only modules.
26124 (grub_dl_unload): Free mod->symtab for read-only modules.
26125 * kern/i386/dl.c: Use mod->symtab.
26126 * kern/powerpc/dl.c: Likewise.
26127 * kern/sparc64/dl.c: Likewise.
26128 * kern/x86_64/dl.c: Likewise.
26129
26130 * conf/i386-qemu.rmk: New file.
26131 * kern/i386/qemu/startup.S: Likewise.
26132 * kern/i386/qemu/mmap.c: Likewise.
26133 * boot/i386/qemu/boot.S: Likewise.
26134 * include/grub/i386/qemu/time.h: Likewise.
26135 * include/grub/i386/qemu/serial.h: Likewise.
26136 * include/grub/i386/qemu/kernel.h: Likewise.
26137 * include/grub/i386/qemu/console.h: Likewise.
26138 * include/grub/i386/qemu/boot.h: Likewise.
26139 * include/grub/i386/qemu/init.h: Likewise.
26140 * include/grub/i386/qemu/machine.h: Likewise.
26141 * include/grub/i386/qemu/loader.h: Likewise.
26142 * include/grub/i386/qemu/memory.h: Likewise.
26143
26144 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26145 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26146 [qemu] (pkglib_IMAGES): Add `boot.img'.
26147 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26148 [qemu] (boot_img_FORMAT): New variables.
26149 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26150 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26151 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26152 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26153 [qemu] (kernel_img_FORMAT): New variables.
26154
26155 * configure.ac: Recognise `i386-qemu'.
26156
26157 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26158 (for no compression).
26159 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26160 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26161 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26162 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26163 ifdefs).
26164
97fe384e 261652009-06-27 Pavel Roskin <proski@gnu.org>
26166
26167 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26168 read.
26169 * efiemu/prepare32.c: Likewise.
26170 * efiemu/prepare64.c: Likewise.
26171
c402ab17 261722009-06-26 Pavel Roskin <proski@gnu.org>
26173
26174 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26175 * include/grub/elf.h: Define symbols without "32" or "64" based
26176 on GRUB_TARGET_WORDSIZE.
26177 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26178 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26179 ELF definitions.
26180 * efiemu/loadcore64.c: Likewise.
26181 * loader/i386/bsd32.c: Likewise.
26182 * loader/i386/bsd64.c: Likewise.
26183 * kern/dl.c: Remove own ELF definitions.
26184 * util/i386/efi/grub-mkimage.c: Likewise.
26185
9bbdfd4d 261862009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26187
26188 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26189 segment 0x0 unconditionally, because the reference generated by
26190 GAS is an absolute address.
26191
a42ce6e9 261922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26193
26194 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26195 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26196
c952cf92 261972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26198
26199 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26200 indexes. Check for -f explicitly.
cc3752ad 26201 (search_file): Improve error message.
26202 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26203
132a0a59 262042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26205
26206 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26207 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26208
387a140c 262092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26210
26211 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26212 * conf/i386-ieee1275.rmk: Likewise.
26213 * conf/i386-coreboot.rmk: Likewise.
26214
26215 * kern/i386/pc/startup.S (grub_stop): Remove function.
26216 * kern/i386/ieee1275/startup.S: Likewise.
26217 * kern/i386/coreboot/startup.S: Likewise.
26218 * kern/i386/misc.S (grub_stop): New function.
26219
41da9665 262202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26221
26222 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26223 * kern/i386/realmode.S (real_to_prot): ... to here.
26224
bf337234 262252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26226
26227 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26228 with `kernel.img'.
26229 (kernel_elf_SOURCES): Rename to ...
26230 (kernel_img_SOURCES): ... this.
26231 (kernel_elf_HEADERS): Rename to ...
26232 (kernel_img_HEADERS): ... this. Update all users.
26233 (kernel_elf_ASFLAGS): Rename to ...
26234 (kernel_img_ASFLAGS): ... this.
26235 (kernel_elf_CFLAGS): Rename to ...
26236 (kernel_img_CFLAGS): ... this.
26237 (kernel_elf_LDFLAGS): Rename to ...
26238 (kernel_img_LDFLAGS): ... this.
26239 * conf/i386-coreboot.rmk: Likewise.
26240 * conf/powerpc-ieee1275.rmk: Likewise.
26241
26242 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26243 with "kernel.img".
26244
f52196ff 262452009-06-21 Pavel Roskin <proski@gnu.org>
26246
c3cee413 26247 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26248 to match nested functions.
26249 * loader/sparc64/ieee1275/linux.c: Likewise.
26250
f52196ff 26251 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26252
58750afc 262532009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26254
26255 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26256 all i386 platforms.
26257
15355c7d 262582009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26259
26260 Fix asm file handling on ELF, and remove workarounds.
26261
26262 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26263 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26264 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26265 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26266
3f3ec72b 262672009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 Load BSD ELF modules
26270
26271 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26272 and loader/i386/bsd64.c
26273 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26274 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26275 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26276 (grub_freebsd_load_elfmodule32): New declaration
26277 (grub_freebsd_load_elfmoduleobj64): Likewise
26278 (grub_freebsd_load_elf_meta32): Likewise
26279 (grub_freebsd_load_elf_meta64): Likewise
26280 (grub_freebsd_add_meta): Likewise
26281 (grub_freebsd_add_meta_module): Likewise
26282 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26283 (grub_freebsd_add_meta_module): Likewise and move module-specific
26284 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26285 (grub_cmd_freebsd): Add elf-kernel specific parts
26286 based on grub_freebsd_add_meta_module
26287 (grub_cmd_freebsd_module): Add type parsing moved from
26288 grub_freebsd_add_meta_module
26289 (grub_cmd_freebsd_module_elf): New function
26290 (cmd_freebsd_module_elf): New variable
26291 (GRUB_MOD_INIT): Register freebsd_module_elf
26292 * loader/i386/bsd32.c: New file
26293 * loader/i386/bsd64.c: Likewise
26294 * loader/i386/bsdXX.c: Likewise
26295 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26296 (grub_elf64_load): Likewise
26297 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26298 All users updated
26299 (grub_elf64_load_hook_t): Likewise
26300
0db15301 263012009-06-21 Colin Watson <cjwatson@ubuntu.com>
26302
26303 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26304 variable.
26305 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26306 don't write a menu entry for recovery mode.
26307
546796c1 263082009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26309
26310 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26311 after it's no longer needed.
26312
cd7310d5 263132009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26314
26315 * include/grub/i386/loader.h (grub_linux_prot_size)
26316 (grub_linux_tmp_addr, grub_linux_real_addr)
26317 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26318 GRUB_MACHINE_PCBIOS.
26319 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26320 common grub_util_info() call to ...
26321 (generate_image): ... here.
26322 Fix use of uninitialized memory, comparison of signed with
26323 unsigned integers and memory leak.
26324 Remove bogus module address message.
26325
ab32d3b5 263262009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26327
26328 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26329 grub_raid_register
26330 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26331
024ef597 263322009-06-19 Pavel Roskin <proski@gnu.org>
26333
26334 * configure.ac: Remove stray AC_MSG_CHECKING.
26335
3ac72b51 263362009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26337
26338 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26339
e14cd814 263402009-06-18 Pavel Roskin <proski@gnu.org>
26341
26342 * conf/common.rmk: Add fs_file.mod.
26343 * disk/fs_file.c: New file.
26344 * include/grub/disk.h (enum grub_disk_dev_id): Add
26345 GRUB_DISK_DEVICE_FILE_ID.
26346
26586d98 263472009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26348
26349 Fix build with Apple's toolchain. Part 2
26350
26351 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26352 a fake start
26353
26de2bcd 263542009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26355
26356 Fix build with Apple's toolchain. Part 1
26357
26358 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26359 for long calls
26360 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26361 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26362 Apple's toolchain
26363
09b3490b 263642009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26365
26366 Fix warnings
26367
26368 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26369 (decomp_block): initialize ch
26370 use grub_memcpy instead of memcpy
26371
c22a006a 263722009-06-17 Pavel Roskin <proski@gnu.org>
26373
d3638678 26374 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26375 version, use declarations needed to use vga_text as the startup
26376 console.
26377
c22a006a 26378 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26379 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26380 the kernel.
26381 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26382 and grub_at_keyboard_fini(), it's done on module load and
26383 unload.
26384
05b129e0 263852009-06-17 Felix Zielcke <fzielcke@z-51.de>
26386
26387 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26388 file can't be found.
26389 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26390
cf24ed9e 263912009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26392
26393 Fix newline handling
26394
26395 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26396 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26397 (grub_script_yylex): don't segfault on unterminated script
26398 newline terminates command and variable
26399
74aa8e4b 264002009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26401
26402 avoid double grub_adjust_range call. Bug reported by David Simner
26403
26404 * kern/disk.c (grub_disk_write): change to raw disk access before
26405 calling disk_read
26406
1bd265f3 264072009-06-17 Colin Watson <cjwatson@ubuntu.com>
26408
26409 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26410 spaces, for the benefit of help2man.
26411 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26412
a2d08c06 264132009-06-16 Pavel Roskin <proski@gnu.org>
26414
26415 * kern/i386/halt.c: Include grub/machine/init.h.
26416 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26417
b97bcb19 264182009-06-16 Felix Zielcke <fzielcke@z-51.de>
26419
26420 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26421 drivemap menuentry.
26422
0644f96c 264232009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26424
26425 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26426 `echo' command.
26427
3ef17a2e 264282009-06-16 Pavel Roskin <proski@gnu.org>
26429
26430 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26431 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26432 save %dx, we only need %dl and we never change it.
26433 * boot/i386/pc/cdboot.S: Don't set the root drive.
26434 * boot/i386/pc/pxeboot.S: Likewise.
26435 * include/grub/i386/pc/boot.h: Remove
26436 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26437 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26438 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26439 * kern/i386/pc/init.c (make_install_device): Remove references
26440 to grub_root_drive.
26441 * kern/i386/pc/startup.S: Likewise.
26442 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26443
693fe637 264442009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26445
26446 xnu_uuid command
26447
26448 * commands/xnu_uuid.c: new file
26449 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26450 (xnu_uuid_mod_SOURCES): new variable
26451 (xnu_uuid_mod_CFLAGS): likewise
26452 (xnu_uuid_mod_LDFLAGS): likewise
26453 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26454 * conf/i386-ieee1275.rmk: likewise
26455 * conf/i386-pc.rmk: likewise
26456 * conf/powerpc-ieee1275.rmk: likewise
26457 * conf/sparc64-ieee1275.rmk: likewise
26458 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26459
c9da87d0 264602009-06-16 Pavel Roskin <proski@gnu.org>
26461
26462 * configure.ac: Avoid '==' in test command, it's not portable.
26463
9c6f4596 264642009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26465
26466 Probe command
26467
26468 * commands/probe.c: new file
26469 * conf/common.rmk (pkglib_MODULES): add probe.mod
26470 (probe_mod_SOURCES): new variable
26471 (probe_mod_CFLAGS): likewise
26472 (probe_mod_LDFLAGS): likewise
26473 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26474 * conf/i386-ieee1275.rmk: likewise
26475 * conf/i386-pc.rmk: likewise
26476 * conf/powerpc-ieee1275.rmk: likewise
26477 * conf/sparc64-ieee1275.rmk: likewise
26478
70b7f9fd 264792009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26480
26481 Fix handling of string like \"hello\" and "a
26482 b"
26483
26484 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26485 (grub_script_yylex): fix parsing of quoting, escaping and newline
26486
71c79a6b 264872009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26488
dd74360c 26489 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26490 handling
dd74360c 26491
0644f96c 264922009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26493
26494 * util/grub-mkconfig.in: Fix parsing of --output option.
26495
e40893c3 264962009-06-12 Pavel Roskin <proski@gnu.org>
26497
26498 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26499 genmk.rb don't need to be generated or installed.
26500
3a1acfe2 265012009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26502
26503 * commands/i386/pc/drivemap_int13h.S: add more comments
26504
3a4575d4 265052009-06-11 Pavel Roskin <proski@gnu.org>
26506
0658e928 26507 * Makefile.in (uninstall): Uninstall manuals.
26508
ca0388f0 26509 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26510 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26511 and update-grub_lib in two places.
26512 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26513
e3b27c39 26514 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26515 a compiler warning.
26516
3a4575d4 26517 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26518 `entry_lo' to fix variable shadowing.
26519
af1f4f55 265202009-06-11 Christian Franke <franke@computer.org>
26521
26522 * kern/misc.c (__enable_execute_stack): Add missing return type
26523 to prevent gcc warning.
26524
5225e649 265252009-06-11 Felix Zielcke <fzielcke@z-51.de>
26526
26527 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26528
7d83bd47 265292009-06-11 Pavel Roskin <proski@gnu.org>
26530
c1cb63ba 26531 * Makefile.in: Don't rely on any scripts being executable.
26532 Always use $(SHELL) to run shell scripts.
26533
7d83bd47 26534 * configure.ac: Always define ___main if using -nostdlib. This
26535 fixes tests on Cygwin.
26536
948f48e7 265372009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26538
26539 UDF fix
26540
7d83bd47 26541 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26542 is in bytes and not in blocks
7d83bd47 26543
8ada9bc1 265442009-06-11 Pavel Roskin <proski@gnu.org>
26545
26546 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26547 warning.
26548
25ad2323 265492009-06-11 Felix Zielcke <fzielcke@z-51.de>
26550
26551 * util/grub.d/30_os-prober.in: Fix a comment. Source
26552 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26553 to set the root device. Place drivemap command in the generated
26554 chain entry.
26555
e65acb0c 265562009-06-11 Pavel Roskin <proski@gnu.org>
26557
26558 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26559 have long been resolved.
26560
f285fe2d 265612009-06-11 Colin Watson <cjwatson@ubuntu.com>
26562
bd47b0b5 26563 * util/grub.d/10_linux.in: Capitalise "Linux".
26564
f285fe2d 26565 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26566
a0c62e4e 265672009-06-11 Pavel Roskin <proski@gnu.org>
26568
b6783cb2 26569 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26570 fix a gcc warning and ensure that the function won't ever exit.
26571
dde032e8 26572 * kern/i386/ieee1275/init.c: Add missing prototype for
26573 grub_stop_floppy().
26574
22cd079d 26575 * loader/ieee1275/multiboot2.c [__i386__]: Include
26576 grub/cpu/multiboot.h.
26577
a0c62e4e 26578 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26579 casts to short - they are not portable and cause warnings. Fix
26580 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26581
63963d17 265822009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26583
26584 Drivemap fixes
26585
26586 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26587 new function
26588 (grub_get_root_biosnumber_saved): new variable
26589 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26590 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26591 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26592 %dx after the call if necessary
26593 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26594 (boot_mod_SOURCES): remove
26595 (boot_mod_CFLAGS): remove
26596 (boot_mod_LDFLAGS): remove
26597 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26598 (boot_mod_SOURCES): new variable
26599 (boot_mod_CFLAGS): likewise
26600 (boot_mod_LDFLAGS): likewise
26601 * conf/i386-efi.rmk: likewise
26602 * conf/i386-ieee1275.rmk: likewise
26603 * conf/i386-pc.rmk: likewise
26604 * conf/powerpc-ieee1275.rmk: likewise
26605 * conf/sparc64-ieee1275.rmk: likewise
26606 * conf/x86_64-efi.rmk: likewise
26607 * include/grub/i386/pc/biosnum.h: new file
26608 * lib/i386/pc/biosnum.c: likewise
26609 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26610 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26611 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26612
33abf7ae 266132009-06-10 Pavel Roskin <proski@gnu.org>
26614
5ac35b35 26615 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26616 Use separate variables. Read only the file size at the end, but
26617 not the checksum that we don't use.
26618
5c5215d5 26619 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26620 Adjust all callers.
26621
27d5fef7 26622 * kern/ieee1275/openfw.c: Remove libc includes.
26623 * kern/ieee1275/cmain.c: Likewise.
26624 * include/grub/ieee1275/ieee1275.h: Likewise.
26625
33abf7ae 26626 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26627 compiler warnings.
26628
19d50c2b 266292009-06-10 Felix Zielcke <fzielcke@z-51.de>
26630
26631 * Makefile.in: Remove all trailing whitespace.
26632 * conf/i386-pc.rmk: Likewise.
26633 * conf/powerpc-ieee1275.rmk: Likewise.
26634 * conf/sparc64-ieee1275.rmk: Likewise.
26635 * docs/grub.texi: Likewise.
26636 * docs/texinfo.tex: Likewise.
26637 * disk/fs_uuid.c: Likewise.
26638 * disk/lvm.c: Likewise.
26639 * disk/scsi.c: Likewise.
26640 * disk/ata.c: Likewise.
26641 * disk/ieee1275/ofdisk.c: Likewise.
26642 * disk/i386/pc/biosdisk.c: Likewise.
26643 * disk/host.c: Likewise.
26644 * disk/raid.c: Likewise.
26645 * disk/efi/efidisk.c: Likewise.
26646 * disk/usbms.c: Likewise.
26647 * disk/memdisk.c: Likewise.
26648 * disk/loopback.c: Likewise.
26649 * kern/powerpc/dl.c: Likewise.
26650 * kern/device.c: Likewise.
26651 * kern/dl.c: Likewise.
26652 * kern/sparc64/dl.c: Likewise.
26653 * kern/ieee1275/ieee1275.c: Likewise.
26654 * kern/term.c: Likewise.
26655 * kern/fs.c: Likewise.
26656 * kern/i386/dl.c: Likewise.
26657 * kern/i386/pc/startup.S: Likewise.
26658 * kern/i386/pc/init.c: Likewise.
26659 * kern/i386/pc/mmap.c: Likewise.
26660 * kern/i386/pc/lzo1x.S: Likewise.
26661 * kern/i386/ieee1275/init.c: Likewise.
26662 * kern/i386/realmode.S: Likewise.
26663 * kern/i386/tsc.c: Likewise.
26664 * kern/partition.c: Likewise.
26665 * kern/corecmd.c: Likewise.
26666 * kern/file.c: Likewise.
26667 * kern/efi/efi.c: Likewise.
26668 * kern/efi/init.c: Likewise.
26669 * kern/efi/mm.c: Likewise.
26670 * kern/main.c: Likewise.
26671 * kern/err.c: Likewise.
26672 * kern/env.c: Likewise.
26673 * kern/disk.c: Likewise.
26674 * kern/generic/millisleep.c: Likewise.
26675 * kern/generic/rtc_get_time_ms.c: Likewise.
26676 * kern/misc.c: Likewise.
26677 * kern/parser.c: Likewise.
26678 * genmk.rb: Likewise.
26679 * configure.ac: Likewise.
26680 * boot/i386/pc/diskboot.S: Likewise.
26681 * boot/i386/pc/pxeboot.S: Likewise.
26682 * boot/i386/pc/boot.S: Likewise.
26683 * boot/i386/pc/lnxboot.S: Likewise.
26684 * boot/i386/pc/cdboot.S: Likewise.
26685 * parttool/pcpart.c: Likewise.
26686 * video/readers/tga.c: Likewise.
26687 * video/video.c: Likewise.
26688 * video/bitmap.c: Likewise.
26689 * lib/envblk.c: Likewise.
26690 * lib/i386/setjmp.S: Likewise.
26691 * fs/xfs.c: Likewise.
26692 * fs/afs.c: Likewise.
26693 * fs/fat.c: Likewise.
26694 * fs/ntfs.c: Likewise.
26695 * fs/udf.c: Likewise.
26696 * fs/affs.c: Likewise.
26697 * fs/iso9660.c: Likewise.
26698 * fs/hfs.c: Likewise.
26699 * fs/fshelp.c: Likewise.
26700 * fs/ext2.c: Likewise.
26701 * fs/jfs.c: Likewise.
26702 * fs/reiserfs.c: Likewise.
26703 * fs/hfsplus.c: Likewise.
26704 * fs/minix.c: Likewise.
26705 * fs/cpio.c: Likewise.
26706 * fs/sfs.c: Likewise.
26707 * fs/ufs.c: Likewise.
26708 * efiemu/prepare.c: Likewise.
26709 * efiemu/loadcore_common.c: Likewise.
26710 * efiemu/runtime/efiemu.sh: Likewise.
26711 * efiemu/runtime/efiemu.S: Likewise.
26712 * efiemu/runtime/efiemu.c: Likewise.
26713 * efiemu/pnvram.c: Likewise.
26714 * efiemu/main.c: Likewise.
26715 * efiemu/i386/pc/cfgtables.c: Likewise.
26716 * efiemu/i386/loadcore64.c: Likewise.
26717 * efiemu/i386/loadcore32.c: Likewise.
26718 * efiemu/loadcore.c: Likewise.
26719 * efiemu/symbols.c: Likewise.
26720 * efiemu/mm.c: Likewise.
26721 * include/grub/autoefi.h: Likewise.
26722 * include/grub/datetime.h: Likewise.
26723 * include/grub/term.h: Likewise.
26724 * include/grub/hfs.h: Likewise.
26725 * include/grub/lvm.h: Likewise.
26726 * include/grub/i386/tsc.h: Likewise.
26727 * include/grub/i386/linux.h: Likewise.
26728 * include/grub/i386/xnu.h: Likewise.
26729 * include/grub/i386/efiemu.h: Likewise.
26730 * include/grub/i386/pc/biosdisk.h: Likewise.
26731 * include/grub/i386/pc/memory.h: Likewise.
26732 * include/grub/i386/pc/vbe.h: Likewise.
26733 * include/grub/parttool.h: Likewise.
26734 * include/grub/video.h: Likewise.
26735 * include/grub/memory.h: Likewise.
26736 * include/grub/fs.h: Likewise.
26737 * include/grub/partition.h: Likewise.
26738 * include/grub/xnu.h: Likewise.
26739 * include/grub/efi/api.h: Likewise.
26740 * include/grub/efi/pe32.h: Likewise.
26741 * include/grub/efi/memory.h: Likewise.
26742 * include/grub/multiboot.h: Likewise.
26743 * include/grub/usbdesc.h: Likewise.
26744 * include/grub/multiboot2.h: Likewise.
26745 * include/grub/acpi.h: Likewise.
26746 * include/grub/efiemu/efiemu.h: Likewise.
26747 * include/grub/disk.h: Likewise.
26748 * include/grub/ieee1275/ieee1275.h: Likewise.
26749 * include/grub/net.h: Likewise.
26750 * include/grub/machoload.h: Likewise.
26751 * include/grub/macho.h: Likewise.
26752 * include/multiboot.h: Likewise.
26753 * genmoddep.awk: Likewise.
26754 * normal/main.c: Likewise.
26755 * normal/menu_entry.c: Likewise.
26756 * normal/menu_viewer.c: Likewise.
26757 * normal/completion.c: Likewise.
26758 * normal/cmdline.c: Likewise.
26759 * normal/misc.c: Likewise.
26760 * normal/datetime.c: Likewise.
26761 * bus/usb/usbtrans.c: Likewise.
26762 * bus/usb/ohci.c: Likewise.
26763 * bus/usb/uhci.c: Likewise.
26764 * bus/usb/usb.c: Likewise.
26765 * mmap/efi/mmap.c: Likewise.
26766 * mmap/i386/pc/mmap_helper.S: Likewise.
26767 * mmap/i386/pc/mmap.c: Likewise.
26768 * mmap/i386/mmap.c: Likewise.
26769 * mmap/i386/uppermem.c: Likewise.
26770 * mmap/mmap.c: Likewise.
26771 * commands/acpi.c: Likewise.
26772 * commands/echo.c: Likewise.
26773 * commands/blocklist.c: Likewise.
26774 * commands/loadenv.c: Likewise.
26775 * commands/usbtest.c: Likewise.
26776 * commands/boot.c: Likewise.
26777 * commands/parttool.c: Likewise.
26778 * commands/search.c: Likewise.
26779 * commands/cat.c: Likewise.
26780 * commands/i386/pc/play.c: Likewise.
26781 * commands/i386/pc/drivemap.c: Likewise.
26782 * commands/i386/pc/vbeinfo.c: Likewise.
26783 * commands/i386/pc/acpi.c: Likewise.
26784 * commands/i386/pc/vbetest.c: Likewise.
26785 * commands/ls.c: Likewise.
26786 * commands/cmp.c: Likewise.
26787 * commands/test.c: Likewise.
26788 * commands/efi/acpi.c: Likewise.
26789 * commands/gptsync.c: Likewise.
26790 * commands/help.c: Likewise.
26791 * partmap/amiga.c: Likewise.
26792 * partmap/apple.c: Likewise.
26793 * partmap/acorn.c: Likewise.
26794 * partmap/pc.c: Likewise.
26795 * partmap/sun.c: Likewise.
26796 * partmap/gpt.c: Likewise.
26797 * script/sh/lexer.c: Likewise.
26798 * script/sh/function.c: Likewise.
26799 * font/font.c: Likewise.
26800 * font/font_cmd.c: Likewise.
26801 * loader/powerpc/ieee1275/linux.c: Likewise.
26802 * loader/efi/chainloader.c: Likewise.
26803 * loader/multiboot_loader.c: Likewise.
26804 * loader/macho.c: Likewise.
26805 * loader/i386/multiboot.c: Likewise.
26806 * loader/i386/linux.c: Likewise.
26807 * loader/i386/pc/linux.c: Likewise.
26808 * loader/i386/pc/multiboot2.c: Likewise.
26809 * loader/i386/pc/chainloader.c: Likewise.
26810 * loader/i386/pc/xnu.c: Likewise.
26811 * loader/i386/bsd_trampoline.S: Likewise.
26812 * loader/i386/efi/linux.c: Likewise.
26813 * loader/i386/multiboot_elfxx.c: Likewise.
26814 * loader/i386/bsd_helper.S: Likewise.
26815 * loader/i386/bsd.c: Likewise.
26816 * loader/i386/linux_trampoline.S: Likewise.
26817 * loader/i386/xnu_helper.S: Likewise.
26818 * loader/i386/xnu.c: Likewise.
26819 * loader/i386/bsd_pagetable.c: Likewise.
26820 * loader/i386/multiboot_helper.S: Likewise.
26821 * loader/xnu.c: Likewise.
26822 * loader/xnu_resume.c: Likewise.
26823 * io/gzio.c: Likewise.
26824 * term/efi/console.c: Likewise.
26825 * term/terminfo.c: Likewise.
26826 * term/ieee1275/ofconsole.c: Likewise.
26827 * term/i386/pc/serial.c: Likewise.
26828 * term/i386/pc/vesafb.c: Likewise.
26829 * term/i386/pc/vga.c: Likewise.
26830 * term/usb_keyboard.c: Likewise.
26831 * term/gfxterm.c: Likewise.
26832 * aclocal.m4: Likewise.
26833 * util/lvm.c: Likewise.
26834 * util/grub.d/30_os-prober.in: Likewise.
26835 * util/grub.d/10_hurd.in: Likewise.
26836 * util/console.c: Likewise.
26837 * util/grub-macho2img.c: Likewise.
26838 * util/grub-probe.c: Likewise.
26839 * util/hostfs.c: Likewise.
26840 * util/i386/pc/grub-mkimage.c: Likewise.
26841 * util/i386/pc/grub-setup.c: Likewise.
26842 * util/i386/efi/grub-mkimage.c: Likewise.
26843 * util/grub-mkconfig.in: Likewise.
26844 * util/raid.c: Likewise.
26845 * util/resolve.c: Likewise.
26846 * util/grub-mkdevicemap.c: Likewise.
26847 * util/grub-emu.c: Likewise.
26848 * util/getroot.c: Likewise.
26849 * util/hostdisk.c: Likewise.
26850 * util/usb.c: Likewise.
26851 * util/grub-editenv.c: Likewise.
26852 * util/misc.c: Likewise.
26853
d2d49665 268542009-06-10 Felix Zielcke <fzielcke@z-51.de>
26855
26856 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26857 `genparttoollist.sh'.
26858 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26859 Add `*.sh' to the list find searches for and change `mdate.sh'
26860 to `mdate-sh'.
26861
fe052e37 268622009-06-10 Pavel Roskin <proski@gnu.org>
26863
2763ac18 26864 * include/grub/multiboot2.h: Provide compatibility defines for
26865 multiboot2.h.
26866 * include/multiboot2.h: Include stdint.h only if needed, using
26867 angle brackets.
26868 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26869 grub/multiboot2.h.
26870 * loader/ieee1275/multiboot2.c: Likewise.
26871 * loader/multiboot2.c: Likewise.
26872 * loader/multiboot_loader.c: Likewise.
26873
437e6adc 26874 * configure.ac: Use -nostdlib when probing for the target. It
26875 should not be required to have libc for the target.
26876
06a6836c 26877 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26878 they fail without libc headers for the target.
26879 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26880 exports.
26881 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26882 preprocessor conditionals.
26883
fe052e37 26884 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26885 build system doesn't need to be aware of the tar.c internals.
26886
afd22553 268872009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26888
afd22553 26889 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26890
6b787c4f 268912009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26892
26893 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26894 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26895
268962009-06-09 Felix Zielcke <fzielcke@z-51.de>
26897
26898 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26899 aren't available if ata.mod gets used.
6b787c4f 26900
473d1e45 269012009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26902
473d1e45 26903 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26904 initialising controller.
473d1e45 26905 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26906
255a27d4 269072009-06-08 Felix Zielcke <fzielcke@z-51.de>
26908
26909 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26910 to choose between ata and biosdisk module on i386-pc.
26911
473d1e45 269122009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26913
d55842d8 26914 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26915 Subclass and Programming Interface fields in terms of the 3 byte
26916 Class Code register.
26917 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26918
fa5db0b1 26919 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26920 interface is OHCI. Add grub_dprintf for symmetry with
26921 bus/usb/uhci.c.
26922 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26923 interface is UHCI. Add interf variable for programming
26924 interface. Print interface with class/subclass.
26925
c0947beb 26926 * bus/usb/ohci.c: Set interf with correct field.
26927
69da8877 26928 * bus/usb/uhci.c: Remove unneeded doubled lines.
26929 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26930 Remove whitespace inside comment.
26931
9e172e30 269322009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26933
26934 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26935 as fallback an equivalent option without depth.
26936
de65ee2b 269372009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 Not fail if unable to retrieve C/H/S on LBA disks
26940
473d1e45 26941 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26942 if unable to retrieve C/H/S on LBA disks
26943
b57ea2c9 269442009-06-08 Pavel Roskin <proski@gnu.org>
26945
26946 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26947 about aliasing.
26948
af361263 269492009-06-08 Felix Zielcke <fzielcke@z-51.de>
26950
26951 * Makefile.in (uninstall): Remove all $lib_DATA files.
26952
4c9ec6b3 269532009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26954
26955 Bugfix: install on partitionless device
26956
26957 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26958 is a whole disk
26959
e76fc924 269602009-06-08 Felix Zielcke <fzielcke@z-51.de>
26961
26962 * Makefile.in (uninstall): Remove all $include_DATA files.
26963
ba5a0d05 269642009-06-08 Felix Zielcke <fzielcke@z-51.de>
26965
26966 * commands/true.c: New file. Implement the true and false commands.
26967 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26968 (true_mod_SOURCES): New variable.
26969 (true_mod_CFLAGS): Likewise.
26970 (true_mod_LDFLAGS): Likewise.
26971
c8048e32 269722009-06-05 Colin D Bennett <colin@gibibit.com>
26973
26974 Optimized font character lookup using binary search instead of linear
26975 search. Fonts now are required to have the character index ordered by
26976 code point.
26977
26978 * font/font.c (load_font_index): Verify that fonts have ordered
26979 character indices.
26980 (find_glyph): Use binary search instead of linear search to find a
26981 character in a font.
26982
408305be 269832009-06-05 Michael Scherer <misc@mandriva.org>
26984
26985 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26986 uses case sensitive btree.
26987 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26988 only for case insensitive filesystems.
26989
8ee1e0d9 269902009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26993 * conf/common.rmk (search_mod_CFLAGS): likewise
26994
a9966eb1 269952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26996
473d1e45 26997 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26998 compensate a compiler bug
26999
9e7100fb 270002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27001
473d1e45 27002 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27003 instead of '\b'
473d1e45 27004
ede21d71 270052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27006
27007 Definitions for creating asm symbols with Apple's CC
27008
27009 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27010 [APPLE_CC] (VARIABLE): likewise
27011
9dbf7653 270122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27013
27014 Disable lnxboot.img when compiled
27015 with Apple's CC
27016
27017 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27018 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27019 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27020 [! APPLE_CC] (CODE_LENG): skip
27021 [! APPLE_CC] (setup_sects): likewise
27022 [! APPLE_CC]: skip filling
473d1e45 27023
e93cdc3d 270242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27025
27026 Address in trampolines based on 32-bit registers when compiled
27027 with Apple's CC
27028
473d1e45 27029 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27030 for addresses
27031 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27032
6c688477 270332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27034
27035 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27036
27037 * kern/misc.c [APPLE_CC] (memcpy): new function
27038 [APPLE_CC] (memmove): likewise
27039 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27040 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27041 (memset): likewise
27042 (abort): likewise
27043 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27044 APPLE_CC are defined
27045 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27046 (grub_assert_fail): make prototype conditional
27047
e37ffc5c 270482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27049
27050 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27051
473d1e45 27052 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27053 grub-macho2img
e37ffc5c 27054 (CLEANFILES): add grub-macho2img
27055 (grub_macho2img_SOURCES): new variable
27056 * kern/i386/pc/startup.S (bss_start): new variable
27057 (bss_end): likewise
27058 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27059 * util/grub-macho2img.c: new file
27060
cf00df31 270612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27062
27063 Use objconv when compiling with Apple's CC
27064
27065 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27066 (efiemu64.o): likewise
27067 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27068 when compiling with Apple's CC
27069 (efiemu64_s.o): likewise
27070 * configure.ac: check for objconv when compiling with Apple's CC
27071 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27072
d119a20c 270732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27074
27075 Define segment as well as section when compiling with
27076 Apple's CC
27077
27078 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27079 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27080 (efiemu_convert_pointer): likewise
27081 (efiemu_set_virtual_address_map): likewise
27082 (efiemu_convert_pointer): likewise
27083 (efiemu_getcrc32): likewise
27084 (init_crc32_table): likewise
27085 (reflect): likewise
27086 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27087 (GRUB_MOD_DEP): likewise
473d1e45 27088
c8600122 270892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27090
27091 Allow a compilation without -mcmodel=large
27092
27093 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27094 when compiled without -mcmodel=large
473d1e45 27095 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27096 without -mcmodel=large
473d1e45 27097 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27098 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27099
e8df1d4e 271002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27101
27102 Remove nested functions in efiemu core
27103
27104 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27105
cc6c3ac1 271062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27107
27108 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27109
27110 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27111 temporary storage
473d1e45 27112 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27113 using Apple's CC
cc6c3ac1 27114 (grub_cpu_is_tsc_supported): likewise
27115 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27116
3e325901 271172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27118
27119 Absolute addressing through constant with Apple's cc
27120
27121 * kern/i386/pc/startup.S: Define necessary constants
27122 and address through it when using ABS with Apple's CC
27123 * boot/i386/pc/diskboot.S: likewise
27124 * boot/i386/pc/boot.S: likewise
27125 * boot/i386/pc/lnxboot.S: likewise
27126 * boot/i386/pc/cdboot.S: likewise
27127 * mmap/i386/pc/mmap_helper.S: likewise
27128 * commands/i386/pc/drivemap_int13h.S: likewise
27129
2b167a72 271302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 Check if compiler is apple cc
27133
27134 * Makefile.in (ASFLAGS): new variable
27135 (TARGET_ASFLAGS): likewise
27136 (TARGET_MODULE_FORMAT): likewise
27137 (TARGET_APPLE_CC): likewise
27138 (OBJCONV): likewise
27139 (TARGET_IMG_CFLAGS): likewise
27140 (TARGET_CPPFLAGS): add includedir
27141 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27142 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27143 Check for linker script only if compiler isn't Apple's CC
27144 (TARGET_MODULE_FORMAT): set
27145 (TARGET_APPLE_CC): likewise
27146 (TARGET_ASFLAGS): likewise
27147 (ASFLAGS): likewise
27148 Check for objcopy only if compiler isn't Apple's CC
27149 Check for BSS symbol only if compiler isn't Apple's CC
27150 * genmk.rb: adapt nm options if we use Apple's utils
27151 * aclocal.m4 (grub_apple_cc): new test
27152 (grub_apple_target_cc): likewise
473d1e45 27153
fb14123e 271542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27155
27156 Simplify sed expressions and improve awk
27157
27158 * Makefile.in (install-local): simplify sed expression
27159 * gencmdlist.sh: likewise
27160 * genmoddep.awk: avoid adding module as a dependency of itself
27161
5b889789 271622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27163
27164 Add missing start symbols
27165
27166 * boot/i386/pc/boot.S: add start
fb14123e 27167 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27168
fd2bf2e3 271692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27170
27171 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27172
27173 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27174 (relocate_addresses): consider both r_addend and value at offset
27175 (make_mods_section): zerofill modinfo and header
27176 (convert_elf): write prefix here
473d1e45 27177
5389763d 271782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27179
27180 Use .asciz instead of .string
27181
27182 * i386/pc/diskboot.S: use .asciz instead of .string
27183 * i386/pc/boot.S: likewise
27184 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27185 (GRUB_MOD_NAME): likewise
473d1e45 27186
3eb5ed4e 271872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 gfxpayload support
27190
27191 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27192 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27193 (grub_video_setup): remove
27194 (grub_video_set_mode): new prototype
27195 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27196 (vid_mode): remove
27197 (linux_vesafb_res): compile only on PCBIOS
27198 (grub_linux_boot): support gfxpayload
27199 * loader/i386/pc/xnu.c (video_hook): new function
27200 (grub_xnu_set_video): support gfxpayload
27201 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27202 (DEFAULT_VIDEO_HEIGHT): likewise
27203 (DEFAULT_VIDEO_FLAGS): likewise
27204 (DEFAULT_VIDEO_MODE): new definition
27205 (video_hook): new function
27206 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27207 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27208 loading xnu
27209 * video/video.c (grub_video_setup): removed
473d1e45 27210 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27211 grub_video_setup
27212
4b0e1143 272132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27214
27215 Avoid calling biosdisk in drivemap
27216
27217 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27218 (revparse_biosdisk): likewise
27219 (list_mappings): derive name from id directly
27220 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27221
fda6cb98 272222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 Script fixes
27225
27226 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27227 (grub_lexer_param): add tokenonhold
27228 (grub_script_create_cmdline): remove cmdline. All callers updated
27229 (grub_script_function_create): make functionname
27230 grub_script_arg. All callers updated
27231 (grub_script_execute_argument_to_string): new prototype
27232 * kern/parser.c (state_transitions): reorder
27233 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27234 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27235 make global
27236 (grub_script_execute_cmdline): use new format
27237 * script/sh/function.c (grub_script_function_create): make functionname
27238 grub_script_arg. All callers updated
473d1e45 27239 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27240 (grub_script_yylex): remove
27241 (grub_script_yylex2): renamed to ...
27242 (grub_script_yylex): ...renamed
27243 parse the expressions like a${b}c
27244 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27245 (GRUB_PARSER_TOKEN_VAR): remove
27246 (GRUB_PARSER_TOKEN_NAME): likewise
27247 ("if"): declare as typeless
27248 ("while"): likewise
27249 ("function"): likewise
27250 ("else"): likewise
27251 ("then"): likewise
27252 ("fi"): likewise
27253 (text): remove
27254 (argument): likewise
27255 (script): accept empty scripts and make exit on error
27256 (arguments): use GRUB_PARSER_TOKEN_ARG
27257 (function): likewise
27258 (command): move error handling to script
27259 (menuentry): move grub_script_lexer_ref before
473d1e45 27260 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27261 argument. All callers updated
27262
f4448a07 272632009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27264
27265 Prevent GRUB from probing floppies during boot.
27266
27267 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27268 * commands/search.c (options): Add --no-floppy.
27269 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27270 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27271 --no-floppy when searching for UUIDs.
27272
2bf5885a 272732009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27274
27275 Simplify the code duplication in commands/search.c.
27276
27277 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27278 (search_fs): ... this. Update all users.
27279
f6fd460a 272802009-06-03 Felix Zielcke <fzielcke@z-51.de>
27281
27282 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27283
cbb3c83e 272842009-05-28 Pavel Roskin <proski@gnu.org>
27285
57788cfd 27286 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27287 Remove the original symlink explicitly.
27288
cbb3c83e 27289 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27290 just one slash. That's how grub_fshelp_find_file() does it.
27291
cd0d5e30 272922009-05-26 Pavel Roskin <proski@gnu.org>
27293
f0f8bbe2 27294 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27295 to `str'.
27296
cd0d5e30 27297 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27298 possibly unused.
27299
8c2cab51 273002009-05-25 Christian Franke <franke@computer.org>
27301
27302 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27303 register.
27304 (grub_atapi_identify): Add wait after drive select.
27305 (grub_ata_identify): Do more strict status register check before
27306 calling grub_atapi_identify (). Suppress error message if status
27307 register is 0x00 after command failure. Add status register
27308 check after PIO read to avoid bogus identify due to stuck DRQ.
27309 Thanks to Pavel Roskin for testing.
27310 (grub_device_initialize): Remove unsafe status register check.
27311 Thanks to 'phcoder' for problem report and patch.
27312 Prevent sign extension in debug message.
27313
230c0ad6 273142009-05-23 Colin D Bennett <colin@gibibit.com>
27315
27316 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27317 definition file, and functions defined in `normal/menu.c' have had
27318 their prototypes moved to `include/grub/menu.h' for consistency.
27319
27320 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27321 from normal.h.
27322 (grub_menu_get_entry): Likewise.
27323 (grub_menu_get_timeout): Likewise.
27324 (grub_menu_set_timeout): Likewise.
27325 (grub_menu_execute_entry): Likewise.
27326 (grub_menu_execute_with_fallback): Likewise.
27327 (grub_menu_entry_run): Likewise.
27328
27329 * include/grub/normal.h: Re-ordered and grouped function
27330 prototypes by file that the function is defined in.
27331 (grub_menu_execute_callback): Removed; moved to menu.h.
27332 (grub_menu_get_entry): Likewise.
27333 (grub_menu_get_timeout): Likewise.
27334 (grub_menu_set_timeout): Likewise.
27335 (grub_menu_execute_entry): Likewise.
27336 (grub_menu_execute_with_fallback): Likewise.
27337 (grub_menu_entry_run): Likewise.
27338 (grub_menu_addentry): Renamed from this ...
27339 (grub_normal_add_menu_entry): ... to this.
27340
27341 * normal/main.c (grub_menu_addentry): Renamed from this ...
27342 (grub_normal_add_menu_entry): ... to this.
27343
27344 * script/sh/execute.c (grub_script_execute_menuentry): Update
27345 reference to renamed grub_menu_addentry function.
27346
861f03a5 273472009-05-23 Felix Zielcke <fzielcke@z-51.de>
27348
27349 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27350
96b1619a 273512009-05-22 Pavel Roskin <proski@gnu.org>
27352
bf6a5fb2 27353 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27354 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27355 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27356 compiling for the i386 targets, but not for the utilities.
27357
96b1619a 27358 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27359 to grub_uint8_t.
27360 (grub_root_drive): Likewise.
27361 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27362 remove alignment.
27363 (grub_root_drive): Change size to byte.
27364 (grub_start_addr): Remove.
27365 (grub_end_addr): Likewise.
27366 (grub_apm_bios_info): Likewise.
27367
b729776b 273682009-05-21 Felix Zielcke <fzielcke@z-51.de>
27369
27370 * normal/i386: Remove.
27371 * normal/powerpc: Likewise.
27372 * normal/sparc64: Likewise.
27373 * normal/x86_64: Likewise.
27374
0a15ce80 273752009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27376
27377 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27378 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27379 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27380
33db9015 273812009-05-18 Colin D Bennett <colin@gibibit.com>
27382
d6da58e6 27383 Display error messages when parsing a Lua statement fails.
27384 Previously, executing a syntactically invalid statement like
27385 ")foo" or "bar;" would silently fail.
33db9015 27386
27387 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27388 (grub_lua_parse_line): Improved reporting of Lua parser and
27389 execution errors.
33db9015 27390
46422c89 273912009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27392
27393 Remove -Werror which causes build to fail on some systems
27394
27395 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27396 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27397 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27398
22f53a96 273992009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27400
27401 trampoline for linux on 64-bit platform
27402
18f547ad 27403 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27404 loader/i386/efi/linux_trampoline.S
27405 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27406 declaration
d6da58e6 27407 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27408 here
22f53a96 27409 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27410 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27411 trampoline
22f53a96 27412 (jumpvector): removed
27413 (grub_linux_trampoline_start): new declaration
27414 (grub_linux_trampoline_end): likewise
27415 (grub_linux_boot): use trampoline when on 64-bit platform
27416 * loader/i386/linux.c: likewise
27417
cb5a0f40 274182009-05-16 Pavel Roskin <proski@gnu.org>
27419
27420 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27421 const to avoid a warning.
27422 (grub_lua_setenv): Likewise.
27423 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27424 lmsg to fix a warning.
27425
334f2c28 274262009-05-16 Felix Zielcke <fzielcke@z-51.de>
27427
27428 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27429 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27430 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27431 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27432 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27433 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27434 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27435 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27436
59e5d3ec 274372009-05-16 Felix Zielcke <fzielcke@z-51.de>
27438
27439 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27440
9d87a1ba 274412009-05-16 Bean <bean123ch@gmail.com>
27442
27443 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27444 (lua_mod_SOURCES): New variable.
27445 (lua_mod_CFLAGS): Likewise.
27446 (lua_mod_LDFLAGS): Likewise.
27447
27448 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27449 (setjmp_mod_SOURCES): New variable.
27450 (setjmp_mod_CFLAGS): Likewise.
27451 (setjmp_LDFLAGS): Likewise.
27452
27453 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27454 (setjmp_mod_SOURCES): New variable.
27455 (setjmp_mod_CFLAGS): Likewise.
27456 (setjmp_LDFLAGS): Likewise.
27457
27458 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27459 (setjmp_mod_SOURCES): New variable.
27460 (setjmp_mod_CFLAGS): Likewise.
27461 (setjmp_LDFLAGS): Likewise.
27462
27463 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27464 (setjmp_mod_SOURCES): New variable.
27465 (setjmp_mod_CFLAGS): Likewise.
27466 (setjmp_LDFLAGS): Likewise.
27467
27468 * normal/i386/setjmp.S: Moved from here ...
27469 * lib/i386/setjmp.S: ... Moved here
27470 * normal/x86_64/setjmp.S: Moved from here ...
27471 * lib/x86_64/setjmp.S: ... Moved here
27472 * normal/powerpc/setjmp.S: Moved from here ...
27473 * lib/powerpc/setjmp.S: ... Moved here
27474 * normal/sparc64/setjmp.S: Moved from here ...
27475 * lib/sparc64/setjmp.S: ... Moved here
27476
27477 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27478 returns_twice in mingw.
27479
27480 * script/lua/grub_lib.c: New file.
27481 * script/lua/grub_lib.h: Likewise.
27482 * script/lua/grub_lua.h: Likewise.
27483 * script/lua/grub_main.c: Likewise.
27484 * script/lua/lapi.c: Likewise.
27485 * script/lua/lapi.h: Likewise.
27486 * script/lua/lauxlib.c: Likewise.
27487 * script/lua/lauxlib.h: Likewise.
27488 * script/lua/lbaselib.c: Likewise.
27489 * script/lua/lcode.c: Likewise.
27490 * script/lua/lcode.h: Likewise.
27491 * script/lua/ldblib.c: Likewise.
27492 * script/lua/ldebug.c: Likewise.
27493 * script/lua/ldebug.h: Likewise.
27494 * script/lua/ldo.c: Likewise.
27495 * script/lua/ldo.h: Likewise.
27496 * script/lua/ldump.c: Likewise.
27497 * script/lua/lfunc.c: Likewise.
27498 * script/lua/lfunc.h: Likewise.
27499 * script/lua/lgc.c: Likewise.
27500 * script/lua/lgc.h: Likewise.
27501 * script/lua/linit.c: Likewise.
27502 * script/lua/liolib.c: Likewise.
27503 * script/lua/llex.c: Likewise.
27504 * script/lua/llex.h: Likewise.
27505 * script/lua/llimits.h: Likewise.
27506 * script/lua/lmathlib.c: Likewise.
27507 * script/lua/lmem.c: Likewise.
27508 * script/lua/lmem.h: Likewise.
27509 * script/lua/loadlib.c: Likewise.
27510 * script/lua/lobject.c: Likewise.
27511 * script/lua/lobject.h: Likewise.
27512 * script/lua/lopcodes.c: Likewise.
27513 * script/lua/lopcodes.h: Likewise.
27514 * script/lua/loslib.c: Likewise.
27515 * script/lua/lparser.c: Likewise.
27516 * script/lua/lparser.h: Likewise.
27517 * script/lua/lstate.c: Likewise.
27518 * script/lua/lstate.h: Likewise.
27519 * script/lua/lstring.c: Likewise.
27520 * script/lua/lstring.h: Likewise.
27521 * script/lua/lstrlib.c: Likewise.
27522 * script/lua/ltable.c: Likewise.
27523 * script/lua/ltable.h: Likewise.
27524 * script/lua/ltablib.c: Likewise.
27525 * script/lua/ltm.c: Likewise.
27526 * script/lua/ltm.h: Likewise.
27527 * script/lua/lua.h: Likewise.
27528 * script/lua/luaconf.h: Likewise.
27529 * script/lua/lualib.h: Likewise.
27530 * script/lua/lundump.c: Likewise.
27531 * script/lua/lundump.h: Likewise.
27532 * script/lua/lvm.c: Likewise.
27533 * script/lua/lvm.h: Likewise.
27534 * script/lua/lzio.c: Likewise.
27535 * script/lua/lzio.h: Likewise.
27536
5e898c9d 275372009-05-16 Bean <bean123ch@gmail.com>
27538
27539 * include/grub/kernel.h (grub_module_header_types): Add type
27540 OBJ_TYPE_CONFIG.
27541
27542 * kern/main.c (grub_load_config): New function.
27543 (grub_main): Call grub_load_config to read boot config.
27544
27545 * grub-mkimage (generate_image): New parameter config_path.
27546 (options): New option --config.
27547 (main): Parse --config option, and pass it to generate_image.
27548
cf353a47 275492009-05-14 Christian Franke <franke@computer.org>
27550
27551 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27552 This fixes build on Cygwin.
27553
3834887f 275542009-05-14 Pavel Roskin <proski@gnu.org>
27555
27556 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27557 jump. This saves two bytes, so the typical case of 2 swapped
27558 drives would fit 32 bytes.
27559
8090fc01 275602009-05-13 Pavel Roskin <proski@gnu.org>
27561
ac963883 27562 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27563 grub_uint32_t to avoid a warning.
27564
8090fc01 27565 * loader/i386/linux.c (allocate_pages): When assigning
27566 real_mode_mem, cast through grub_size_t to fix a warning. The
27567 code already makes sure that the value would fit a pointer.
27568 (grub_linux_setup_video): Cast render_target->data to
27569 grub_size_t to fix a warning.
27570
18f547ad 275712009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27572
27573 * commands/i386/pc/drivemap.c: New file - implement drivemap
27574 command.
27575 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27576 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27577
6f6a8b28 275782009-05-13 Pavel Roskin <proski@gnu.org>
27579
27580 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27581 embedding_area_exists.
27582
15fbf4c4 275832009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27584
27585 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27586 it easier to understand / work with.
59978c8a 27587 Improve warning messages for cases where there's no embedding area,
27588 or when it is too small (or core.img too large).
15fbf4c4 27589
238e871f 275902009-05-13 Pavel Roskin <proski@gnu.org>
27591
0ab3a9a4 27592 * loader/i386/pc/multiboot2.c: Add necessary includes for
27593 grub_multiboot2_real_boot().
27594
a2c8c5f8 27595 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27596 PX record is always little-endian. We only need the lower 2
27597 bytes of the mode.
27598
faec96af 27599 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27600 facilitate code reuse.
27601 (grub_cpio_mount): Use "struct head", not a char buffer. This
27602 fixes a warning reported by gcc 4.4.
27603
238e871f 27604 * kernel/disk.c (grub_disk_read): Use void pointer for the
27605 buffer.
27606 (grub_disk_write): Use const void pointer for the buffer.
27607 Adjust all callers. Remove unnecessary casts.
27608
901d2f0c 276092009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27610
27611 * util/i386/pc/grub-install.in: Update copyright year.
27612
18f547ad 276132009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27614
27615 gptsync
27616
27617 * commands/gptsync.c: new file
27618 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27619 (gptsync_mod_SOURCES): new variable
27620 (gptsync_mod_CFLAGS): likewise
27621 (gptsync_mod_LDFLAGS): likewise
18f547ad 27622 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27623 new definition
27624 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27625 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27626 * conf/i386-ieee1275.rmk: likewise
27627 * conf/i386-pc.rmk: likewise
27628 * conf/powerpc-ieee1275.rmk: likewise
27629
b4ba690a 276302009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27631
27632 Fixed grub-emu
27633
27634 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27635 (grub_dl_ref): likewise
27636
317e1a44 276372009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27638
27639 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27640 split in two functions (one for msdos and one for gpt).
27641
041b8094 276422009-05-08 Pavel Roskin <proski@gnu.org>
27643
752473c2 27644 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27645 not modified.
27646
041b8094 27647 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27648 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27649 Initialize them with -1. Add sanity check for bad1. Eliminate
27650 nerr variable.
27651
172800ce 276522009-05-08 David S. Miller <davem@davemloft.net>
27653
27654 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27655
29aa5e81 276562009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27657
27658 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27659 existence.
29aa5e81 27660
96613b62 276612009-05-05 Felix Zielcke <fzielcke@z-51.de>
27662
27663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27664 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27665
eef73c8a 276662009-05-05 David S. Miller <davem@davemloft.net>
27667
27668 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27669
119494b5 276702009-05-05 Pavel Roskin <proski@gnu.org>
27671
27672 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27673 of grub_dl_ref() and grub_dl_unref().
27674 * commands/parttool.c: Remove preprocessor conditionals around
27675 grub_dl_ref() and grub_dl_unref().
27676 * fs/affs.c: Likewise.
27677 * fs/afs.c: Likewise.
27678 * fs/cpio.c: Likewise.
27679 * fs/ext2.c: Likewise.
27680 * fs/fat.c: Likewise.
27681 * fs/hfs.c: Likewise.
27682 * fs/hfsplus.c: Likewise.
27683 * fs/iso9660.c: Likewise.
27684 * fs/jfs.c: Likewise.
27685 * fs/minix.c: Likewise.
27686 * fs/ntfs.c: Likewise.
27687 * fs/reiserfs.c: Likewise.
27688 * fs/sfs.c: Likewise.
27689 * fs/udf.c: Likewise.
27690 * fs/ufs.c: Likewise.
27691 * fs/xfs.c: Likewise.
27692 * include/grub/dl.h: Likewise.
27693 * loader/xnu.c: Likewise.
27694
de5fd76e 276952009-05-04 Pavel Roskin <proski@gnu.org>
27696
27697 * commands/acpi.c: Remove unused variable my_mod.
27698 * partmap/amiga.c: Likewise.
27699 * partmap/apple.c: Likewise.
27700 * partmap/gpt.c: Likewise.
27701 * partmap/pc.c: Likewise.
27702 * partmap/sun.c: Likewise.
27703 * term/gfxterm.c: Likewise.
27704 * term/i386/pc/vesafb.c: Likewise.
27705 * term/i386/pc/vga.c: Likewise.
27706
983598ad 277072009-05-04 David S. Miller <davem@davemloft.net>
27708
27709 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27710 pointer args to grub_ieee1275_get_property().
27711
8aadec43 27712 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27713
9554b15e 27714 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27715 devices, and do not traverse down under controller nodes.
27716
67e23c90 27717 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27718 (grub_ofdisk_open): Use it to un-escape "," characters.
27719 * kern/disk.c (find_part_sep): New.
27720 (grub_disk_open): Use it to find the first non-escaped ','
27721 character in the disk name.
27722 * util/ieee1275/devicemap.c (escape_of_path): New.
27723 (grub_util_emit_devicemap_entry): Use it.
27724 * util/sparc64/ieee1275/grub-install.in: Update script to
27725 strip partition specifiers properly by not triggering on
27726 '\' escaped ',' characters.
27727
74bfdd2f 277282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27729
27730 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27731 to 0x300.
27732 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27733 resolutions.
27734 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27735 on documentation from Wikipedia).
27736
4241d2b1 277372009-05-04 Pavel Roskin <proski@gnu.org>
27738
27739 * disk/ata.c: Spelling fixes.
27740 * disk/raid.c: Likewise.
27741 * disk/usbms.c: Likewise.
27742 * disk/dmraid_nvidia.c: Likewise.
27743 * kern/ieee1275/openfw.c: Likewise.
27744 * kern/ieee1275/init.c: Likewise.
27745 * kern/ieee1275/cmain.c: Likewise.
27746 * boot/i386/pc/cdboot.S: Likewise.
27747 * video/readers/png.c: Likewise.
27748 * video/i386/pc/vbe.c: Likewise.
27749 * fs/udf.c: Likewise.
27750 * fs/hfs.c: Likewise.
27751 * fs/reiserfs.c: Likewise.
27752 * efiemu/runtime/efiemu.c: Likewise.
27753 * efiemu/main.c: Likewise.
27754 * efiemu/mm.c: Likewise.
27755 * include/grub/elf.h: Likewise.
27756 * include/grub/xnu.h: Likewise.
27757 * include/grub/usbdesc.h: Likewise.
27758 * include/grub/usb.h: Likewise.
27759 * include/grub/script_sh.h: Likewise.
27760 * include/grub/lib/LzmaEnc.h: Likewise.
27761 * include/grub/efiemu/efiemu.h: Likewise.
27762 * include/grub/command.h: Likewise.
27763 * normal/menu.c: Likewise.
27764 * normal/main.c: Likewise.
27765 * normal/datetime.c: Likewise.
27766 * bus/usb/uhci.c: Likewise.
27767 * mmap/i386/uppermem.c: Likewise.
27768 * mmap/mmap.c: Likewise.
27769 * commands/acpi.c: Likewise.
27770 * commands/test.c: Likewise.
27771 * partmap/apple.c: Likewise.
27772 * font/font.c: Likewise.
27773 * loader/sparc64/ieee1275/linux.c: Likewise.
27774 * loader/macho.c: Likewise.
27775 * loader/i386/bsd_trampoline.S: Likewise.
27776 * loader/i386/bsd.c: Likewise.
27777 * loader/xnu.c: Likewise.
27778 * term/i386/pc/vesafb.c: Likewise.
27779 * term/usb_keyboard.c: Likewise.
27780 * util/resolve.c: Likewise.
27781 * util/getroot.c: Likewise.
27782
0cfc0083 277832009-05-04 Felix Zielcke <fzielcke@z-51.de>
27784
27785 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27786
7c1d00cd 277872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27788
27789 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27790 build error.
27791
b01f0548 277922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27793
27794 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27795 parameter only available on BIOS.
27796
ecc3eb22 277972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27798
27799 Removed wrong semicolon in declaration
27800
27801 * grub/misc.h (grub_dprintf): remove semicolon
27802
112972a9 278032009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27804
27805 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27806 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27807 is done by grub_cmd_linux() now).
27808 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27809 restore video to text mode.
27810 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27811 indicates lack of "vga=" parameter. "vga=0" is mapped to
27812 `GRUB_LINUX_VID_MODE_NORMAL'.
27813
afd5c115 278142009-05-04 Felix Zielcke <fzielcke@z-51.de>
27815
27816 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27817 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27818 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27819 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27820 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27821 `grub_script.tab.c'.
27822
27823 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27824 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27826 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27827 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27828
faa517ce 27829 * Makefile.in: Remove duplicated 2008 in Copyright line.
27830
ae0c0bdc 278312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27832
473d1e45 27833 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27834 unconditionally.
27835 * include/grub/util/misc.h (grub_util_warn): New declaration.
27836
27837 * util/i386/pc/grub-install.in: Understand --force and pass it down
27838 to grub-setup.
27839
27840 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27841 down to setup().
27842 (setup): Improve error messages and add warnings when requested to
27843 install in odd layouts. Refuse to install using blocklists unless
27844 --force was set.
27845
18f547ad 278462009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27847
27848 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27849
6d260daa 278502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27851
27852 Updated copyright year
27853
27854 * fs/hfsplus.c: updated copyright year
18f547ad 27855
69f853f8 278562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27857
27858 HFS+ UUID
27859
18f547ad 27860 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27861 in the space previously used by unused3
27862 (grub_hfsplus_uuid): new function
27863 (grub_hfsplus_fs): added uuid field
27864
4c402e73 278652009-05-03 Pavel Roskin <proski@gnu.org>
27866
27867 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27868 suppress warnings. It's no longer needed.
27869 * disk/host.c: Likewise.
27870 * disk/ata_pthru.c: Likewise.
27871 * disk/loopback.c: Likewise.
27872 * hook/datehook.c: Likewise.
27873 * parttool/pcpart.c: Likewise.
27874 * fs/i386/pc/pxe.c: Likewise.
27875 * fs/ntfscomp.c: Likewise.
27876 * efiemu/main.c: Likewise.
27877 * mmap/mmap.c: Likewise.
27878 * commands/crc.c: Likewise.
27879 * commands/hexdump.c: Likewise.
27880 * commands/hdparm.c: Likewise.
27881 * commands/acpi.c: Likewise.
27882 * commands/echo.c: Likewise.
27883 * commands/minicmd.c: Likewise.
27884 * commands/blocklist.c: Likewise.
27885 * commands/memrw.c: Likewise.
27886 * commands/loadenv.c: Likewise.
27887 * commands/usbtest.c: Likewise.
27888 * commands/lsmmap.c: Likewise.
27889 * commands/boot.c: Likewise.
27890 * commands/parttool.c: Likewise.
27891 * commands/configfile.c: Likewise.
27892 * commands/search.c: Likewise.
27893 * commands/ieee1275/suspend.c: Likewise.
27894 * commands/cat.c: Likewise.
27895 * commands/i386/pc/pxecmd.c: Likewise.
27896 * commands/i386/pc/play.c: Likewise.
27897 * commands/i386/pc/halt.c: Likewise.
27898 * commands/i386/pc/vbeinfo.c: Likewise.
27899 * commands/i386/pc/vbetest.c: Likewise.
27900 * commands/lspci.c: Likewise.
27901 * commands/date.c: Likewise.
27902 * commands/handler.c: Likewise.
27903 * commands/ls.c: Likewise.
27904 * commands/test.c: Likewise.
27905 * commands/cmp.c: Likewise.
27906 * commands/efi/loadbios.c: Likewise.
27907 * commands/efi/fixvideo.c: Likewise.
27908 * commands/halt.c: Likewise.
27909 * commands/help.c: Likewise.
27910 * commands/reboot.c: Likewise.
27911 * hello/hello.c: Likewise.
27912 * script/sh/main.c: Likewise.
27913 * loader/xnu.c: Likewise.
27914 * term/terminfo.c: Likewise.
27915 * term/i386/pc/serial.c: Likewise.
27916 * term/usb_keyboard.c: Likewise.
27917
515b5079 279182009-05-03 David S. Miller <davem@davemloft.net>
27919
27920 * normal/menu.c: Include grub/parser.h
27921
dfc31a22 279222009-05-03 Pavel Roskin <proski@gnu.org>
27923
2fee74f1 27924 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27925 not char*.
27926 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27927 Suggested by Javier Martín <lordhabbit@gmail.com>
27928
dfc31a22 27929 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27930 efiemu??.o doesn't exist.
27931 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27932 copying.
27933
18f547ad 279342009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27935
27936 FreeBSD 64-bit support
27937
18f547ad 27938 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27939 and loader/i386/bsd_trampoline.S
27940 (bsd_mod_ASFLAGS): new variable
27941 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27942 (FREEBSD_MODTYPE_KERNEL64): likewise
27943 (grub_bsd64_trampoline_start): likewise
27944 (grub_bsd64_trampoline_end): likewise
27945 (grub_bsd64_trampoline_selfjump): likewise
27946 (grub_bsd64_trampoline_gdt): likewise
27947 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27948 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27949 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27950 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27951 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27952 of "attrib" member
27953 * loader/i386/bsd_pagetable.c: new file
27954 * loader/i386/bsd_trampoline.S: likewise
27955 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27956 (ALIGN_VAR): likewise
27957 (entry_hi): new variable
27958 (kern_end_mdofs): likewise
27959 (is_64bit): likewise
27960 (grub_freebsd_add_meta): use ALIGN_VAR
27961 (grub_e820_mmap): new declaration
27962 (grub_freebsd_add_mmap): new function
27963 (grub_freebsd_add_meta_module): support 64 bit kernels
27964 (grub_freebsd_list_modules): use ALIGN_VAR
27965 (gdt_descriptor): new declaration
27966 (grub_freebsd_boot): support 64 bit kernels
27967 (grub_bsd_elf64_hook): new function
27968 (grub_bsd_load_elf): support elf64
27969
038c5720 279702009-05-03 Bean <bean123ch@gmail.com>
27971
27972 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27973 after we get the result of if statement.
27974
fc45fb58 279752009-05-03 Bean <bean123ch@gmail.com>
27976
27977 * Makefile.in (enable_efiemu): New variable.
27978
27979 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27980 set.
27981 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27982 path.
27983 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27984 path, add -mno-red-zone option.
27985 (efiemu64_s.o): Likewise.
27986 (efiemu64.o): Use macro $^ for source file.
27987
27988 * configure.ac (--enable-efiemu): New option.
27989
bbee0f2b 279902009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27991
27992 xnu support
27993
27994 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27995 (pkglib_MODULES): add xnu.mod
27996 (xnu_mod_SOURCES): new variable
27997 (xnu_mod_CFLAGS): likewise
27998 (xnu_mod_LDFLAGS): likewise
27999 (xnu_mod_ASFLAGS): likewise
28000 * conf/i386-pc.rmk: likewise
28001 * conf/x86_64-efi.rmk: likewise
7dd4a573 28002 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28003 new declaration
28004 * include/grub/i386/macho.h: new file
28005 * include/grub/i386/xnu.h: likewise
28006 * include/grub/macho.h: likewise
28007 * include/grub/machoload.h: likewise
28008 * include/grub/x86_64/macho.h: likewise
28009 * include/grub/x86_64/xnu.h: likewise
28010 * include/grub/xnu.h: likewise
28011 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28012 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28013 * loader/i386/efi/xnu.c: new file
28014 * loader/i386/pc/xnu.c: likewise
28015 * loader/i386/xnu.c: likewise
28016 * loader/i386/xnu_helper.S: likewise
28017 * loader/macho.c: likewise
28018 * loader/xnu.c: likewise
28019 * loader/xnu_resume.c: likewise
28020 * util/grub-dumpdevtree: likewise
28021 * include/grub/i386/pit.h: include grub/err.h
28022 (grub_pit_wait): export
28023 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28024
5caf964d 280252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28026
28027 Efiemu
7dd4a573 28028
5caf964d 28029 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28030 _linux_efi, linux_efi.
28031 new files in grub-emu
5caf964d 28032 new targets efiemu32.o and efiemu64.o
28033 * loader/linux_normal_efiemu.c: likewise
28034 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28035 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28036 files to copy
28037 * include/grub/autoefi.h: new file
7dd4a573 28038 * include/grub/i386/efiemu.h: likewise
5caf964d 28039 * include/grub/i386/pc/efiemu.h: likewise
28040 * include/grub/efi/api.h: add LL suffix when necessary
28041 new definitions relating to tables
28042 * include/grub/efiemu/efiemu.h: new file
28043 * include/grub/efiemu/runtime.h: likewise
28044 * efiemu/prepare.c: likewise
28045 * efiemu/loadcore_common.c: likewise
28046 * efiemu/loadcore64.c: likewise
28047 * efiemu/runtime/efiemu.sh: likewise
28048 * efiemu/runtime/efiemu.S: likewise
28049 * efiemu/runtime/efiemu.c: likewise
28050 * efiemu/runtime/config.h: likewise
28051 * efiemu/prepare32.c: likewise
28052 * efiemu/main.c: likewise
28053 * efiemu/modules/pnvram.c: likewise
28054 * efiemu/modules/i386: likewise
28055 * efiemu/modules/i386/pc: likewise
28056 * efiemu/modules/acpi.c: likewise
28057 * efiemu/i386/pc/cfgtables.c: likewise
28058 * efiemu/i386/loadcore64.c: likewise
28059 * efiemu/i386/loadcore32.c: likewise
28060 * efiemu/prepare64.c: likewise
28061 * efiemu/loadcore.c: likewise
28062 * efiemu/symbols.c: likewise
28063 * efiemu/mm.c: likewise
28064 * efiemu/loadcore32.c: likewise
7dd4a573 28065
280662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28067
28068 ACPI spoofing
28069
28070 * commands/acpi.c: new file
28071 * commands/i386/pc/acpi.c: likewise
28072 * commands/efi/acpi.c: likewise
28073 * include/grub/acpi.h: likewise
28074 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28075 (acpi_mod_SOURCES): new variable
28076 (acpi_mod_CFLAGS): likewise
28077 (acpi_mod_LDFLAGS): likewise
28078 * conf/i386-efi.rmk: likewise
28079 * conf/x86_64-efi.rmk: likewise
28080
7dd4a573 280812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28082
28083 Missing part from mmap patch
28084
28085 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28086 (grub_mmap_unregister)
28087 (grub_mmap_free_and_unregister): use grub_mmap_register
28088
7dd4a573 280892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28090
28091 Mmap services
28092
28093 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28094 * loader/i386/linux.c (find_mmap_size): likewise
28095 (allocate_pages): likewise
28096 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28097 (grub_fill_multiboot_mmap): likewise
28098 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28099 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28100 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28101 (OPENBSD_MMAP_RESERVED): likewise
28102 * include/grub/i386/pc/memory.h: include grub/memory.h
28103 (grub_lower_mem): removed
28104 (grub_upper_mem): likewise
28105 (GRUB_MACHINE_MEMORY_ACPI): new definition
28106 (GRUB_MACHINE_MEMORY_NVS): likewise
28107 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28108 (GRUB_MACHINE_MEMORY_HOLE): likewise
28109 (grub_machine_mmap_register): likewise
28110 (grub_machine_mmap_unregister): likewise
28111 (grub_machine_get_upper): likewise
28112 (grub_machine_get_lower): likewise
28113 (grub_machine_get_post64): likewise
28114 * include/grub/i386/efi/memory.h: new file
28115 * include/grub/x86_64/efi/memory.h: likewise
28116 * include/grub/efi/memory.h: likewise
28117 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28118 (mmap_mod_SOURCES): new variable
28119 (mmap_mod_LDFLAGS): likewise
28120 (mmap_mod_ASFLAGS): likewise
28121 * conf/i386-coreboot.rmk: likewise
28122 * conf/i386-ieee1275.rmk: likewise
28123 * conf/i386-efi.rmk: likewise
28124 * conf/x86_64-efi.rmk: likewise
28125 * include/grub/types.h (UINT_TO_PTR): new macro
28126 (PTR_TO_UINT32): likewise
28127 (PTR_TO_UINT64): likewise
28128 * include/grub/memory.h: new file
28129 * mmap/i386/pc/mmap.c: likewise
28130 * mmap/i386/pc/mmap_helper.S: likewise
28131 * mmap/i386/uppermem.c: likewise
28132 * mmap/mmap.c: likewise
28133 * mmap/efi/mmap.c: likewise
7dd4a573 28134 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28135 grub_upper_mem
28136 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28137 (grub_upper_mem): likewise
28138 (grub_machine_init): don't use grub_upper_mem,
28139 make grub_lower_mem local
28140 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28141 grub_mmap_iterate and grub_mmap_get_upper
28142 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28143
d558e6b5 281442009-05-02 Bean <bean123ch@gmail.com>
28145
28146 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28147 script/sh/parser.y.
28148 (pkglib_MODULES): Add normal.mod and sh.mod.
28149 (normal_SOURCES): New variable.
28150 (normal_mod_CFLAGS): Likewise.
28151 (normal_mod_LDFLAGS): Likewise.
28152 (sh_mod_SOURCES): Likewise.
28153 (sh_mod_CFLAGS): Likewise.
28154 (sh_mod_LDFLAGS): Likewise.
28155
28156 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28157 script/sh/lexer.c_DEPENDENCIES.
28158 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28159 kern/rescue_reader.c and kern/rescue_parser.c.
28160 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28161 (grub_emu_SOURCES): Change source files.
28162 (pkglib_MODULES): Remove normal.mod.
28163 (normal_SOURCES): Removed.
28164 (normal_mod_CFLAGS): Likewise.
28165 (normal_mod_LDFLAGS): Likewise.
28166 * conf/i386-coreboot.rmk: Likewise.
28167 * conf/i386-efi.rmk: Likewise.
28168 * conf/i386-ieee1276.rmk: Likewise.
28169 * conf/powerpc-ieee1275.rmk: Likewise.
28170 * conf/sparc64-ieee1275.rmk: Likewise.
28171 * conf/x86_64-efi.rmk: Likewise.
28172
28173 * include/grub/command.h (grub_command_execute): New inline function.
28174
28175 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28176
28177 * include/grub/normal.h: Remove <grub/setjmp.h>.
28178 (grub_fs_module_list): Moved to normal/autofs.c.
28179 (grub_exit_env): Removed.
28180 (grub_command_execute): Likewise.
28181 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28182 parameter script.
28183 (read_command_list): New function declaration.
28184 (read_fs_list): Likewise.
28185
28186 * include/parser.h: Include <grub/reader.h>.
28187 (grub_parser_split_cmdline): Change type of getline parameter.
28188 (grub_parser): New structure.
28189 (grub_parser_class): New variable.
28190 (grub_parser_execute): New function declaration.
28191 (grub_register_rescue_parser): Likewise.
28192 (grub_parser_register): New inline function.
28193 (grub_parser_unregister): Likewise.
28194 (grub_parser_get_current): Likewise.
28195 (grub_parser_set_current): Likewise.
28196
28197 * include/grub/reader.h: New file.
28198 * kern/reader.c: Likewise.
28199 * kern/rescue_parser.c: Likewise.
28200 * kern/rescue_reader.c: Likewise.
28201 * normal/autofs.c: Likewise.
28202 * normal/dyncmd.c: Likewise.
28203
28204 * include/grub/rescue.h: Removed.
28205 * normal/command.h: Likewise.
28206
28207 * include/grub/script.h: Moved to ...
28208 * include/grub/script_sh.h: ... Moved here.
28209 * normal/execute.c: Moved to ...
28210 * script/sh/execute.c: ... Moved here.
28211 * normal/function.c: Moved to ...
28212 * script/sh/function.c: ... Moved here.
28213 * normal/lexer.c: Moved to ...
28214 * script/sh/lexer.c: ... Moved here.
28215 * normal/parser.y: Moved to ...
28216 * script/sh/parser.y: ... Moved here.
28217 * normal/script.c: Moved to ...
28218 * script/sh/script.c: ... Moved here.
28219
28220 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28221 <grub/reader.h>.
28222 (grub_exit_env): Removed.
28223 (fs_module_list): Moved to normal/autofs.c.
28224 (grub_file_getline): Don't handle comment here.
28225 (free_menu): Skip removed field entry->commands.
28226 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28227 script parameter.
28228 (read_config_file): Removed nested parameter, change getline function.
28229 (grub_enter_normal_mode): Removed.
28230 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28231 (read_command_list): Likewise.
28232 (autoload_fs_module): Moved to normal/autofs.c.
28233 (read_fs_list): Likewise.
28234 (reader_nested): New variable.
28235 (grub_normal_execute): Run parser.sh to switch to sh parser.
28236 (grub_cmd_rescue): Removed.
28237 (cmd_normal): Removed.
28238 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28239 rescue command.
28240 (grub_cmdline_run): New function.
28241 (grub_normal_reader_init): Likewise.
28242 (grub_normal_read_line): Likewise.
28243 (grub_env_write_pager): Likewise.
28244 (cmdline): New variable.
28245 (grub_normal_reader): Likewise.
28246 (GRUB_MOD_INIT): Register normal reader and set as current, register
28247 pager hook, register normal command with grub_register_command_prio,
28248 so that it won't show up in command.lst.
28249 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28250 grub_fs_autoload_hook.
28251
28252 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28253 (grub_menu_execute_entry): Replace grub_script_execute with
28254 grub_parser_execute, change parameter to grub_command_execute.
28255
28256 * normal/menu_text.c: Remove <grub/script.h>.
28257
28258 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28259 and <grub/parser.h>.
28260 (run): Change editor_getline to use new parser interface. Change
28261 parameter to grub_command_execute.
28262
28263 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28264 <grub/reader.h> and <grub/parser.h>.
28265 (grub_load_normal_mode): Execute normal command.
28266 (grub_main): Call grub_register_core_commands,
28267 grub_register_rescue_parser and grub_register_rescue_reader, use
28268 grub_reader_loop to enter input loop.
28269
7dd4a573 28270 * kern/parser.c (grub_parser_split_cmdline): Change type of
28271 getline parameter.
d558e6b5 28272 (grub_parser_class): New variable.
28273 (grub_parser_execute): New function.
28274
28275 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28276 * loader/multiboot2.c: Likewise.
28277 * loader/sparc64/ieee1275/linux.c: Likewise.
28278
28279 * util/grub-emu.c (read_command_list): New dummy function.
28280
18db813d 282812009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28282
28283 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28284 count to 16 for CCISS and IDA.
28285
6c67de15 282862009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28287
28288 * normal/menu_text.c (grub_wait_after_message): Print a newline
28289 after waiting for user input.
28290
28291 * loader/i386/linux.c: Include `<grub/normal.h>'.
28292 (grub_cmd_linux): Improve the error message about `ask' mode, by
28293 waiting for user input so it's not missed (we can do this, since
28294 user requested interaction).
28295
d9dc87b0 282962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28297
28298 Added missing lst to grub-mkrescue
28299
28300 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28301 and ${input_dir}/parttool.lst
28302
ac8a2baa 283032009-04-30 David S. Miller <davem@davemloft.net>
28304
ad22a610 28305 * util/hostdisk.c (device_is_wholedisk): New function.
28306 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28307 zero only if device_is_wholedisk() returns true.
28308
6966215d 28309 * util/hostdisk.c (convert_system_partition_to_system_disk):
28310 Handle virtual disk devices named /dev/vdiskX as found on sparc
28311 and powerpc.
28312
ac8a2baa 28313 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28314 lettered partition specifier is found, convert to numbered.
28315
979b4fb4 283162009-04-29 David S. Miller <davem@davemloft.net>
28317
e2bf39b2 28318 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28319 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28320
3c64e104 28321 * normal/command.c: Add missing newline at end of file.
28322
979b4fb4 28323 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28324 warnings.
28325 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28326 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28327 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28328 ihandles have a 32-bit type but need to be stored in a "void *".
28329
136d9f82 283302009-04-28 Pavel Roskin <proski@gnu.org>
28331
9459c306 28332 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28333 not disk. Adjust all dependencies.
2e08a26a 28334 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28335 grub_disk_close().
28336
136d9f82 28337 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28338 parent's partition, don't copy it by reference, as it gets freed
28339 on close.
28340
7dd4a573 283412009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28342
28343 Preboot hooks support
28344
28345 * commands/boot.c (struct grub_preboot_t): new declaration
28346 (preboots_head): new variable
28347 (preboots_tail): likewise
28348 (grub_loader_register_preboot_hook): new function
28349 (grub_loader_unregister_preboot_hook): likewise
28350 (grub_loader_set): launch preboot hooks
28351 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28352 (grub_loader_register_preboot_hook): new declaration
28353 (grub_loader_unregister_preboot_hook): likewise
28354
5af922b5 283552009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28356
28357 Warning fix
28358
7dd4a573 28359 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28360 calling grub_dprintf
28361
a5562c30 283622009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28363
28364 Bug and warning fixes
28365
7dd4a573 28366 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28367 declaration
28368 * commands/test.c (test_parse): fixed bug with file tests and corrected
28369 declaration of find_file
28370
4006f85c 283712009-04-26 Pavel Roskin <proski@gnu.org>
28372
28373 * Makefile.in: Don't install empty manual pages if help2man is
28374 missing. Use help2man option for output, not shell redirection.
28375
5c77c3de 283762009-04-26 David S. Miller <davem@davemloft.net>
28377
28378 * util/grub-mkdevicemap.c (make_device_map): Add missing
28379 NESTED_FUNC_ATTR to process_device().
28380
033b10a8 283812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 Test command
28384
28385 * commands/test.c: rewritten to use bash-like test
28386
e4343593 283872009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28388
28389 Parttool autoloading and improvements
28390
7dd4a573 28391 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28392 (parttool.lst): new target
28393 * genmk.rb: generate parttool-*
28394 (CLEANFILES): add #{parttool}
28395 (PARTTOOLFILES): new variable
28396 * genparttoollist.sh: new file
7dd4a573 28397 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28398 (grub_pcpart_type): likewise
28399 * commands/parttool.c (helpmsg): new variable
28400 (grub_cmd_parttool): output help if not enough arguments are supplied
28401 autoload modules
28402 (GRUB_MOD_INIT(parttool)): use helpmsg
28403
0d312500 284042009-04-24 David S. Miller <davem@davemloft.net>
28405
7dd4a573 28406 Avoiding opening same device multiple times in device iterator.
0d312500 28407
28408 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28409 and use it to build a list of partitions in iterate_disk() and
0d312500 28410 iterate_partition().
28411
ac20caff 28412 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28413 on disk->data.
28414
0dcf7495 28415 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28416 grub_devalias_iterate() result instead of unconditional 0.
28417 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28418 Also, capture hook return value, either directly or via
28419 grub_children_iterate(), and propagate to caller.
28420 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28421 grub_children_iterate): Return value is now 'int' instead of
28422 'grub_err_t'.
28423 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28424 like a proper iterator, stopping when hooks return non-zero.
28425 (grub_devalias_iterate): Likewise.
28426
c8c08833 284272009-04-23 David S. Miller <davem@davemloft.net>
28428
28429 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28430
f01005a8 284312009-04-22 David S. Miller <davem@davemloft.net>
28432
28433 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28434 is larger than address_cells, use that value for address_cells too.
28435
4e8269da 28436 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28437 IEEE1275_MAX_PATH_LEN): Define.
28438 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28439 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28440 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28441 'devtype'. Explicitly NULL terminate devalias expansion.
28442
a1447506 28443 * util/sparc64/ieee1275/misc.c: New file.
28444 * util/sparc64/ieee1275/grub-setup.c: New file.
28445 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28446 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28447 * util/sparc64/ieee1275/grub-install.in: New file.
28448 * util/ieee1275/ofpath.c: New file.
28449 * util/ieee1275/devicemap.c: New file.
28450 * util/devicemap.c: New file.
28451 * util/deviceiter.c: New file.
28452 * kern/sparc64/ieee1275/init.c: New file.
28453 * include/grub/util/ofpath.h: New file.
28454 * include/grub/util/deviceiter.h: New file.
28455 * util/grub-mkdevicemap.c: Include deviceiter.h.
28456 Implement using grub_util_emit_devicemap_entry and
28457 grub_util_iterate_devices.
28458 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28459 util/devicemap.c into grub-mkdevicemap
28460 * conf/i386-efi.rmk: Likewise.
28461 * conf/i386-ieee1275.rmk: Likewise.
28462 * conf/i386-pc.rmk: Likewise.
28463 * conf/powerpc-ieee1275.rmk: Likewise.
28464 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28465 images and installation utilities. Build kernel as image
28466 instead of as elf binary. Use common rules as much as possible.
28467
7dd4a573 284682009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28469
28470 Correct GPT definition
28471
7dd4a573 28472 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28473 of "attrib" member
28474
c6c5219f 284752009-04-19 Felix Zielcke <fzielcke@z-51.de>
28476
28477 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28478
0552ff9f 284792009-04-19 David S. Miller <davem@davemloft.net>
28480
28481 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28482 (grub_rescue_cmd_linux): Rename to...
28483 (grub_cmd_linux): and fix prototype.
28484 (grub_rescue_cmd_initrd): Rename to...
28485 (grub_cmd_initrd): and fix prototype.
28486 (cmd_linux, cmd_initrd): New.
28487 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28488 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28489
d1a282fc 284902009-04-17 Pavel Roskin <proski@gnu.org>
28491
07c5039f 28492 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28493 format.
28494 (grub_ohci_transfer): Likewise.
28495
b012002d 28496 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28497
1bc09c35 28498 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28499 return without a value. Fix inconsistent indentation.
28500
e0ff9126 28501 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28502 match struct grub_fs.
28503
d1a282fc 28504 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28505 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28506 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28507 * commands/lspci.c (grub_lspci_iter): Likewise.
28508
a96df3f2 285092009-04-16 Bean <bean123ch@gmail.com>
28510
28511 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28512 value.
28513
41bb0fe9 285142009-04-15 Pavel Roskin <proski@gnu.org>
28515
28516 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28517 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28518 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28519 definitions.
28520
596c6970 285212009-04-15 Felix Zielcke <fzielcke@z-51.de>
28522
28523 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28524 that no multiple data or metadata areas are supported and `Unknown
596c6970 28525 metadata header'.
28526
7dd4a573 285272009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28528
28529 Move loader out of the kernel
28530
28531 * kern/loader.c: moved to ...
28532 * commands/boot.c: ... moved here
28533 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28534 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28535 * include/grub/kernel.h (grub_machine_fini): export
28536 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28537 (grub_loader_set): likewise
28538 (grub_loader_unset): likewise
28539 (grub_loader_boot): likewise
28540 * conf/common.rmk: new module boot.mod
28541 (pkglib_MODULES): add boot.mod
28542 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28543 (grub_emu_SOURCES): likewise
28544 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28545 (grub_emu_SOURCES): likewise
28546 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28547 (grub_emu_SOURCES): likewise
28548 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28549 (grub_emu_SOURCES): likewise
28550 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28551 (grub_emu_SOURCES): likewise
7dd4a573 28552 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28553 (grub_emu_SOURCES): likewise
0d5d5653 28554 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28555 (grub_emu_SOURCES): likewise
0d5d5653 28556
7dd4a573 285572009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28558
28559 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28560
5999d619 28561 * kern/misc.c (grub_itoa): Removed function
28562 (grub_ltoa): likewise
28563 (grub_vsprintf): use grub_lltoa
28564
7dd4a573 285652009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28566
28567 Restore grub-emu
28568
28569 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28570 * conf/i386-coreboot.rmk: likewise
28571 * conf/i386-ieee1275.rmk: likewise
28572 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28573
20318222 285742009-04-15 Felix Zielcke <fzielcke@z-51.de>
28575
28576 * INSTALL: Add that `./autogen.sh' needs to be run before
28577 `./configure.'.
28578
d05f0df3 285792009-04-14 Bean <bean123ch@gmail.com>
28580
28581 * Makefile.in (pkglib_DATA): Add handler.lst.
28582 (handler.lst): New rule.
28583
28584 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28585 * conf/i386-coreboot.rmk: Likewise.
28586 * conf/i386-ieee1275.rmk: Likewise.
28587 * conf/i386-efi.rmk: Likewise.
28588 * conf/x86_64-efi.rmk: Likewise.
28589 * conf/powerpc-ieee1275.rmk: Likewise.
28590 * conf/sparc64-ieee1275.rmk: Likewise.
28591
28592 * genhandlerlist.sh: New file.
28593
28594 * genmk.rb: Add rules to generate handler.lst.
28595
28596 * include/grub/normal.h (grub_file_getline): New function definition.
28597 (read_handler_list): Likewise.
28598 (free_handler_list): Likewise.
28599
28600 * include/grub/term.h (grub_term_register_input): Add name parameter
28601 for auto generation of handler.lst.
28602 (grub_term_register_output): Likewise.
28603
28604 * normal/handler.c: New file.
28605
28606 * normal/main.c (get_line): Renamed to grub_file_getline.
28607 (read_config_file): Use the newly renamed grub_file_getline.
28608 (read_command_list): Likewise.
28609 (read_fs_list): Likewise.
28610 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28611 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28612
28613 * term/efi/console.c (grub_console_init): Add name parameter for auto
28614 generation of handler.lst.
28615 * term/gfxterm.c: Likewise.
28616 * term/i386/pc/at_keyboard.c: Likewise.
28617 * term/i386/pc/console.c: Likewise.
28618 * term/i386/pc/serial.c: Likewise.
28619 * term/i386/pc/vesafb.c: Likewise.
28620 * term/i386/pc/vga.c: Likewise.
28621 * term/i386/pc/vga_text.c: Likewise.
28622 * term/ieee1275/ofconsole.c: Likewise.
28623 * term/usb_keyboard.c: Likewise.
28624
33c846be 286252009-04-14 Bean <bean123ch@gmail.com>
28626
28627 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28628 properly with null character.
28629
4484e01e 286302009-04-14 Felix Zielcke <fzielcke@z-51.de>
28631
28632 * configure: Remove.
28633 * config.h.in: Likewise.
f93d668e 28634 * stamp-h.in: Likewise.
4484e01e 28635 * DISTLIST: Likewise.
28636 * conf/common.mk: Likewise.
28637 * conf/i386-coreboot.mk: Likewise.
28638 * conf/i386-efi.mk: Likewise.
28639 * conf/i386-ieee1275.mk: Likewise.
28640 * conf/i386.mk: Likewise.
28641 * conf/i386-pc.mk: Likewise.
28642 * conf/powerpc-ieee1275.mk: Likewise.
28643 * conf/sparc64-ieee1275.mk: Likewise.
28644 * conf/x86_64-efi.mk: Likewise.
28645
28646 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28647 develop on GRUB.
28648
7dd4a573 286492009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28650 David S. Miller <davem@davemloft.net>
28651
28652 * util/hostdisk.c (make_device_name): Fix buffer length
28653 calculations.
28654
e25b5a8c 286552009-04-14 Felix Zielcke <fzielcke@z-51.de>
28656
28657 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28658 <sys/param.h> and <sys/sysctl.h>.
28659 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28660 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28661 opening the device and reset them afterwards.
28662
1f1f580c 286632009-04-13 Pavel Roskin <proski@gnu.org>
28664
28665 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28666 Reported by John Stanley <jpsinthemix@verizon.net>
28667
7ebc2d6b 286682009-04-13 Robert Millan <rmh@aybabtu.com>
28669
28670 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28671 that name for menuentries when appropriate.
7ebc2d6b 28672
d8ba3667 286732009-04-13 Felix Zielcke <fzielcke@z-51.de>
28674
28675 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28676
cba416eb 286772009-04-13 Robert Millan <rmh@aybabtu.com>
28678
28679 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28680 to Linux, simply abort telling the user it's no longer supported.
28681
a547a745 286822009-04-13 Felix Zielcke <fzielcke@z-51.de>
28683
28684 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28685 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28686 `freebsd_loadenv' only when devices.hints exist.
28687
232a769c 286882009-04-13 Pavel Roskin <proski@gnu.org>
28689
28690 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28691
c3012039 286922009-04-13 Felix Zielcke <fzielcke@z-51.de>
28693
28694 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28695 partition number.
28696 (grub_drive): Likewise.
28697
234022fe 286982009-04-13 David S. Miller <davem@davemloft.net>
28699
28700 * kern/sparc64/ieee1275/ieee1275.c: New file.
28701 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28702 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28703 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28704 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28705 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28706 grub_ieee1275_alloc_physmem): Declare new exported functions.
28707
d8e1836c 28708 * include/grub/sparc64/ieee1275/loader.h: New file.
28709 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28710 * include/grub/sparc64/kernel.h: Likewise.
28711 * loader/sparc64/ieee1275/linux.c: Likewise.
28712
96bd81ec 28713 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28714 (grub_fstest_SOURCES): Likewise.
28715
6a4737e5 28716 * util/hostdisk.c (make_device_name): Do not make any assumptions
28717 about the length of drive names.
28718
1d7a72fd 28719 * kern/dl.c (grub_dl_load_file): Close file immediately when
28720 we are done using it.
28721
56bc2471 287222009-04-12 David S. Miller <davem@davemloft.net>
28723
28724 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28725 values. Noticed by Pavel Roskin.
28726
df38d0bb 28727 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28728 target compiler.
7dd4a573 28729
e382e93a 28730 * genmk.rb: Add more flexible image type specification, also
28731 pass --strip-unneeded to objcopy.
28732 * conf/i386-pc.rmk: Use *_FORMAT.
28733 * conf/i386-pc.mk: Rebuilt.
28734
f5dbbca9 28735 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28736 (OFDISK_HASH_SZ): Define.
28737 (ofdisk_hash): New hash table.
28738 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28739 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28740 instead of device phandle which is not unique.
28741
91c88b12 28742 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28743 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28744 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28745 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28746 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28747 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28748 GRUB_KERNEL_MACHINE_DATA_END): Define.
28749 (grub_kernel_image_size, grub_total_module_size): Declare.
28750
5b5d4aa5 287512009-04-12 Pavel Roskin <proski@gnu.org>
28752
7dd4a573 28753 * configure.ac: Change the logic when we check for target tools.
28754 Do it when the target is specified and it's different from the
28755 specified value of the host.
5b5d4aa5 28756
c91e1793 287572009-04-11 Felix Zielcke <fzielcke@z-51.de>
28758
28759 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28760 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28761 GNU/kFreeBSD. Check if a device is a character device. Use
28762 DIOCGMEDIASIZE to get the size.
28763 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28764 support for GNU/kFreeBSD.
28765 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28766 is a character device instead of a block device. Add support for
28767 FreeBSD device names.
28768
28769 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28770 is a character device instead of a block device.
28771
28772 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28773 is a character device instead of a block device.
28774
b1ac8644 287752009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28776
28777 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28778 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28779 FreeBSD. Check if a device is a character device. Use
28780 DIOCGMEDIASIZE to get the size.
28781 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28782 support for FreeBSD.
28783 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28784 is a character device instead of a block device. Add support for
28785 FreeBSD device names.
28786
28787 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28788 a character device instead of a block device.
28789 (grub_util_check_char_device): New function.
28790
28791 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28792 a character device instead of a block device.
28793
28794 * include/grub/util/getroot.h (grub_util_check_char_device): New
28795 prototype.
28796
a3f7515a 287972009-04-11 David S. Miller <davem@davemloft.net>
28798
28799 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28800 static libgcc.
28801 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28802 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28803 function, if present.
28804 (__bswapdi2): Likewise.
28805
0d44993d 28806 * include/grub/sparc64/ieee1275/boot.h: New file.
28807 * boot/sparc64/ieee1275/boot.S: Likewise.
28808 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28809
ed3d2bc2 28810 * kern/misc.c (grub_ltoa): New function.
28811 (grub_vsprintf): Use it to format 'long' integers.
28812
d3bfb59c 288132009-04-10 David S. Miller <davem@davemloft.net>
28814
28815 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28816 slots are of type grub_ieee1275_cell_t.
28817 (grub_nand_read): Likewise.
28818 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28819 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28820 macros are used to compare values in arg/ret block of the call.
28821 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28822 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28823 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28824 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28825 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28826 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28827 grub_ieee1275_close, grub_ieee1275_set_property,
28828 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28829 grub_ieee1275_cell_t.
28830 * kern/ieee1275/openfw.c (grub_map): Likewise.
28831 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28832 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28833
450e2238 28834 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28835 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28836 (grub_devalias_iterate): Likewise.
28837
7dd4a573 288382009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28839
28840 UFS improvements
28841
28842 * fs/ufs.c (INODE_NBLOCKS): new definition
28843 (struct grub_ufs_dirent): added fields for non-BSD dirents
28844 (grub_ufs_get_file_block): fixed double indirect handling
28845 (grub_ufs_lookup_symlink): use more robust way to determine whether
28846 symlink is inline
28847 (grub_ufs_find_file): support for non-BSD dirents
28848 (grub_ufs_dir): support for non-BSD dirents
28849
e7e6862a 288502009-04-10 Bean <bean123ch@gnail.com>
28851
28852 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28853 attribute, otherwise the size would be wrong for i386 platform.
28854
28855 * include/grub/pci.h (grub_pci_read_word): New inline function.
28856 (grub_pci_read_byte): Likewise.
28857 (grub_pci_write): Likewise.
28858 (grub_pci_write_word): Likewise.
28859 (grub_pci_write_byte): Likewise.
28860
28861 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28862
28863 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28864 (find_framebuf): Scan pci to locate the frame buffer address.
28865
28866 * commands/efi/fixvideo.c: New file.
28867
28868 * commands/efi/loadbios.c: Likewise.
28869
28870 * commands/memrw.c: Likewise.
28871
28872 * util/grub-dumpbios.in: Likewise.
28873
28874 * conf/common.rmk (grub-dumpbios): New utility.
28875 (pkglib_MODULES): New module memrw.mod.
28876 (memrw_mod_SOURCE): New macro.
28877 (memrw_mod_CFLAGS): Likewise.
28878 (memrw_mod_LDFLAGS): Likewise.
28879
7dd4a573 28880 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28881 fixvideo.mod.
28882 (loadbios_mod_SOURCE): New macro.
28883 (loadbios_mod_CFLAGS): Likewise.
28884 (loadbios_mod_LDFLAGS): Likewise.
28885 (fixvideo_mod_SOURCE): Likewise.
28886 (fixvideo_mod_CFLAGS): Likewise.
28887 (fixvideo_mod_LDFLAGS): Likewise.
28888
7dd4a573 28889 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28890 fixvideo.mod.
28891 (loadbios_mod_SOURCE): New macro.
28892 (loadbios_mod_CFLAGS): Likewise.
28893 (loadbios_mod_LDFLAGS): Likewise.
28894 (fixvideo_mod_SOURCE): Likewise.
28895 (fixvideo_mod_CFLAGS): Likewise.
28896 (fixvideo_mod_LDFLAGS): Likewise.
28897
af63ada2 288982009-04-08 Felix Zielcke <fzielcke@z-51.de>
28899
28900 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28901
c2cdde70 289022009-04-07 David S. Miller <davem@davemloft.net>
28903
28904 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28905 support for R_SPARC_OLO10 relocations. Fix compile warning for
28906 R_SPARC_WDISP30 case.
ea3f72cf 28907 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28908
761319cf 289092009-04-06 Pavel Roskin <proski@gnu.org>
28910
1007d1f5 28911 * include/grub/misc.h (ARRAY_SIZE): New macro.
28912 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28913 New macro.
28914 * loader/i386/linux.c (allocate_pages): Use free_pages().
28915 (grub_linux_unload): Don't use free_pages().
28916 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28917 wrong index. Treat all other modes as text modes.
28918 (grub_cmd_linux): Initialize vid_mode unconditionally to
28919 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28920
761319cf 28921 * commands/help.c (print_command_help): Use cmd->prio, not
28922 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28923
ea761d40 289242009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28925
ea761d40 28926 Parttool
28927
28928 * parttool/pcpart.c: new file
28929 * commands/parttool.c: likewise
28930 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28931 (parttool_mod_SOURCES): new variable
28932 (parttool_mod_CFLAGS): likewise
28933 (parttool_mod_LDFLAGS): likewise
28934 (pcpart_mod_SOURCES): likewise
28935 (pcpart_mod_CFLAGS): likewise
28936 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28937 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28938 and parttool/pcpart.c
28939 * conf/i386-efi.rmk: likewise
28940 * conf/i386-ieee1275.rmk: likewise
28941 * conf/i386-pc.rmk: likewise
28942 * conf/powerpc-ieee1275.rmk: likewise
28943 * conf/sparc64-ieee1275.rmk: likewise
28944 * conf/x86_64-ieee1275.rmk: likewise
28945
05aaebfb 289462009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28947
28948 Support for mtime and further expandability of dir command
28949
28950 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28951 * include/grub/datetime.h: ... moved here and added
05aaebfb 28952 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28953 * include/grub/fs.h: new syntax for dir and mtime functions in
28954 struct grub_fs
05aaebfb 28955 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28956 and GRUB_FSHELP_FLAGS_MASK
28957 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28958 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28959 (grub_ext2_mtime): new function
28960 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28961 (grub_hfsplus_mtime): new function
28962 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28963 (GRUB_UFS_ATTR_FILE): likewise
28964 (GRUB_UFS_ATTR_LNK): likewise
28965 (struct grub_ufs_sblock): new fields mtime
28966 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28967 all users updated
28968 (grub_ufs_dir): mtime support
28969 (grub_ufs_mtime): new function
28970 * fs/affs.c (grub_affs_dir): use new dir syntax
28971 * fs/afs.c (grub_afs_dir): likewise
28972 * fs/cpio.c (grub_cpio_dir): likewise
28973 * fs/fat.c (grub_fat_find_dir): likewise
28974 * fs/hfs.c (grub_hfs_dir): likewise
28975 * fs/iso9660.c (grub_iso9660_dir): likewise
28976 * fs/jfs.c (grub_jfs_dir): likewise
28977 * fs/minix.c (grub_minix_dir): likewise
28978 * fs/ntfs.c (grub_ntfs_dir): likewise
28979 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28980 * fs/sfs.c (grub_sfs_dir): likewise
28981 * fs/xfs.c (grub_xfs_dir): likewise
28982 * util/hostfs.c (grub_hostfs_dir): likewise
28983 * lib/datetime.c: moved to ...
28984 * normal/datetime.c: ... moved here
28985 (grub_unixtime2datetime): new function
28986 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28987 * normal/completion.c (iterate_dir): use new dir syntax
28988 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28989 last modification time of a volume
7dd4a573 28990 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28991 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28992 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28993 (normal_mod_SOURCES): likewise
28994 (datetime_mod_SOURCES): Removed lib/datetime.c
28995 * conf/i386-efi.rmk: likewise
7dd4a573 28996 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28997 * conf/i386-pc.rmk: likewise
28998 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28999 * conf/sparc64-ieee1275.rmk: likewise
29000 * conf/x86_64-efi.rmk: likewise
05aaebfb 29001
8a7e1a14 290022009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29003
29004 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29005
29006 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29007 on grub_fat_find_dir
29008 (grub_fat_find_dir): use grub_fat_iterate_dir
29009 (grub_fat_label): likewise
29010
04186a9c 290112009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29012
7dd4a573 29013 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29014 and command.h
29015 remove extraneous kernel_elf_HEADERS
29016
da4c0bb6 290172009-04-04 Bean <bean123ch@gnail.com>
29018
29019 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29020
29021 * util/misc.c: Likewise.
29022
54ad9555 290232009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29024
29025 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29026 instead of grub_printf.
29027
7a6bf9f2 290282009-04-03 Robert Millan <rmh@aybabtu.com>
29029
29030 * loader/i386/linux.c (grub_linux_setup_video): Fill
29031 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29032 values from `mode info' structure instead of hardcoded
29033 values.
29034
3fcc2083 290352009-04-01 Pavel Roskin <proski@gnu.org>
29036
29037 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29038 unused now.
29039 * genmk.rb: Likewise.
29040 * configure.ac: Likewise.
29041
5ec9740b 290422009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29043
29044 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29045 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29046
5270cec8 290472009-04-01 David S. Miller <davem@davemloft.net>
29048
29049 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29050 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29051 (grub_setjmp): Mark with 'returns_twice' attribute.
29052 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29053 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29054 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29055
9c3dd854 290562009-04-01 Robert Millan <rmh@aybabtu.com>
29057
29058 Reapply fix from 2008-07-28 which was accidentally reverted; also
29059 perform the same fix to a similar check in same function.
29060
29061 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29062 with the same number are found, just use issue a warning with
29063 grub_dprintf(), as this error has been reported to be non-fatal.
29064
0d818b7e 290652009-03-31 Pavel Roskin <proski@gnu.org>
29066
29067 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29068 for cross-compilation.
29069
95646d92 290702009-03-30 Robert Millan <rmh@aybabtu.com>
29071
29072 Fix i386-ieee1275 build.
29073
29074 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29075 Remove declaration.
29076
6a003ed1 290772009-03-30 Pavel Roskin <proski@gnu.org>
29078
29079 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29080 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29081 zero-terminated, rely only on the strlen value. Fix comparison
29082 of strings differing in length.
29083
92f33540 290842009-03-30 Robert Millan <rmh@aybabtu.com>
29085
29086 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29087 checking for abi version. Improve error messages on BIOS to notify
29088 user about `linux16' command.
29089
a8c48fd5 290902009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29091
f968172e 29092 Leak fixes
a8c48fd5 29093
f968172e 29094 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29095 in case of collision
29096 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29097
9c323f09 290982009-03-29 Robert Millan <rmh@aybabtu.com>
29099
29100 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29101 set `vid_mode' accordingly.
29102 (grub_linux_boot): Process `vid_mode' and set video mode.
29103
ae68f423 291042009-03-29 Robert Millan <rmh@aybabtu.com>
29105
29106 * util/grub.d/10_linux.in (linux_entry): New function.
29107 Factorize generation of Linux boot entries.
29108
5709cfc4 291092009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29110
29111 Make the format of Environment Block plain text. The boot loader
29112 part is not tested well yet.
7dd4a573 29113
5709cfc4 29114 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29115 (buffer): Removed.
29116 (envblk): Likewise.
29117 (usage): Remove "info" and "clear". Add "unset". Update the
29118 description of "set", as this does not delete variables any
29119 longer.
29120 (create_envblk_file): Complete rewrite.
29121 (open_envblk_file): Likewise.
29122 (cmd_info): Removed.
29123 (cmd_list): Likewise.
29124 (cmd_set): Likewise.
29125 (cmd_clear): Likewise.
29126 (list_variables): New function.
29127 (write_envblk): Likewise.
29128 (set_variables): Likewise.
29129 (unset_variables): Likewise.
29130 (main): Complete rewrite.
29131
29132 * commands/loadenv.c (buffer): Removed.
29133 (envblk): Likewise.
29134 (open_envblk_file): New function.
29135 (read_envblk_file): Complete rewrite.
29136 (grub_cmd_load_env): Likewise.
29137 (grub_cmd_list_env): Likewise.
29138 (struct blocklist): New struct.
29139 (free_blocklists): New function.
29140 (check_blocklists): Likewise.
29141 (write_blocklists): Likewise.
29142 (grub_cmd_save_env): Complete rewrite.
29143
29144 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29145 a plain text signature.
29146 (GRUB_ENVBLK_MAXLEN): Removed.
29147 (struct grub_envblk): Complete rewrite.
29148 (grub_envblk_find): Removed.
29149 (grub_envblk_insert): Likewise.
29150 (grub_envblk_open): New prototype.
29151 (grub_envblk_set): Likewise.
29152 (grub_envblk_delete): Put const to VALUE.
29153 (grub_envblk_iterate): Put const to NAME and VALUE.
29154 (grub_envblk_close): New prototype.
29155 (grub_envblk_buffer): New inline function.
29156 (grub_envblk_size): Likewise.
29157
29158 * lib/envblk.c: Include grub/mm.h.
29159 (grub_env_find): Removed.
29160 (grub_envblk_open): New function.
29161 (grub_envblk_close): Likewise.
29162 (escaped_value_len): Likewise.
29163 (find_next_line): Likewise.
29164 (grub_envblk_insert): Removed.
29165 (grub_envblk_set): New function.
29166 (grub_envblk_delete): Complete rewrite.
29167 (grub_envblk_iterate): Likewise.
29168
a9368fd3 291692009-03-28 Robert Millan <rmh@aybabtu.com>
29170
29171 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29172 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29173 variables. Use 16-bit loader.
29174 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29175 loader.
29176 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29177 (grub_linux16_boot): ... this. Update all users.
29178 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29179 (grub_linux_boot): ... this. Update all users.
29180
29181 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29182 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29183 commands to `linux16' and `initrd16'.
29184 (GRUB_MOD_FINI(linux)): Rename to ...
29185 (GRUB_MOD_FINI(linux16)): ... this.
29186
e4dd5a7e 291872009-03-24 Pavel Roskin <proski@gnu.org>
29188
29189 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29190 not just for compilation.
29191
c04d6e05 291922009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29193
29194 Move multiboot helper out of kernel
29195
29196 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29197 `loader/i386/multiboot_helper.S'.
29198 * conf/i386-coreboot.rmk: Likewise
29199 * conf/i386-ieee1275.rmk: Likewise
29200
29201 * kern/i386/loader.S: Move multiboot helpers from here...
29202 * loader/i386/multiboot_helper.S: ...moved here
29203 * include/grub/i386/loader.h: Move declarations of multiboot
29204 helpers from here...
29205 * include/grub/i386/multiboot.h: ...moved here
29206 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29207
42a5b3fc 292082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29209
29210 * kern/env.c (grub_env_context_open): Added an argument to specify
29211 whether a new context inherits exported variables from current
29212 one. This is useful when making a sandbox to interpret a config
29213 file.
29214 All callers updated.
29215
29216 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29217
b28bbc4e 292182009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29219
29220 * kern/env.c (grub_env_context_close): Fix memory leaks.
29221
f04f02e4 292222009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29223
29224 * normal/main.c (grub_normal_execute): Added an argument
29225 BATCH to specify if an interactive interface should be provided
29226 after reading a config file.
29227 All callers updated.
29228 (read_command_list): Prevent being executed twice.
29229 (read_fs_list): Likewise.
29230
42a5b3fc 29231 * include/grub/normal.h (grub_normal_execute): Updated the
29232 prototype.
f04f02e4 29233
41473ac2 292342009-03-22 Pavel Roskin <proski@gno.org>
29235
fbc00b0c 29236 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29237 _start.
29238 * kern/i386/pc/startup.S: Likewise.
29239 * kern/i386/efi/startup.S: Likewise.
29240 * kern/i386/ieee1275/startup.S: Likewise.
29241 * kern/i386/coreboot/startup.S: Likewise.
29242 * kern/x86_64/efi/startup.S: Likewise.
29243
41473ac2 29244 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29245 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29246 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29247
2274cc8f 292482009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29249
29250 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29251
29252 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29253 limit detection.
29254 Use vaddr of correct segment for entry_point.
29255
b1b797cb 292562009-03-21 Bean <bean123ch@gmail.com>
29257
29258 * commands/blocklist.c: Add include file <grub/command.h>, remove
29259 <grub/normal.h> and <grub/arg.h>.
29260 (grub_cmd_blocklist): Use the new command interface.
29261 (GRUB_MOD_INIT): Likewise.
29262 (GRUB_MOD_FINI): Likewise.
29263 * commands/boot.c: Likewise.
29264 * commands/cat.c: Likewise.
29265 * commands/cmp.c: Likewise.
29266 * commands/configfile.c: Likewise.
29267 * commands/crc.c: Likewise.
29268 * commands/echo.c: Likewise.
29269 * commands/halt.c: Likewise.
29270 * commands/handler.c: Likewise.
29271 * commands/hdparm.c: Likewise.
29272 * commands/help.c: Likewise.
29273 * commands/hexdump.c: Likewise.
29274 * commands/loadenv.c: Likewise.
29275 * commands/ls.c: Likewise.
29276 * commands/lsmmap.c: Likewise.
29277 * commands/lspci.c: Likewise.
29278 * commands/loadenv.c: Likewise.
29279 * commands/read.c: Likewise.
29280 * commands/reboot.c: Likewise.
29281 * commands/search.c: Likewise.
29282 * commands/sleep.c: Likewise.
29283 * commands/test.c: Likewise.
29284 * commands/usbtest.c: Likewise.
29285 * commands/videotest.c: Likewise.
29286 * commands/i386/cpuid.c: Likewise.
29287 * commands/i386/pc/halt.c: Likewise.
29288 * commands/i386/pc/play.c: Likewise.
29289 * commands/i386/pc/pxecmd.c: Likewise.
29290 * commands/i386/pc/vbeinfo.c: Likewise.
29291 * commands/i386/pc/vbetest.c: Likewise.
29292 * commands/ieee1275/suspend.c: Likewise.
29293 * disk/loopback.c: Likewise.
29294 * font/font_cmd.c: Likewise.
29295 * hello/hello.c: Likewise.
29296 * loader/efi/appleloader.c: Likewise.
29297 * loader/efi/chainloader.c: Likewise.
29298 * loader/i386/bsd.c: Likewise.
29299 * loader/i386/efi/linux.c: Likewise.
29300 * loader/i386/ieee1275/linux.c: Likewise.
29301 * loader/i386/linux.c: Likewise.
29302 * loader/i386/pc/chainloader.c: Likewise.
29303 * loader/i386/pc/linux.c: Likewise.
29304 * loader/powerpc/ieee1275/linux.c: Likewise.
29305 * loader/multiboot_loader.c: Likewise.
29306 * term/gfxterm.c: Likewise.
29307 * term/i386/pc/serial.c: Likewise.
29308 * term/terminfo.c: Likewise.
29309
29310 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29311 * term/i386/pc/vga.c: Likewise.
29312 * video/readers/jpeg.c: Likewise.
29313 * video/readers/png.c: Likewise.
29314 * video/readers/tga.c: Likewise.
29315
29316 * util/grub-fstest (cmd_loopback): Removed.
29317 (cmd_blocklist): Likewise.
29318 (cmd_ls): Likewise.
29319 (grub_register_command): Likewise.
29320 (grub_unregister_command): Likewise.
29321 (execute_command): Use grub_command_find to locate command and execute
29322 it.
29323
29324 * include/grub/efi/chainloader.h: Removed.
29325 * loader/efi/chainloader_normal.c: Likewise.
29326 * loader/i386/bsd_normal.c: Likewise.
29327 * loader/i386/pc/chainloader_normal.c: Likewise.
29328 * loader/i386/pc/multiboot_normal.c: Likewise.
29329 * loader/linux_normal.c: Likewise.
29330 * loader/multiboot_loader_normal.c: Likewise.
29331 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29332
29333 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29334 and grub_register_command_p1.
29335
29336 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29337 kern/command.c, lib/arg.c and commands/extcmd.c.
29338 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29339 (minicmd_mod_SOURCES): New variable.
29340 (minicmd_mod_CFLAGS): Likewise.
29341 (minicmd_mod_LDFLAGS): Likewise.
29342 (extcmd_mod_SOURCES): Likewise.
29343 (extcmd_mod_CFLAGS): Likewise.
29344 (extcmd_mod_LDFLAGS): Likewise.
29345 (boot_mod_SOURCES): Removed.
29346 (boot_mod_CFLAGS): Likewise.
29347 (boot_mod_LDFLAGS): Likewise.
29348
29349 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29350 kern/corecmd.c.
29351 (kernel_img_HEADERS): Add command.h.
29352 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29353 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29354 and lib/arg.c.
29355 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29356 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29357 remove the corresponding normal mode command.
29358 (normal_mod_SOURCES): Remove normal/arg.c.
29359 * conf/i386-coreboot.rmk: Likewise.
29360 * conf/i386-efi.rmk: Likewise.
29361 * conf/i386-ieee1275.rmk: Likewise.
29362 * conf/powerpc-ieee1275.rmk: Likewise.
29363 * conf/x86_64-efi.rmk: Likewise.
29364
29365 * include/grub/arg.h: Move from here ...
29366 * include/grub/lib/arg.h: ... to here.
29367
29368 * normal/arg.c: Move from here ...
29369 * lib/arg.c: ... to here.
29370
29371 * commands/extcmd.c: New file.
29372 * commands/minicmd.c: Likewise.
29373 * include/grub/command.h: Likewise.
29374 * include/grub/extcmd.h: Likewise.
29375 * kern/command.c: Likewise.
29376 * kern/corecmd.c: Likewise.
29377
29378 * kern/list.c (grub_list_iterate): Return int instead of void.
29379 (grub_list_insert): New function.
29380 (grub_prio_list_insert): Likewise.
29381
29382 * kern/rescue.c (grub_rescue_command): Removed.
29383 (grub_rescue_command_list): Likewise.
29384 (grub_rescue_register_command): Likewise.
29385 (grub_rescue_unregister_command): Likewise.
29386 (grub_rescue_cmd_boot): Move to minicmd.c
29387 (grub_rescue_cmd_help): Likewise.
29388 (grub_rescue_cmd_info): Likewise.
29389 (grub_rescue_cmd_boot): Likewise.
29390 (grub_rescue_cmd_testload): Likewise.
29391 (grub_rescue_cmd_dump): Likewise.
29392 (grub_rescue_cmd_rmmod): Likewise.
29393 (grub_rescue_cmd_lsmod): Likewise.
29394 (grub_rescue_cmd_exit): Likewise.
29395 (grub_rescue_print_devices): Moved to corecmd.c.
29396 (grub_rescue_print_files): Likewise.
29397 (grub_rescue_cmd_ls): Likewise.
29398 (grub_rescue_cmd_insmod): Likewise.
29399 (grub_rescue_cmd_set): Likewise.
29400 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29401 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29402 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29403 commands, remove grub_rescue_register_command calls.
b1b797cb 29404
7d074e3c 29405 * normal/command.c (grub_register_command): Removed.
b1b797cb 29406 (grub_unregister_command): Likewise.
29407 (grub_command_find): Likewise.
29408 (grub_iterate_commands): Likewise.
29409 (rescue_command): Likewise.
29410 (export_command): Moved to corecmd.c.
29411 (set_command): Removed.
29412 (unset_command): Likewise.
29413 (insmod_command): Likewise.
29414 (rmmod_command): Likewise.
29415 (lsmod_command): Likewise.
29416 (grub_command_init): Likewise.
29417
29418 * normal/completion.c (iterate_command): Use cmd->prio to check for
29419 active command.
29420 (complete_arguments): Use grub_extcmd_t structure to find options.
29421 (grub_normal_do_completion): Change function grub_iterate_commands to
29422 grub_command_iterate.
29423
29424 * normal/execute.c (grub_script_execute_cmd): No need to parse
29425 argument here.
29426
29427 * normal/main.c (grub_dyncmd_dispatcher): New function.
29428 (read_command_list): Register unload commands as dyncmd.
29429 (grub_cmd_normal): Use new command interface, register rescue,
29430 unregister normal at entry, register normal, unregister rescue at exit.
29431
29432 * include/grub/list.h (grub_list_test_t): New type.
29433 (grub_list_iterate): Return int instead of void.
29434 (grub_list_insert): New function.
29435 (GRUB_AS_NAMED_LIST_P): New macro.
29436 (GRUB_AS_PRIO_LIST): Likewise.
29437 (GRUB_AS_PRIO_LIST_P): Likewise.
29438 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29439 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29440 (grub_prio_list): New structure.
29441 (grub_prio_list_insert): New function.
29442 (grub_prio_list_remove): New inline function.
29443
29444 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29445 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29446 (GRUB_COMMAND_FLAG_MENU): Likewise.
29447 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29448 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29449 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29450 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29451 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29452 (grub_command): Likewise.
29453 (grub_register_command): Likewise.
29454 (grub_command_find): Likewise.
29455 (grub_iterate_commands): Likewise.
29456 (grub_command_init): Likewise.
29457 (grub_arg_parse): Likewise.
29458 (grub_arg_show_help): Likewise.
29459
29460 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29461 (grub_rescue_unregister_command): Likewise.
29462
29463 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29464 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29465 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29466
29467 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29468 grub_rescue_cmd_initrd.
29469 * include/grub/i386/loader.h: Likewise.
29470 * include/grub/x86_64/loader.h: Likewise.
29471
29472 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29473
1f4147aa 294742009-03-21 Bean <bean123ch@gmail.com>
29475
29476 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29477 instead of stat in mingw environment.
29478
29479 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29480
29481 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29482
29483 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29484 AC_CONFIG_LINKS.
29485
2156d5ba 294862009-03-21 Bean <bean123ch@gmail.com>
29487
29488 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29489 out of range error.
29490
177b82ca 294912009-03-18 Michel Dänzer <michel@daenzer.net>
29492
29493 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29494 checking inode flags for EXT4_EXTENTS_FLAG.
29495
14aad807 294962009-03-18 Robert Millan <rmh@aybabtu.com>
29497
29498 * loader/i386/linux.c: Include `<grub/video.h>' and
29499 `<grub/i386/pc/vbe.h>'..
29500 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29501 (grub_linux32_boot): Attempt to configure video settings with
29502 grub_linux_setup_video().
29503 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29504 to avoid grub_console_fini() which would step out of graphical mode
29505 unconditionally.
29506
8cf83a27 295072009-03-14 Robert Millan <rmh@aybabtu.com>
29508
29509 Fix build on powerpc.
29510 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29511
40164e75 295122009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29513
29514 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29515 background image command.
29516
c58bc32a 295172009-03-12 Colin D Bennett <colin@gibibit.com>
29518
29519 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29520 (grub_gfxterm_putchar): Extract pairs of identical calls to
29521 draw_cursor out of conditional blocks.
29522
5415144a 295232009-03-11 Pavel Roskin <proski@gnu.org>
29524
29525 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29526 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29527
6394042e 295282009-03-11 Robert Millan <rmh@aybabtu.com>
29529
29530 * loader/i386/multiboot_elfxx.c
29531 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29532
b7b50e5f 295332009-03-11 Felix Zielcke <fzielcke@z-51.de>
29534
29535 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29536 `kern/handler.c'.
29537
1ca7fc96 295382009-03-11 Robert Millan <rmh@aybabtu.com>
29539
29540 * loader/i386/multiboot.c (code_size): New variable.
29541 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29542 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29543 4-byte alignment to MBI and others by increasing
7d074e3c 29544 `boot_loader_name_length' appropriately.
1ca7fc96 29545
29546 * loader/i386/multiboot_elfxx.c
29547 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29548
a83ea1d2 295492009-03-09 Felix Zielcke <fzielcke@z-51.de>
29550
29551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29552 `fs/ext2.c'.
29553
aa9f3bff 295542009-03-08 Robert Millan <rmh@aybabtu.com>
29555
29556 Make loader/i386/linux.c usable on i386-pc again.
29557
29558 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29559 memory to heap.
29560 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29561 `#error' stanza.
29562
d8b3b60e 295632009-03-07 Bean <bean123ch@gmail.com>
29564
29565 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29566 allocation.
29567
b362c9e9 295682009-03-06 Robert Millan <rmh@aybabtu.com>
29569
29570 Fix display issue on terminals with screen size other than 80x25
29571 (e.g. gfxterm with resolution higher than 640x480).
29572
29573 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29574 position relative to the center of the terminal instead of relying
b362c9e9 29575 on a hardcoded offset.
29576
9304eef1 295772009-03-04 Robert Millan <rmh@aybabtu.com>
29578
29579 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29580 installed.
29581
29582 * Makefile.in (host_kernel): New variable.
29583 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29584 scripts instead of just the windows one.
29585 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29586
eabc95fb 295872009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29588
29589 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29590 `kern/handler.c'.
29591 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29592 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29593 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29595 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29596 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29597
ceb1223c 295982009-03-04 Felix Zielcke <fzielcke@z-51.de>
29599
29600 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29601 or if there's no space for the disk label and print the partition number on a
29602 invalid magic.
29603
4910684a 296042009-03-04 Felix Zielcke <fzielcke@z-51.de>
29605
29606 * util/misc.c: Include <time.h>.
29607 (grub_millisleep): New function.
29608
7e9ca17a 296092009-03-04 Bean <bean123ch@gmail.com>
29610
29611 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29612 another option -mno-red-zone.
29613
29614 * commands/handler.c: Change module description.
29615
29616 * kern/handler.c: Add missing space at the end of description line.
29617
29618 * kern/list.c: Likewise.
29619
f501677c 296202009-03-03 Robert Millan <rmh@aybabtu.com>
29621
29622 Move more components to the relocation area, and fix mbi pointer
29623 handling to use the destination rather than the origin (thanks to
29624 Vladimir Serbinenko for spotting).
29625
29626 * loader/i386/multiboot.c (mbi_dest): New variable.
29627 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29628 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29629 relocation area.
29630
9902d047 296312009-03-01 Bean <bean123ch@gmail.com>
29632
50fb7002 29633 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29634 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29635 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29636 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29637
29638 * loader/i386/efi/linux.c (acpi_guid): New variable.
29639 (acpi_guid): Likewise.
29640 (EBDA_SEG_ADDR): New constant.
29641 (LOW_MEM_ADDR): Likewise.
29642 (FAKE_EBDA_SEG): Likewise.
29643 (fake_bios_data): New function.
29644 (grub_linux_boot): Call fake_bios_data.
29645
71b9f361 296462009-03-01 Bean <bean123ch@gmail.com>
29647
29648 * commands/terminal.c: Removed.
29649
29650 * commands/handler.c: New file.
29651
29652 * include/grub/list.h: Likewise.
29653
29654 * include/grub/handler.h: Likewise.
29655
29656 * kern/list.c: Likewise.
29657
29658 * kern/handler.c: Likewise.
29659
29660 * kern/term.h: Include header file <grub/handler.h>.
29661 (grub_term_input): Move next field to the beginning.
29662 (grub_term_output): Likewise.
29663 (grub_term_input_class): New variable.
29664 (grub_term_output_class): Likewise.
29665 (grub_term_register_input): Changed to inline function.
29666 (grub_term_register_output): Likewise.
29667 (grub_term_unregister_input): Likewise.
29668 (grub_term_unregister_output): Likewise.
29669 (grub_term_set_current_input): Likewise.
29670 (grub_term_set_current_output): Likewise.
29671 (grub_term_get_current_input): Likewise.
29672 (grub_term_get_current_output): Likewise.
29673 (grub_term_iterate_input): Removed.
29674 (grub_term_iterate_output): Likewise.
29675
29676 * kern/term.c (grub_term_list_input): Removed.
29677 (grub_term_list_output): Likewise.
29678 (grub_term_input_class): New variable.
29679 (grub_term_output_class): Likewise.
50fb7002 29680 (grub_cur_term_input): Change variable as macro.
71b9f361 29681 (grub_cur_term_output): Likewise.
29682 (grub_term_register_input): Removed.
29683 (grub_term_register_output): Likewise.
29684 (grub_term_unregister_input): Likewise.
29685 (grub_term_unregister_output): Likewise.
29686 (grub_term_set_current_input): Likewise.
29687 (grub_term_set_current_output): Likewise.
29688 (grub_term_iterate_input): Likewise.
29689 (grub_term_iterate_output): Likewise.
29690 (grub_term_get_current_input): Likewise.
29691 (grub_term_get_current_output): Likewise.
29692
29693 * util/grub-editenv.c: Include header file <grub/handler.h>.
29694 (grub_term_get_current_input): Removed.
29695 (grub_term_get_current_output): Likewise.
29696 (grub_term_input_class): New variable.
50fb7002 29697 (grub_term_output_class): Likewise.
71b9f361 29698
29699 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29700 (grub_term_get_current_output): Likewise.
29701 (grub_term_input_class): New variable.
50fb7002 29702 (grub_term_output_class): Likewise.
71b9f361 29703
29704 * util/grub-probe.c (grub_term_get_current_input): Removed.
29705 (grub_term_get_current_output): Likewise.
29706 (grub_term_input_class): New variable.
50fb7002 29707 (grub_term_output_class): Likewise.
71b9f361 29708
29709 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29710 (grub_term_get_current_output): Likewise.
29711 (grub_term_input_class): New variable.
50fb7002 29712 (grub_term_output_class): Likewise.
71b9f361 29713
29714 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29715 (terminal_mod_SOURCES): Likewise.
29716 (terminal_mod_CFLAGS): Likewise.
29717 (terminal_mod_LDFLAGS): Likewise.
29718
29719 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29720 handler.c.
29721 (kernel_img_SOURCES): Add list.c and handler.c.
29722 (kernel_img_HEADERS): Add list.h and handler.h.
29723
29724 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29725 handler.c.
29726 (kernel_mod_SOURCES): Add list.c and handler.c.
29727 (kernel_mod_HEADERS): Add list.h and handler.h.
29728
29729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29730 handler.c.
29731 (kernel_elf_SOURCES): Add list.c and handler.c.
29732 (kernel_elf_HEADERS): Add list.h and handler.h.
29733
29734 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29735 handler.c.
29736 (kernel_elf_SOURCES): Add list.c and handler.c.
29737 (kernel_elf_HEADERS): Add list.h and handler.h.
29738
29739 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29740 handler.c.
29741 (kernel_mod_SOURCES): Add list.c and handler.c.
29742 (kernel_mod_HEADERS): Add list.h and handler.h.
29743
29744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29745 handler.c.
29746 (kernel_elf_SOURCES): Add list.c and handler.c.
29747 (kernel_elf_HEADERS): Add list.h and handler.h.
29748
8a31787f 297492009-02-27 Robert Millan <rmh@aybabtu.com>
29750
29751 Factorize elf32 / elf64 code in Multiboot loader. This will
29752 prevent it from getting out of sync again.
29753
29754 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29755 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29756 grub_multiboot_load_elf64): Move from here ...
29757 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29758 grub_multiboot_load_elf): ... to here (new file).
29759
51cd3dfc 297602009-02-27 Robert Millan <rmh@aybabtu.com>
29761
29762 * util/grub.d/10_linux.in: Rename "single-user mode" to
29763 "recovery mode".
29764
6e8c9c3a 297652009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29766
29767 Don't leak in SCSI code.
29768 * disk/scsi.c (grub_scsi_close): free `scsi'.
29769
4b6bf4f9 297702009-02-27 Robert Millan <rmh@aybabtu.com>
29771
29772 * loader/i386/pc/multiboot.c: Move from here ...
29773 * loader/i386/multiboot.c: ... to here. Update all users.
29774
b9413424 297752009-02-27 Robert Millan <rmh@aybabtu.com>
29776
29777 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29778 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29779
50fb7002 297802009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29781
29782 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29783 b-tree.
29784
8cc50345 297852009-02-27 Robert Millan <rmh@aybabtu.com>
29786
29787 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29788 `0x' qualifier as 0 when base is specified as parameter).
29789
6e09b8b7 297902009-02-24 Bean <bean123ch@gmail.com>
29791
29792 * configure.ac: Check for -mcmodel=large in x86_64 target.
29793
29794 * include/grub/efi/api.h (efi_call_10): New macro.
29795 (efi_wrap_10): New function.
29796
29797 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29798 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29799 (GRUB_PE32_REL_BASED_LOW): Likewise.
29800 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29801 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29802 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29803 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29804 (GRUB_PE32_REL_BASED_REL): Likewise.
29805 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29806 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29807 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29808
29809 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29810 issue.
29811
29812 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29813 (efi_wrap_10): New function.
29814
29815 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29816
29817 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29818 MB/MBP model (NV chipset).
29819 (devdata_devs): Add devpath_5 to the list.
29820
29821 * load/i386/efi/linux.c (video_base): Remove variable.
29822 (RGB_MASK): New macro.
29823 (RGB_MAGIC): Likewise.
29824 (LINE_MIN): Likewise.
29825 (LINE_MAX): Likewise.
29826 (FBTEST_STEP): Likewise.
29827 (FBTEST_COUNT): Likewise.
29828 (fb_list): New variable.
29829 (grub_find_video_card): Remove function.
29830 (find_framebuf): New function.
29831 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29832 line length.
29833
29834 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29835 problem for x86_64.
29836
74b21bee 298372009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29838
29839 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29840
29841 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29842 coding tool name.
29843
a455f472 298442009-02-22 Robert Millan <rmh@aybabtu.com>
29845
29846 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29847 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29848 in our relocation, instead of using it directly from heap. Also
29849 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29850
6374daf3 298512009-02-21 Robert Millan <rmh@aybabtu.com>
29852
29853 Implement USB keyboard support (based on patch by Marco Gerards)
29854
29855 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29856 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29857 (usb_keyboard_mod_LDFLAGS): New variables.
29858
29859 * term/usb_keyboard.c: New file.
29860
8fa4ea70 298612009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29862
29863 Corrected wrong declaration
29864
29865 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29866
353976ac 298672009-02-14 Christian Franke <franke@computer.org>
29868
29869 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29870 (grub_lspci_iter): Print class code and programming interface byte.
29871
6aa1169b 298722009-02-14 Christian Franke <franke@computer.org>
29873
29874 * gendistlist.sh: Ignore `.svn' directories.
29875
265372ca 298762009-02-14 Felix Zielcke <fzielcke@z-51.de>
29877
29878 * fs/fat.c: Add 2009 to Copyright line.
29879
9ff516f3 298802009-02-14 Christian Franke <franke@computer.org>
29881
29882 * commands/hdparm.c: New file. Provides `hdparm' command
29883 which sends ATA commands via grub_disk_ata_pass_through ().
29884
29885 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29886
29887 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29888 and <grub/cpu/io.h> to include/grub/ata.h.
29889 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29890 (GRUB_CDROM_SECTOR_SIZE): Remove.
29891 (GRUB_ATA_*): Move to include/grub/ata.h.
29892 (GRUB_ATAPI_*): Likewise.
29893 (enum grub_ata_commands): Likewise.
29894 (enum grub_ata_timeout_milliseconds): Likewise.
29895 (struct grub_ata_device): Likewise.
29896 (grub_ata_regset): Likewise.
29897 (grub_ata_regget): Likewise.
29898 (grub_ata_regset2): Likewise.
29899 (grub_ata_regget2): Likewise.
29900 (grub_ata_check_ready): Likewise.
29901 (grub_ata_wait_not_busy): Remove static, exported in
29902 include/grub/ata.h.
29903 (grub_ata_wait_drq): Likewise.
29904 (grub_ata_pio_read): Likewise.
29905
29906 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29907 function for hdparm.mod.
29908
29909 * include/grub/ata.h: New file, contains declarations from
29910 disk/ata.c.
29911 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29912
29913 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29914 (grub_disk_ata_pass_through): New exported variable.
29915
29916 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29917
772e23da 299182009-02-13 Colin D Bennett <colin@gibibit.com>
29919
29920 Support multiple fallback entries, and provide an API to support
29921 executing default+fallback menu entries. Renamed the `terminal' menu
29922 viewer to `text'.
29923
29924 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29925 variable declaration.
29926 (grub_menu_execute_callback): New structure declaration.
29927 (grub_menu_execute_callback_t): New typedef.
29928 (grub_menu_execute_with_fallback): New function declaration.
29929 (grub_menu_get_entry): Likewise.
29930 (grub_menu_get_timeout): Likewise.
29931 (grub_menu_set_timeout): Likewise.
29932
29933 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29934
29935 * normal/menu.c (grub_wait_after_message): Moved to
29936 `normal/menu_text.c'.
29937 (draw_border): Likewise.
29938 (print_message): Likewise.
29939 (print_entry): Likewise.
29940 (print_entries): Likewise.
29941 (grub_menu_init_page): Likewise.
29942 (get_entry_number): Likewise.
29943 (print_timeout): Likewise.
29944 (run_menu): Likewise.
29945 (grub_menu_execute_entry): Likewise.
29946 (show_text_menu): Likewise.
29947 (get_and_remove_first_entry_number): New function.
29948 (grub_menu_execute_with_fallback): Likewise.
29949 (get_entry): Renamed to ...
29950 (grub_menu_get_entry): .. this and made it global.
29951 (get_timeout): Renamed to ...
29952 (grub_menu_get_timeout): ... this and made it global.
29953 (set_timeout): Renamed to ...
29954 (grub_menu_set_timeout): ... this and made it global.
29955 (grub_normal_terminal_menu_viewer): Renamed to ...
29956 (grub_normal_text_menu_viewer): ... this.
29957
29958 * normal/menu_text.c: New file. Extracted text-menu-specific code
29959 from normal/menu.c.
29960
29961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29962 (normal_mod_SOURCES): Likewise.
29963
29964 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29965 (normal_mod_SOURCES): Likewise.
29966
29967 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29968 (normal_mod_SOURCES): Likewise.
29969
29970 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29971 (normal_mod_SOURCES): Likewise.
29972
29973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29974 (normal_mod_SOURCES): Likewise.
29975
29976 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29977 (normal_mod_SOURCES): Likewise.
29978
29979 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29980 (normal_mod_SOURCES): Likewise.
29981
16ac430e 299822009-02-11 Robert Millan <rmh@aybabtu.com>
29983
29984 * util/grub.d/00_header.in: Update old reference to `font' command.
29985
06ff20fc 299862009-02-10 Felix Zielcke <fzielcke@z-51.de>
29987
29988 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29989
29990 Based on patch from Javier Martín.
29991
96da9407 299922009-02-09 Felix Zielcke <fzielcke@z-51.de>
29993
29994 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29995 to avoid false positives with FAT.
96da9407 29996 (grub_fstest_SOURCES): Likewise.
29997 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29998 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30000 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30001 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30002 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30003
6dca6fe4 300042009-02-09 Felix Zielcke <fzielcke@z-51.de>
30005
06ff20fc 30006 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30007 bpb.version_specific.fat12_or_fat16.fstype and
30008 bpb.version_specific.fat32.fstype.
30009
2550c62f 300102009-02-08 Robert Millan <rmh@aybabtu.com>
30011
be110b30 30012 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30013
56978920 300142009-02-08 Robert Millan <rmh@aybabtu.com>
30015
30016 * Makefile.in (host_os, host_cpu): New variables.
30017 (target_os): Remove. Update all users.
30018
d64399b5 300192009-02-08 Marco Gerards <marco@gnu.org>
30020
30021 * Makefile.in (enable_grub_emu_usb): New variable.
30022 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30023 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30024 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30025 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30026 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30027 `usbtest.mod' and `usbms.mod'.
30028 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30029 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30030 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30031 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30032 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30033 variables.
30034
30035 * disk/usbms.c: New file.
30036
30037 * include/grub/usb.h: Likewise.
30038
30039 * include/grub/usbtrans.h: Likewise.
30040
30041 * include/grub/usbdesc.h: Likewise.
30042
30043 * bus/usb/usbtrans.c: Likewise.
30044
30045 * bus/usb/ohci.c: Likewise.
30046
30047 * bus/usb/uhci.c: Likewise.
30048
30049 * bus/usb/usbhub.c: Likewise.
30050
30051 * bus/usb/usb.c: Likewise.
30052
30053 * commands/usbtest.c: Likewise.
30054
30055 * util/usb.c: Likewise.
50fb7002 30056
d64399b5 30057 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30058
30059 * configure.ac: Test for libusb presence.
50fb7002 30060
d64399b5 30061 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30062
2b40d6bb 300632009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30064
30065 * kern/mm.c: Add more comments.
30066
73a4ce81 300672009-02-08 Robert Millan <rmh@aybabtu.com>
30068
30069 Patch from Javier Martín.
30070 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30071 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30072
f821ce59 300732009-02-08 Robert Millan <rmh@aybabtu.com>
30074
30075 * fs/cpio.c: Split tar functionality to ...
30076 * fs/tar.c: ... here (new file). Update all users.
30077
aebfc4b0 300782009-02-07 Robert Millan <rmh@aybabtu.com>
30079
30080 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30081 backward-incompatible features.
30082
30083 Based on patch from Javier Martín, with some adjustments.
30084
50fb7002 300852009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30086
30087 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30088
0bb5115e 300892009-02-07 Robert Millan <rmh@aybabtu.com>
30090
30091 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30092 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30093 after the RAID stuff.
30094
38a0f8e7 300952009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30096
50fb7002 30097 Fixes problem when running vbetest command as reported by
38a0f8e7 30098 Vladimir Serbinenko <phcoder@gmail.com>.
30099
30100 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30101
3143cc1c 301022009-02-04 Felix Zielcke <fzielcke@z-51.de>
30103
30104 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30105 /dev/md/NpN style mdraid devices.
30106
9cba6fce 301072009-02-03 Felix Zielcke <fzielcke@z-51.de>
30108
30109 * util/unifont2pff.rb: Remove.
30110
e507a2c1 301112009-02-03 Felix Zielcke <fzielcke@z-51.de>
30112
30113 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30114 `#'.
30115
d2c2b4cd 301162009-02-03 Felix Zielcke <fzielcke@z-51.de>
30117
30118 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30119 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30120 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30121 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30123 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30124 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30125
b4315fb0 301262009-02-02 Christian Franke <franke@computer.org>
30127
30128 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30129
de3aa260 301302009-02-01 Felix Zielcke <fzielcke@z-51.de>
30131
7c3ff286 30132 * INSTALL: Note that we now require at least autoconf 2.59 and
30133 that LZO is optional.
de3aa260 30134
825a182b 301352009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30136
30137 Base on patch on bug #24154 created by Tomas Tintera
30138 <trosos@seznam.cz>.
30139
30140 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30141
a69ef770 301422009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30143
7c3ff286 30144 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30145 <bero@arklinux.org>.
30146
30147 * normal/parser.y (script_init): Add missing semicolon.
30148
6fa42fa6 301492009-01-31 Colin D Bennett <colin@gibibit.com>
30150
7c3ff286 30151 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30152 (free_menu_entry_classes): Added.
30153 (grub_normal_menu_addentry): Added class property handling.
30154 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30155 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30156
30157 * normal/menu_viewer.c: New file.
30158
30159 * normal/menu.c (run_menu_entry): Renamed to ...
30160 (grub_menu_execute_entry): ... this and made it as global.
30161 (grub_menu_run): Renamed to ...
30162 (show_text_menu): ... this and made it local.
30163 (show_text_menu): Adapt to new function names.
30164 (grub_normal_terminal_menu_viewer): New global variable.
30165
30166 * include/grub/menu.h: New file.
30167
30168 * include/grub/menu_viewer.h: New file.
30169
30170 * include/grub/normal.h: Added include to grub/menu.h.
30171 (grub_menu_entry): Moved to include/grub/menu.h.
30172 (grub_menu_entry_t): Likewise.
30173 (grub_menu): Likewise.
30174 (grub_menu_t): Likewise.
30175 (grub_normal_terminal_menu_viewer): Added.
30176 (grub_menu_execute_entry): Likewise.
30177 (grub_menu_run): Removed.
30178
30179 * DISTLIST: Added include/grub/menu.h.
30180 Added include/grub/menu_viewer.h.
30181 Added normal/menu_viewer.c.
30182
301832009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30184
30185 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30186 arglist for menutitle arguments.
30187
30188 * normal/main.c (grub_normal_menu_addentry): Likewise.
30189
30190 * normal/parser.y (menuentry): Likewise.
30191
30192 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30193
30194 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30195 (grub_script_create_cmdmenu): Likewise.
30196
30197 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30198
30199 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30200 changes.
30201
30202 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30203
30204 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30205
30206 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30207
30208 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30209
30210 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30211
30212 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30213
56192c23 302142009-01-30 Christian Franke <franke@computer.org>
30215
30216 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30217 in option help text.
30218
d72521b3 302192009-01-27 Pavel Roskin <proski@gnu.org>
30220
30221 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30222
994b5e84 302232009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30224
30225 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30226
30227 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30228
30229 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30230 unregister function.
30231
6a7eab2c 302322009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30233
30234 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30235
30236 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30237
30238 * util/grub-mkfont.c (usage): Fix typo.
30239
30240 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30241
1806b56e 302422009-01-26 Daniel Mierswa <impulze@impulze.org>
30243
3fb18f09 30244 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30245
336e1fb9 30246 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30247
1806b56e 30248 * kern/misc.c (grub_strcasecmp): New function.
30249 (grub_strcasecmp): Use grub_size_t instead of int for length.
30250 Fix return value.
30251 * include/grub/misc.h: Update function prototypes.
30252
580b2a0f 302532009-01-26 Robert Millan <rmh@aybabtu.com>
30254
30255 * configure.ac: Fix cross-compilation check.
ef257b36 30256
d31c24f1 302572009-01-22 Christian Franke <franke@computer.org>
30258
30259 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30260 (precision) digit string. Allow `.format2' without `format1' (width).
30261 Limit input chars for `%s' output to `format2' if specified. This is
30262 compatible with standard printf ().
30263
3138b44c 302642009-01-22 Christian Franke <franke@computer.org>
30265
30266 * disk/ata.c (grub_ata_wait_status): Replace by ...
30267 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30268 other status bits may be invalid while BSY is asserted.
30269 (grub_ata_check_ready): New function.
30270 (grub_ata_cmd): Removed.
30271 (grub_ata_wait_drq): New function.
30272 (grub_ata_strncpy): Remove inline.
30273 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30274 and error check now done by grub_ata_wait_drq ().
30275 (grub_ata_pio_write): Likewise.
30276 (grub_atapi_identify): Set DEV before check for !BSY. Use
30277 grub_ata_wait_drq () to wait for data.
30278 (grub_ata_device_initialize): Add status register check to
30279 detect missing SATA slave devices. Add debug messages.
30280 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30281 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30282 transfer loop by grub_ata_pio_write ().
30283 (grub_ata_identify): Set DEV before check for !BSY. Use
30284 grub_ata_wait_drq () to wait for data.
ef257b36 30285 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30286 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30287 read/write in one loop. Fix invalid command on write. Fix incomplete
30288 command on (size % batch) == 0. Add missing error check after write of
30289 last block. Add debug messages.
30290 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30291
59a64ef6 302922009-01-19 Christian Franke <franke@computer.org>
30293
30294 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30295 (GRUB_ATAPI_IREASON_*): Likewise.
30296 (grub_ata_pio_write): Fix timeout error return.
30297 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30298 (grub_atapi_wait_drq): New function.
30299 (grub_atapi_packet): New parameter `size'.
30300 Use grub_atapi_wait_drq () and direct write instead of
30301 grub_ata_pio_write ().
30302 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30303 reads the number of bytes requested by the device for each DRQ
30304 assertion.
30305 (grub_atapi_write): Remove old implementation, return not
30306 implemented instead.
30307
1cfe20b3 303082009-01-19 Christian Franke <franke@computer.org>
30309
30310 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30311 of 512 to calculate data size.
30312 (grub_scsi_read12): Likewise.
30313 (grub_scsi_write10): Likewise.
30314 (grub_scsi_write12): Likewise.
30315 (grub_scsi_read): Adjust size according to blocksize.
30316 Add checks for invalid blocksize and unaligned transfer.
30317
bee5fe5d 303182009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30319
30320 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30321
ef257b36 30322 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30323 width glyphs.
30324
3e643f8c 303252009-01-19 Robert Millan <rmh@aybabtu.com>
30326
30327 * config.guess: Update to latest version from config git.
30328 * config.sub: Likewise.
30329
4fa80998 303302009-01-17 Felix Zielcke <fzielcke@z-51.de>
30331
30332 * Makefile.in: Change font compilation to use new grub-mkfont instead
30333 of java version.
30334
30335 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30336 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30337 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30338 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30339 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30340 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30341 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30342 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30343 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30344
7086085b 303452009-01-16 Christian Franke <franke@computer.org>
30346
30347 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30348 (enum grub_ata_timeout_milliseconds): New enum.
30349 (grub_ata_wait_status): Add parameter milliseconds.
30350 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30351 recovery from timed-out commands.
30352 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30353 return grub_errno instead of REG_ERROR.
30354 (grub_ata_pio_write): Add parameter milliseconds.
30355 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30356 Pass milliseconds to grub_ata_wait_status () and
30357 grub_ata_pio_read ().
30358 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30359 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30360 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30361 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30362 It is not suitable for device detection, because DEV bit is ignored,
30363 the command may run too long, and not all devices set the signature
30364 properly.
30365 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30366 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30367 Fix device selection, DEV bit must be set first to address the registers
30368 of the correct device.
30369 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30370 grub_ata_pio_read/write ().
30371 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30372 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30373
4a412913 303742009-01-13 Carles Pina i Estany <carles@pina.cat>
30375
30376 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30377
7795c55e 303782009-01-13 Bean <bean123ch@gmail.com>
d913988c 30379
30380 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30381
7795c55e 303822009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30383
30384 * Makefile.in: (enable_grub_mkfont): New variable.
30385 (freetype_cflags): Likewise.
30386 (freetype_libs): Likewise.
30387
30388 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30389 (grub_mkfont_SOURCES): New variable.
30390 (grub_mkfont_CFLAGS): Likewise.
30391 (grub_mkfont_LDFLAGS): Likewise.
30392
30393 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30394 library if `--enable-grub-mkfont' is requested.
30395 (enable_grub_mkfont): New variable.
30396 (freetype_cflags): Likewise.
30397 (freetype_libs): Likewise.
30398
30399 * util/grub-mkfont.c: New file.
30400
093af1fe 304012009-01-12 Christian Franke <franke@computer.org>
30402
30403 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30404 mode check. Fix setting of compat_use[].
30405
f36cc108 304062009-01-10 Robert Millan <rmh@aybabtu.com>
30407
30408 Update a few copyright years which we forgot to do in 2008 (only for
30409 files whose changes made in 2008 were copyright-significant)
30410
30411 * Makefile.in: Add 2008 to Copyright line.
30412 * disk/ieee1275/ofdisk.c: Likewise.
30413 * disk/efi/efidisk.c: Likewise.
30414 * kern/dl.c: Likewise.
30415 * kern/sparc64/ieee1275/init.c: Likewise.
30416 * kern/mm.c: Likewise.
30417 * kern/efi/mm.c: Likewise.
30418 * boot/i386/pc/boot.S: Likewise.
30419 * genfslist.sh: Likewise.
30420 * fs/iso9660.c: Likewise.
30421 * fs/hfs.c: Likewise.
30422 * fs/jfs.c: Likewise.
30423 * fs/minix.c: Likewise.
30424 * fs/ufs.c: Likewise.
30425 * gensymlist.sh.in: Likewise.
30426 * genkernsyms.sh.in: Likewise.
30427 * include/grub/misc.h: Likewise.
30428 * include/grub/types.h: Likewise.
30429 * include/grub/symbol.h: Likewise.
30430 * include/grub/elf.h: Likewise.
30431 * include/grub/kernel.h: Likewise.
30432 * include/grub/disk.h: Likewise.
30433 * include/grub/dl.h: Likewise.
30434 * include/grub/i386/linux.h: Likewise.
30435 * include/grub/i386/pc/biosdisk.h: Likewise.
30436 * include/grub/efi/api.h: Likewise.
30437 * include/grub/efi/pe32.h: Likewise.
30438 * include/grub/util/misc.h: Likewise.
30439 * normal/execute.c: Likewise.
30440 * normal/arg.c: Likewise.
30441 * normal/completion.c: Likewise.
30442 * normal/lexer.c: Likewise.
30443 * normal/parser.y: Likewise.
30444 * normal/misc.c: Likewise.
30445 * commands/i386/pc/vbeinfo.c: Likewise.
30446 * commands/hexdump.c: Likewise.
30447 * commands/terminal.c: Likewise.
30448 * commands/ls.c: Likewise.
30449 * commands/help.c: Likewise.
30450 * partmap/pc.c: Likewise.
30451 * loader/efi/chainloader.c: Likewise.
30452 * loader/multiboot_loader.c: Likewise.
30453 * loader/i386/pc/multiboot2.c: Likewise.
30454 * term/efi/console.c: Likewise.
30455 * term/i386/pc/serial.c: Likewise.
30456 * util/lvm.c: Likewise.
30457 * util/console.c: Likewise.
30458 * util/i386/efi/grub-mkimage.c: Likewise.
30459 * util/raid.c: Likewise.
30460
7f02114b 304612009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30462
30463 * commands/videotest.c: Removed include to grub/machine/memory.h.
30464
30465 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30466 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30467 (video_mod_SOURCES): Removed.
30468 (video_mod_CFLAGS): Likewise.
30469 (video_mod_LDFLAGS): Likewise.
30470 (gfxterm_mod_SOURCES): Likewise.
30471 (gfxterm_mod_CFLAGS): Likewise.
30472 (gfxterm_mod_LDFLAGS): Likewise.
30473 (videotest_mod_SOURCES): Likewise.
30474 (videotest_mod_CFLAGS): Likewise.
30475 (videotest_mod_LDFLAGS): Likewise.
30476 (bitmap_mod_SOURCES): Likewise.
30477 (bitmap_mod_CFLAGS): Likewise.
30478 (bitmap_mod_LDFLAGS): Likewise.
30479 (tga_mod_SOURCES): Likewise.
30480 (tga_mod_CFLAGS): Likewise.
30481 (tga_mod_LDFLAGS): Likewise.
30482 (jpeg_mod_SOURCES): Likewise.
30483 (jpeg_mod_CFLAGS): Likewise.
30484 (jpeg_mod_LDFLAGS): Likewise.
30485 (png_mod_SOURCES): Likewise.
30486 (png_mod_CFLAGS): Likewise.
30487 (png_mod_LDFLAGS): Likewise.
30488
30489 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30490 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30491 (video_mod_SOURCES): Added.
30492 (video_mod_CFLAGS): Likewise.
30493 (video_mod_LDFLAGS): Likewise.
30494 (videotest_mod_SOURCES): Likewise.
30495 (videotest_mod_CFLAGS): Likewise.
30496 (videotest_mod_LDFLAGS): Likewise.
30497 (bitmap_mod_SOURCES): Likewise.
30498 (bitmap_mod_CFLAGS): Likewise.
30499 (bitmap_mod_LDFLAGS): Likewise.
30500 (tga_mod_SOURCES): Likewise.
30501 (tga_mod_CFLAGS): Likewise.
30502 (tga_mod_LDFLAGS): Likewise.
30503 (jpeg_mod_SOURCES): Likewise.
30504 (jpeg_mod_CFLAGS): Likewise.
30505 (jpeg_mod_LDFLAGS): Likewise.
30506 (png_mod_SOURCES): Likewise.
30507 (png_mod_CFLAGS): Likewise.
30508 (png_mod_LDFLAGS): Likewise.
30509 (gfxterm_mod_SOURCES): Likewise.
30510 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30511 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30512
30513 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30514 grub/machine/console.h.
30515
644fff97 305162009-01-04 Jerone Young <jerone@gmail.com>
30517
30518 Make on screen instructions clearer
30519
30520 Based on patch created by Jidanni <jidanni@jidanni.org>
30521
30522 * normal/menu.c: print clearer instructions on the screen
30523
1e901a75 305242009-01-02 Colin D Bennett <colin@gibibit.com>
30525
30526 New font engine.
34c44600 30527
1e901a75 30528 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30529 build system and fixed gfxterm.c to work with different sized fonts.
30530
30531 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30532
1e901a75 30533 * configure: Re-generated.
34c44600 30534
1e901a75 30535 * DISTLIST: Removed font/manager.c.
30536 Added font/font.c.
30537 Added font/font_cmd.c.
34c44600 30538
1e901a75 30539 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30540 compilation.
34c44600 30541
1e901a75 30542 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30543
30544 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30545
30546 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30547
1e901a75 30548 * normal/menu.c: Likewise.
34c44600 30549
1e901a75 30550 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30551 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30552
1e901a75 30553 * include/grub/font.h: Replaced with new file.
34c44600 30554
1e901a75 30555 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30556 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30557 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30558 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30559 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30560 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30561 fg_red, fg_green, fg_blue, fg_alpha.
30562 (grub_video_adapter): Removed blit_glyph.
34c44600 30563 (grub_video_blit_glyph): Removed.
30564
1e901a75 30565 * font/manager.c: Removed file.
34c44600 30566
30567 * font/font.c: New file.
30568
1e901a75 30569 * font/font_cmd.c: Likewise.
34c44600 30570
1e901a75 30571 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30572
1e901a75 30573 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30574 (grub_video_vbe_map_rgba): Likewise.
30575 (grub_video_vbe_unmap_color_int): Likewise.
30576 (grub_video_vbe_blit_glyph): Removed.
30577 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30578
1e901a75 30579 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30580 (get_pixel): Likewise.
34c44600 30581 (set_pixel): Likewise.
30582
1e901a75 30583 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30584
1e901a75 30585 * term/gfxterm.c: Adapted to new font engine.
34c44600 30586
1e901a75 30587 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30588
1e901a75 30589 * term/i386/pc/vga.c: Likewise.
34c44600 30590
1e901a75 30591 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30592
1e901a75 30593 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30594
1e901a75 30595 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30596
1e901a75 30597 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30598
1e901a75 30599 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30600
1e901a75 30601 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30602
1e901a75 30603 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30604
1e901a75 30605 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30606
1e901a75 30607 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30608
30609 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30610
1e901a75 30611 * util/grub-mkconfig_lib.in: Changed font extension.
30612
278922e8 306132008-12-28 Felix Zielcke <fzielcke@z-51.de>
30614
30615 * util/getroot.c (grub_util_get_grub_dev): Add support for
30616 /dev/md/dNNpNN style partitionable mdraid devices.
30617
3ced05cf 306182008-12-12 Alex Smith <alex@alex-smith.me.uk>
30619
30620 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30621 at a time limit of the PXE TFTP API correctly.
30622 (grub_pxefs_close): Likewise.
30623
7fd0ee30 306242008-11-29 Robert Millan <rmh@aybabtu.com>
30625
34c44600 30626 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30627 grub_ata_device_initialize() calls.
30628
34c44600 306292008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30630
30631 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30632 iteration failed.
30633 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30634
89313780 306352008-11-28 Robert Millan <rmh@aybabtu.com>
30636
30637 Fix build on powerpc-ieee1275. Based on patch created by
30638 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30639 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30640 `kern/ieee1275/mmap.c'.
30641 * include/grub/powerpc/ieee1275/memory.h: New file.
30642
15257703 30643 Provide grub-install on coreboot.
30644 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30645 (grub_install_SOURCES): New variable.
30646 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30647 usable on coreboot.
30648
9fc5388a 306492008-11-25 Felix Zielcke <fzielcke@z-51.de>
30650
30651 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30652 to `grub_term_input_t'.
30653 (grub_term_get_current_output): Change return type to
30654 `grub_term_output_t'.
30655
bc3a2f31 306562008-11-22 Robert Millan <rmh@aybabtu.com>
30657
34c44600 30658 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30659 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30660 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30661 grub_vga_text_cls().
30662
80fc88f2 30663 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30664 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30665
cbf36fd3 30666 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30667 to 0x200000 (avoids trouble with some OFW implementations, and matches
30668 with the one in Yaboot).
30669 Reported by Manoel Abranches
30670
73e8e268 306712008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30672
30673 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30674 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30675
73e8e268 30676 * util/grub-mkconfig_lib.in (grub_warn): New function.
30677 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30678 warnings, to obtain consistent formatting.
30679 * util/grub.d/00_header.in: Likewise.
30680 * util/update-grub_lib.in: Likewise.
30681
e94045a1 30682 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30683 Move comment text to `#error' stanza.
e94045a1 30684
79d29fd7 30685 Harmonize ieee1275's grub_available_iterate() with the generic
30686 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30687 build problem on i386-ieee1275):
30688 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30689 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30690 parameter `type'. Update all users of this function.
30691 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30692 `kern/ieee1275/mmap.c'.
30693 * kern/ieee1275/init.c
30694 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30695 with ...
30696 (grub_machine_mmap_iterate): ... this.
30697 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30698 return type to `grub_err_t'. Update all implementations of this
30699 function prototype.
30700 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30701 Likewise.
30702
60d6b16e 30703 Add `lsmmap' command (lists firmware-provided memory map):
30704 * commands/lsmmap.c: New file.
30705 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30706 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30707 variables.
30708 * conf/powerpc-ieee1275.rmk: Likewise.
30709 * conf/i386-coreboot.rmk: Likewise.
30710 * conf/i386-ieee1275.rmk: Likewise.
30711
ebaaf49b 307122008-11-19 Robert Millan <rmh@aybabtu.com>
30713
30714 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30715 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30716 constraints to initrd allocation (based on code from
30717 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30718 for Linux to find it.
ebaaf49b 30719
dfab719f 307202008-11-14 Robert Millan <rmh@aybabtu.com>
30721
30722 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30723 order to cope with duplicate slashes.
30724
10fc3eb9 307252008-11-14 Robert Millan <rmh@aybabtu.com>
30726
30727 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30728 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30729 don't want to mess with lower memory, because it is used in the Linux
30730 loader.
30731
30732 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30733 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30734 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30735 is in our heap (probably as a result of it being corrupted during
2f2a3442 30736 decompression). Add #error instance with comment to explain why this
30737 loader isn't currently usable on PC/BIOS.
10fc3eb9 30738
e2e07847 307392008-11-14 Robert Millan <rmh@aybabtu.com>
30740
30741 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30742 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30743
fe8e8d69 307442008-11-12 Robert Millan <rmh@aybabtu.com>
30745
30746 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30747
30748 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30749 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30750 from here ...
30751 * include/grub/i386/pc/memory.h: ... to here.
30752
976b07d0 307532008-11-12 Robert Millan <rmh@aybabtu.com>
30754
30755 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30756 split).
30757
30758 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30759 (grub_console_cur_color, grub_console_real_putchar)
30760 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30761 (grub_console_setcolorstate, grub_console_setcolor)
30762 (grub_console_getcolor): Move from here ...
30763 * include/grub/i386/vga_common.h: ... to here (new file).
30764
30765 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30766 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30767 `<grub/i386/io.h>'.
30768 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30769 `<grub/i386/vga_common.h>'.
30770
76679cd3 307712008-11-12 Robert Millan <rmh@aybabtu.com>
30772
30773 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30774 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30775 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30776 variables.
30777 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30778 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30779
30780 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30781 grub_console_init() with call to grub_vga_text_init().
30782 (grub_machine_fini): Replace call to
30783 grub_console_fini() with call to grub_vga_text_fini() and
30784 grub_at_keyboard_fini().
30785
30786 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30787 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30788 (grub_console_setcolorstate, grub_console_setcolor)
30789 (grub_console_getcolor): New function prototypes.
30790
30791 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30792 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30793 (grub_vga_text_setcursor): Static-ize.
30794 (grub_vga_text_term): New structure.
30795 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30796
30797 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30798 (grub_console_cur_color, grub_console_standard_color)
30799 (grub_console_normal_color, grub_console_highlight_color)
30800 (map_char, grub_console_putchar, grub_console_getcharwidth)
30801 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30802 (grub_console_getcolor): Move from here ...
30803 * term/i386/vga_common.c: ... to here (same function names).
30804
95b841d3 308052008-11-12 Robert Millan <rmh@aybabtu.com>
30806
30807 Use newly-added Multiboot support in coreboot.
30808
30809 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30810 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30811
30812 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30813 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30814 (codestart): Store the MBI in `startup_multiboot_info' when we're
30815 being loaded using Multiboot.
30816
30817 * kern/i386/coreboot/init.c (grub_machine_init): Move
30818 grub_at_keyboard_init() call to beginning of function (useful for
30819 debugging). Call grub_machine_mmap_init() before attempting to use
30820 grub_machine_mmap_iterate().
30821 (grub_lower_mem, grub_upper_mem): Move from here ...
30822 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30823 here (new file).
30824
30825 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30826 function prototype.
30827
761ca975 308282008-11-12 Robert Millan <rmh@aybabtu.com>
30829
30830 Fix a regression introduced by the at_keyboard.mod split. Because
30831 some terminals are default on some platforms and non-default on
30832 others, the first terminal being registered determines which is
30833 going to be default.
30834
30835 * kern/term.c (grub_term_register_input): If this is the first
30836 terminal being registered, set it as the current one.
30837 (grub_term_register_output): Likewise.
30838
30839 * term/efi/console.c (grub_console_init): Do not call
30840 grub_term_set_current_output() or grub_term_set_current_input().
30841 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30842 * term/i386/pc/console.c (grub_console_init): Likewise.
30843 (grub_console_fini): Do not call grub_term_set_current_input()
30844 (but leave grub_term_set_current_output() to restore text mode).
30845
6c529df7 308462008-11-10 Robert Millan <rmh@aybabtu.com>
30847
30848 * util/grub.d/00_header.in: Add backward compatibility check for
30849 versions of terminal.mod that don't understand `terminal_input' or
30850 `terminal_output'.
30851
132e4113 308522008-11-09 Robert Millan <rmh@aybabtu.com>
30853
30854 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30855 `terminal_input' / `terminal_output', not `terminal'.
30856
ac293d50 308572008-11-08 Robert Millan <rmh@aybabtu.com>
30858
30859 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30860 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30861
0025933a 308622008-11-08 Robert Millan <rmh@aybabtu.com>
30863
30864 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30865 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30866 members. Update all users.
30867 * util/console.c (grub_ncurses_term): Split in ...
30868 (grub_ncurses_term_input): ... this, and ...
30869 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30870 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30871
37c86336 308722008-11-08 Robert Millan <rmh@aybabtu.com>
30873
30874 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30875 (PKGDATA): Add $(pkgdata_SRCDIR).
30876 (pkglib_BUILDDIR): New variable.
30877 (pkgdata_SRCDIR): New variable.
30878 (build_env.mk): New target.
30879 (include_DATA): New variable.
30880 (install-local): Install $(include_DATA) files in $(includedir).
30881
b6c15a2d 308822008-11-07 Pavel Roskin <proski@gnu.org>
30883
d99d46f1 30884 * gendistlist.sh: Use C locale for sorting to ensure consistent
30885 output on all systems.
30886
b6c15a2d 30887 * util/grub.d/00_header.in: Remove incorrect space before
30888 "serial".
30889
c32ee8c9 308902008-11-07 Robert Millan <rmh@aybabtu.com>
30891
30892 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30893 per specification.
30894 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30895 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30896 (based on find_multi_boot1_header).
30897 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30898 using find_multi_boot2_header(), and abort if neither Multiboot or
30899 Multiboot headers were found.
30900
651c29b7 309012008-11-07 Robert Millan <rmh@aybabtu.com>
30902
30903 Modularize at_keyboard.mod:
30904
30905 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30906 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30907 (at_keyboard_mod_LDFLAGS): New variables.
30908
30909 Actual terminal split:
30910
30911 * include/grub/term.h (struct grub_term): Split in ...
30912 (struct grub_term_input): ... this, and ...
30913 (struct grub_term_output): ... this. Update all users.
30914 (grub_term_set_current): Split in ...
30915 (grub_term_set_current_input): ... this, and ...
30916 (grub_term_set_current_output): ... this.
30917 (grub_term_get_current): Split in ...
30918 (grub_term_get_current_input): ... this, and ...
30919 (grub_term_get_current_output): ... this.
30920 (grub_term_register): Split in ...
30921 (grub_term_register_input): ... this, and ...
30922 (grub_term_register_output): ... this.
30923 (grub_term_unregister): Split in ...
30924 (grub_term_unregister_input): ... this, and ...
30925 (grub_term_unregister_output): ... this.
30926 (grub_term_iterate): Split in ...
30927 (grub_term_iterate_input): ... this, and ...
30928 (grub_term_iterate_output): ... this.
30929
30930 * kern/term.c (grub_term_list): Split in ...
30931 (grub_term_list_input): ... this, and ...
30932 (grub_term_list_output): ... this. Update all users.
30933 (grub_cur_term): Split in ...
30934 (grub_cur_term_input): ... this, and ...
30935 (grub_cur_term_output): ... this. Update all users.
30936 (grub_term_set_current): Split in ...
30937 (grub_term_set_current_input): ... this, and ...
30938 (grub_term_set_current_output): ... this.
30939 (grub_term_get_current): Split in ...
30940 (grub_term_get_current_input): ... this, and ...
30941 (grub_term_get_current_output): ... this.
30942 (grub_term_register): Split in ...
30943 (grub_term_register_input): ... this, and ...
30944 (grub_term_register_output): ... this.
30945 (grub_term_unregister): Split in ...
30946 (grub_term_unregister_input): ... this, and ...
30947 (grub_term_unregister_output): ... this.
30948 (grub_term_iterate): Split in ...
30949 (grub_term_iterate_input): ... this, and ...
30950 (grub_term_iterate_output): ... this.
30951
30952 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30953 a check for input and one for output (and only attempt to get keys
30954 from user when input works).
30955
30956 * util/grub-probe.c (grub_term_get_current): Split in ...
30957 (grub_term_get_current_input): ... this, and ...
30958 (grub_term_get_current_output): ... this.
30959 * util/grub-fstest.c: Likewise.
30960 * util/i386/pc/grub-setup.c: Likewise.
30961 * util/grub-editenv.c: Likewise.
30962
30963 Portability adjustments:
30964
30965 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30966 `term/i386/pc/at_keyboard.c'.
30967 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30968 grub_keyboard_controller_init() (now handled by terminal .init).
30969 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30970 grub_at_keyboard_init().
30971 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30972 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30973 at_keyboard.mod via input terminal interface).
30974 * include/grub/i386/coreboot/console.h: Convert into a stub for
30975 `<grub/i386/pc/console.h>'.
30976
30977 Migrate full terminals to new API:
30978
30979 * term/efi/console.c (grub_console_term): Split into ...
30980 (grub_console_term_input): ... this, and ...
30981 (grub_console_term_output): ... this. Update all users.
30982 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30983 (grub_ofconsole_init): Split into ...
30984 (grub_ofconsole_init_input): ... this, and ...
30985 (grub_ofconsole_init_output): ... this.
30986 (grub_ofconsole_term): Split into ...
30987 (grub_ofconsole_term_input): ... this, and ...
30988 (grub_ofconsole_term_output): ... this. Update all users.
30989 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30990 (grub_serial_term_input): ... this, and ...
30991 (grub_serial_term_output): ... this. Update all users.
30992 * term/i386/pc/console.c (grub_console_term): Split into ...
30993 (grub_console_term_input): ... this, and ...
30994 (grub_console_term_output): ... this. Update all users.
30995 (grub_console_term_input): Only enable it on PC/BIOS platform.
30996 (grub_console_init): Remove grub_keyboard_controller_init() call.
30997
30998 Migrate input terminals to new API:
30999
31000 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31001 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31002 i386-specific anyway).
31003 (grub_console_checkkey): Rename to ...
31004 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31005 users.
31006 (grub_keyboard_controller_orig): New variable.
31007 (grub_console_getkey): Rename to ...
31008 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31009 users.
31010 (grub_keyboard_controller_init): Static-ize. Save original
31011 controller value so that it can be restored ...
31012 (grub_keyboard_controller_fini): ... here (new function).
31013 (grub_at_keyboard_term): New structure.
31014 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31015 functions.
31016
31017 Migrate output terminals to new API:
31018
31019 * term/i386/pc/vga.c (grub_vga_term): Change type to
31020 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31021 members. Update all users.
31022 * term/gfxterm.c (grub_video_term): Change type to
31023 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31024 members. Update all users.
31025 * include/grub/i386/pc/console.h (grub_console_checkkey)
31026 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31027 etc).
31028
31029 Migrate `terminal' command and userland tools to new API:
31030
31031 * commands/terminal.c (grub_cmd_terminal): Split into ...
31032 (grub_cmd_terminal_input): ... this, and ...
31033 (grub_cmd_terminal_output): ... this.
31034 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31035 `terminal_input' and `terminal_output'.
31036 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31037 `terminal_input' / `terminal_output' API.
31038 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31039 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31040 provided ${GRUB_TERMINAL}, convert it).
31041
96e5d876 310422008-11-04 Robert Millan <rmh@aybabtu.com>
31043
31044 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31045 for FreeBSD.
31046 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31047
556f3775 310482008-11-03 Bean <bean123ch@gmail.com>
31049
31050 * kern/elf.c (grub_elf32_load): Revert to previous code.
31051 (grub_elf64_load): Likewise.
31052
31053 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31054
926b9823 310552008-11-01 Robert Millan <rmh@aybabtu.com>
31056
31057 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31058 (TARGET_CPPFLAGS): Likewise.
31059 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31060
1432e958 310612008-11-01 Carles Pina i Estany <carles@pina.cat>
31062
31063 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31064
dba3f844 310652008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31066
31067 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31068 addition of objects until the code is not going to be able to fail.
31069
dba3f844 310702008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31071
31072 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31073 (add a missing NULL check, and correct them by moving the pointer
31074 operations after the actual check).
31075
7ab28c21 310762008-10-29 Robert Millan <rmh@aybabtu.com>
31077
31078 * util/i386/pc/grub-install.in: Handle empty string as output from
31079 make_system_path_relative_to_its_root().
31080
1b7748eb 310812008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31082
31083 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31084 circular metadata worst case scenario. If the metadata is circular
31085 then copy the wrap in place.
31086 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31087 project lib/format_text/layout.h
31088 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31089
c9618ab2 310902008-10-03 Felix Zielcke <fzielcke@z-51.de>
31091
7a36edca 31092 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31093
bf981c62 310942008-10-03 Felix Zielcke <fzielcke@z-51.de>
31095
31096 * util/update-grub_lib.in: Mention filename in warning message.
31097
6d994591 310982008-09-29 Felix Zielcke <fzielcke@z-51.de>
31099
31100 * NEWS: Update for rename of update-grub to grub-mkconfig.
31101
18ade780 311022008-09-29 Felix Zielcke <fzielcke@z-51.de>
31103
31104 * util/update-grub_lib.in: Copy to ...
31105 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31106 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31107 * util/update-grub.in: Rename to ...
31108 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31109 option. Add `--output' option to allow users to specify the generated
31110 configuration file. Default to stdout.
31111 (update_grub_dir): Rename to ...
31112 (grub_mkconfig_dir): ... this.
31113 (grub_cfg): Default to an empty string.
31114 * conf/common.rmk (update-grub): Rename to ...
31115 (grub-mkconfig): ... this.
31116 (update-grub_lib): Copy to ...
31117 (grub-mkconfig_lib): ... this.
31118 (update-grub_SCRIPTS): Copy to ...
31119 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31120 (update-grub_DATA): Rename to ...
31121 (grub-mkconfig_DATA): ... this.
31122
556ce6ac 311232008-09-28 Robert Millan <rmh@aybabtu.com>
31124
31125 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31126 to `modified'. Add the real `created' field.
31127 (grub_iso9660_uuid): Use `modified' rather than `created' for
31128 constructing the UUID.
31129
311302008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31131
31132 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31133 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31134
92274e85 311352008-09-28 Bean <bean123ch@gmail.com>
31136
31137 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31138 Thanks to Christian Franke for finding this bug.
31139
add6f17a 311402008-09-25 Robert Millan <rmh@aybabtu.com>
31141
31142 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31143 instances of grub_util_get_disk_name() (see previous commit).
31144
d2a367b8 311452008-09-25 Robert Millan <rmh@aybabtu.com>
31146
31147 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31148 `util/i386/get_disk_name.c'.
31149 * conf/i386-efi.rmk: Likewise.
31150 * conf/x86_64-efi.rmk: Likewise.
31151 * conf/i386-coreboot.rmk: Likewise.
31152 * conf/i386-ieee1275.rmk: Likewise.
31153 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31154 `util/ieee1275/get_disk_name.c'.
31155 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31156 * util/ieee1275/get_disk_name.c: Remove file.
31157 * util/i386/get_disk_name.c: Remove file.
31158 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31159 "hd%d" for device.map entries, rather than using
31160 grub_util_get_disk_name().
31161
81a06771 311622008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31163
31164 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31165 warning.
31166 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31167
5a004279 311682008-09-24 Carles Pina i Estany <carles@pina.cat>
31169
31170 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31171 Changed to 0x5100.
31172 (GRUB_TERM_PPAGE): Changed to 0x4900.
31173
397093d3 311742008-09-24 Robert Millan <rmh@aybabtu.com>
31175
31176 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31177 macros (they were i386-pc specific).
31178 * include/grub/sparc64/ieee1275/console.h: Likewise.
31179 * include/grub/efi/console.h: Likewise.
31180
a91b6c7c 311812008-09-22 Bean <bean123ch@gmail.com>
31182
31183 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31184 resident and in attribute list.
31185
31186 * include/grub/ntfs.h (BMP_LEN): Removed.
31187
c40fd116 311882008-09-22 Bean <bean123ch@gmail.com>
31189
81a06771 31190 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31191 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31192
31193 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31194 error occurs, as grub_disk_open will call grub_disk_close, which will
31195 call p->close (scsi).
31196
81a06771 311972008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31198
31199 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31200 (AC_PREREQ): Bumped to 2.59.
31201 (AC_TRY_COMPILE): Replace obsolete macro with ...
31202 (AC_COMPILE_IFELSE): ... this.
31203 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31204 (AC_LINK_IFELSE): ... this.
31205
5dc43410 312062008-09-21 Felix Zielcke <fzielcke@z-51.de>
31207
31208 * autogen.sh: Add a call to `gendistlist.sh'.
31209
9035dce4 312102008-09-19 Christian Franke <franke@computer.org>
31211
31212 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31213 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31214 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31215 Export __enable_execute_stack() to modules.
31216 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31217 New function.
31218
7fd75377 312192008-09-09 Felix Zielcke <fzielcke@z-51.de>
31220
040030b3 31221 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31222 Sort the list.
31223
312242008-09-09 Felix Zielcke <fzielcke@z-51.de>
31225
31226 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31227 #include <grub/util/hostdisk.h>.
31228
89d5ffcf 312292008-09-08 Robert Millan <rmh@aybabtu.com>
31230
31231 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31232 segments when their filesz is zero (grub_file_read() interprets
81a06771 31233 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31234 Use `lowest_segment' rather than 0 for calculating the current
31235 segment load address.
31236
40da438f 312372008-09-08 Robert Millan <rmh@aybabtu.com>
31238
31239 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31240 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31241 clobbered useful information.
31242
ddbf5556 312432008-09-08 Robert Millan <rmh@aybabtu.com>
31244
31245 * include/grub/util/biosdisk.h: Move to ...
31246 * include/grub/util/hostdisk.h: ... here. Update all users.
31247 * util/biosdisk.c: Move to ...
31248 * util/hostdisk.c: ... here. Update all users.
31249
783d0f48 312502008-09-07 Robert Millan <rmh@aybabtu.com>
31251
31252 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31253 variables.
31254 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31255 and length can be stored directly in the `mbi->mmap_addr' and
31256 `mbi->mmap_length' struct fields.
31257
548e2ea5 312582008-09-07 Robert Millan <rmh@aybabtu.com>
31259
31260 * conf/i386.rmk: New file. Provides declaration for building
31261 `cpuid.mod'.
31262 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31263 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31264 variables.
31265 Include `conf/i386.mk'.
31266 * conf/i386-efi.rmk: Likewise.
31267 * conf/x86_64-efi.rmk: Likewise.
31268 * conf/i386-coreboot.rmk: Likewise.
31269 * conf/i386-ieee1275.rmk: Likewise.
31270
0ea85a37 312712008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31272
31273 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31274 Adds optimization support for BGR based modes.
31275
31276 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31277 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31278 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31279 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31280 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31281 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31282 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31283 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31284 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31285 (grub_video_i386_vbeblit_index_index): Likewise.
31286 (grub_video_i386_vbeblit_replace_directN): Added.
31287 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31288 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31289 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31290 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31291 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31292 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31293 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31294 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31295 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31296 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31297 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31298 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31299 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31300
31301 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31302 (grub_video_i386_vbefill_R8G8B8): Likewise.
31303 (grub_video_i386_vbefill_index): Likewise.
31304 (grub_video_i386_vbefill_direct32): Added.
31305 (grub_video_i386_vbefill_direct24): Likewise.
31306 (grub_video_i386_vbefill_direct16): Likewise.
31307 (grub_video_i386_vbefill_direct8): Likewise.
31308
81a06771 31309 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31310 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31311 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31312 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31313 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31314 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31315
0ea85a37 31316 * video/video.c (grub_video_get_blit_format): Updated to use new
31317 blit formats. Added handling for 16 bit color modes.
81a06771 31318
31319 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31320 fillers.
31321 (common_blitter): Updated to use new blitters.
31322
31323 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31324 Removed.
31325 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31326 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31327 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31328 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31329 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31330 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31331 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31332 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31333 (grub_video_i386_vbeblit_index_index): Likewise.
31334 (grub_video_i386_vbeblit_replace_directN): Added.
31335 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31336 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31337 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31338 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31339 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31340 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31341 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31342 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31343 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31344 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31345 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31346 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31347 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31348
0ea85a37 31349 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31350 (grub_video_i386_vbefill_R8G8B8): Likewise.
31351 (grub_video_i386_vbefill_index): Likewise.
31352 (grub_video_i386_vbefill_direct32): Added.
31353 (grub_video_i386_vbefill_direct24): Likewise.
31354 (grub_video_i386_vbefill_direct16): Likewise.
31355 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31356
0ea85a37 31357 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31358 types.
81a06771 31359
0ea85a37 31360 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31361 types.
81a06771 31362
0ea85a37 31363 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31364 blitter types.
81a06771 31365
0ea85a37 31366 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31367 types.
31368
e8a83df6 313692008-09-06 Felix Zielcke <fzielcke@z-51.de>
31370
31371 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31372 RAID level 1.
31373
6bcd8ee5 313742008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31375
6bcd8ee5 31376 * fs/iso9660.c (grub_iso9660_date): New structure.
31377 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31378 (grub_iso9660_uuid): New function.
c375ae58 31379
59261157 313802008-09-05 Bean <bean123ch@gmail.com>
31381
31382 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31383
31384 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31385 insensitive bit for names in Win32 and Win32 & DOS namespace.
31386
31387 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31388
31389 * include/grub/types.h (LONG_MAX): Likewise.
31390
58b6645a 313912008-09-04 Felix Zielcke <fzielcke@z-51.de>
31392
4ee55921 31393 * util/getroot.c: Include <config.h>.
31394 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31395 add support for /dev/md/N devices and handle LVM double dash escaping.
31396
313972008-09-04 Felix Zielcke <fzielcke@z-51.de>
31398
31399 * config.guess: Update to latest version from config git.
31400 * config.sub: Likewise.
58b6645a 31401
9124f65d 314022008-09-03 Robert Millan <rmh@aybabtu.com>
31403
31404 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31405 `disk->total_sectors'.
31406
81a06771 314072008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31408
31409 * include/grub/normal.h: Fixed incorrect comment for
31410 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31411
81a06771 314122008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31413
31414 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31415 values with defines.
31416
31417 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31418 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31419 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31420 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31421 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31422 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31423 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31424 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31425 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31426 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31427 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31428 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31429 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31430 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31431 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31432 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31433 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31434 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31435 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31436
93d5cbf8 314372008-08-31 Robert Millan <rmh@aybabtu.com>
31438
31439 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31440 declaration.
31441 (grub_multiboot): Fix a few warnings.
31442
21751d50 314432008-08-31 Robert Millan <rmh@aybabtu.com>
31444
31445 * loader/i386/pc/multiboot.c: Update comment not to say that
31446 boot_device support is unimplemented.
31447
e27a75c5 314482008-08-31 Robert Millan <rmh@aybabtu.com>
31449
31450 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31451 or memory map support are unimplemented.
31452
81a06771 314532008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31454
31455 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31456
81a06771 314572008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31458
31459 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31460 total video memory in 'vbeinfo' output; show color format details for
31461 each video mode.
31462
7c5d8d95 314632008-08-30 Pavel Roskin <proski@gnu.org>
31464
31465 * util/genmoddep.c: Remove for real this time.
31466 * DISTLIST: Remove util/genmoddep.c.
31467
4cebd25a 314682008-08-30 Robert Millan <rmh@aybabtu.com>
31469
31470 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31471 as required by Multiboot spec (it was already 4-byte aligned, but
31472 only by chance).
31473
b497a269 314742008-08-29 Pavel Roskin <proski@gnu.org>
31475
e3925185 31476 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31477 * kern/powerpc/ieee1275/startup.S: ... this.
31478 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31479 * DISTLIST: Likewise.
31480
b497a269 31481 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31482 grub/cpu/kernel.h. Add start label for consistency with other
31483 platforms. Add grub_prefix immediately after start. Add jump
31484 to the code after grub_prefix.
31485 * include/grub/powerpc/kernel.h: Provide valid values for
31486 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31487
6e5a42fe 314882008-08-29 Bean <bean123ch@gmail.com>
31489
31490 * configure.ac: Change host_os to cygwin for mingw.
31491 (asprintf): New check for function.
31492
31493 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31494 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31495
31496 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31497 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31498 sync, sleep and grub_util_get_disk_size for mingw.
31499
31500 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31501 to get size in mingw.
31502 (open_device): Use flag O_BINARY if it's defined.
31503 (find_root_device): Add dummy code for mingw.
31504
31505 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31506 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31507 (get_scsi_disk_name): Return 0 for mingw.
31508
31509 * util/hostfs.c: #include <grub/util/misc.h>.
31510 (grub_hostfs_open): Use "rb" flag to open file, use
31511 grub_util_get_disk_size to get disk size for mingw.
31512
31513 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31514 (asprintf): New function if HAVE_ASPRINTF is not set.
31515 (sync): New function for mingw.
31516 (sleep): Likewise.
31517 (grub_util_get_disk_size): Likewise.
31518
ab3f2673 315192008-08-28 Pavel Roskin <proski@gnu.org>
31520
31521 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31522 kern/time.c.
31523
1c282483 315242008-08-28 Robert Millan <rmh@aybabtu.com>
31525
31526 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31527
678e849c 315282008-08-28 Robert Millan <rmh@aybabtu.com>
31529
31530 Change find_grub_drive() syntax so it doesn't prevent it from
31531 detecting NULL names as errors.
31532
31533 * util/biosdisk.c (find_grub_drive): Move free slot search code
31534 from here ...
31535 (find_free_slot): ... to here.
31536 (read_device_map): Use find_free_slot() to search for free slots.
31537
965c75ca 315382008-08-27 Marco Gerards <marco@gnu.org>
31539
31540 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31541 (scsi_mod_SOURCES): New variable.
31542 (scsi_mod_CFLAGS): Likewise
31543 (scsi_mod_LDFLAGS): Likewise.
31544
31545 * disk/scsi.c: New file.
31546
31547 * include/grub/scsi.h: Likewise.
31548
31549 * include/grub/scsicmd.h: Likewise.
31550
31551 * disk/ata.c: Include <grub/scsi.h>.
31552 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31553 instead.
31554 (grub_ata_iterate): Skip ATAPI devices.
31555 (grub_ata_open): Only handle ATAPI devices.
31556 (struct grub_atapi_read): Removed.
31557 (grub_atapi_readsector): Likewise.
31558 (grub_ata_read): No longer handle ATAPI devices.
31559 (grub_ata_write): Likewise.
31560 (grub_atapi_iterate): New function.
31561 (grub_atapi_read): Likewise.
31562 (grub_atapi_write): Likewise.
31563 (grub_atapi_open): Likewise.
31564 (grub_atapi_close): Likewise.
31565 (grub_atapi_dev): New variable.
31566 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31567 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31568
31569 * include/grub/disk.h (enum grub_disk_dev_id): Add
31570 `GRUB_DISK_DEVICE_SCSI_ID'.
31571
c07ae501 315722008-08-26 Robert Millan <rmh@aybabtu.com>
31573
31574 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31575 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31576 descriptive.
31577
5ed20adc 315782008-08-23 Bean <bean123ch@gmail.com>
31579
31580 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31581 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31582 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31583 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31584 dm_nv.mod.
31585 (raid5rec_mod_SOURCES): New macro.
31586 (raid5rec_mod_CFLAGS): Likewise.
31587 (raid5rec_mod_LDFLAGS): Likewise.
31588 (raid6rec_mod_SOURCES): Likewise.
31589 (raid6rec_mod_CFLAGS): Likewise.
31590 (raid6rec_mod_LDFLAGS): Likewise.
31591 (mdraid_mod_SOURCES): Likewise.
31592 (mdraid_mod_CFLAGS): Likewise.
31593 (mdraid_mod_LDFLAGS): Likewise.
31594 (dm_nv_mod_SOURCES): Likewise.
31595 (dm_nv_mod_CFLAGS): Likewise.
31596 (dm_nv_mod_LDFLAGS): Likewise.
31597
31598 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31599 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31600 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31601
31602 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31603 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31604
31605 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31606
31607 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31608
31609 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31610
31611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31612
31613 * disk/raid5_recover.c: New file.
31614
31615 * disk/raid6_recover.c: Likewise.
31616
31617 * disk/mdraid_linux.c: Likewise.
31618
31619 * disk/dmraid_nvidia.c: Likewise.
31620
31621 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31622 ULONG_MAX.
31623
31624 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31625 calculate the size of raid device.
31626 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31627 different layout of raid5.
31628 (grub_raid_scan_device): Remove code specific to mdraid.
31629 (grub_raid_list): New variable.
31630 (free_array): New function.
31631 (grub_raid_register): Likewise.
31632 (grub_raid_unregister): Likewise.
31633 (grub_raid_rescan): Likewise.
31634 (GRUB_MOD_INIT): Don't iterate device here.
31635 (GRUB_MOD_FINI): Use free_array to release resource.
31636
31637 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31638 (grub_raid5_recover_func_t): New function variable type.
31639 (grub_raid6_recover_func_t): Likewise.
31640 (grub_raid5_recover_func): New variable.
31641 (grub_raid6_recover_func): Likewise.
31642 (grub_raid_register): New function.
31643 (grub_raid_unregister): Likewise.
31644 (grub_raid_rescan): Likewise.
31645 (grub_raid_block_xor): Likewise.
31646
31647 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31648 (CMD_CRC): New macro.
31649 (part): Removed.
31650 (read_file): Handle device as well as file.
31651 (cmd_crc): New function.
31652 (fstest): Handle multiple disks.
31653 (options): Remove part, raw and long, add root and diskcount.
31654 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31655 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31656 add handling for the new options, support multiple disks.
31657
31658 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31659
29c18915 316602008-08-23 Bean <bean123ch@gmail.com>
31661
31662 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31663
31664 * genfslist.sh: Ignore kernel.mod.
31665
31666 * genpartmaplist.sh: Likewise.
31667
8415f261 316682008-08-23 Robert Millan <rmh@aybabtu.com>
31669
31670 * util/getroot.c (find_root_device): Skip anything that starts with
31671 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31672
d5a7dc5b 316732008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31674
d5a7dc5b 31675 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31676 * util/grub.d/00_header.in: Allow the administrator to change default
31677 gfxmode via ${GRUB_GFXMODE}.
31678
380cfbb4 316792008-08-21 Felix Zielcke <fzielcke@z-51.de>
31680
31681 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31682
c9baafe7 316832008-08-21 Robert Millan <rmh@aybabtu.com>
31684
31685 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31686 loader.
31687 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31688 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31689
e290bef2 316902008-08-20 Carles Pina i Estany <carles@pina.cat>
31691
31692 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31693 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31694
f9dbfc96 316952008-08-19 Robert Millan <rmh@aybabtu.com>
31696
31697 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31698 (struct grub_virtual_screen): Remove `cursor_color'.
31699 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31700 initialization.
31701 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31702
dd6bd6ab 317032008-08-18 Robert Millan <rmh@aybabtu.com>
31704
31705 Unify (identical) linux_normal.c files.
31706 * loader/i386/efi/linux_normal.c: Move from here ...
31707 * loader/linux_normal.c: ... to here. Update all users.
31708 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31709 * loader/i386/ieee1275/linux_normal.c: Likewise.
31710
7f42f83e 317112008-08-18 Robert Millan <rmh@aybabtu.com>
31712
31713 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31714 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31715 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31716 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31717 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31718 New macros.
31719 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31720 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31721 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31722 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31723 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31724 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31725 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31726 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31727 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31728 portably using grub_getxy().
31729 Replace `-EFI' with `-bzImage' in boot message.
31730
38487ddb 317312008-08-17 Robert Millan <rmh@aybabtu.com>
31732
31733 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31734
deceb3ec 317352008-08-17 Robert Millan <rmh@aybabtu.com>
31736
31737 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31738
31739 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31740 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31741 (grub_machine_mmap_iterate): New function declaration.
31742 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31743 structure.
31744 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31745 macros.
31746
31747 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31748 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31749 Move e820 parsing from here ...
31750 * kern/i386/pc/mmap.c: New file.
31751 (grub_machine_mmap_iterate): ... to here.
31752
31753 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31754 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31755 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31756 (grub_available_iterate): Redeclare to return `void', and redeclare
31757 its hook to use grub_uint64_t as addr and size parameters, and rename
31758 to ...
31759 (grub_machine_mmap_iterate): ... this. Update all users.
31760
31761 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31762 to make it more readable. Rename to ...
31763 (grub_machine_mmap_iterate): ... this.
31764
31765 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31766 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31767 (grub_multiboot): Allocate an extra region after the payload, and fill
31768 it with a Multiboot memory map. Adjust a.out loader to calculate size
31769 with the extra space.
31770 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31771 with the extra space.
31772
f8aa0f43 317732008-08-17 Carles Pina i Estany <carles@pina.cat>
31774
9807deb9 31775 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31776
605f5bb6 317772008-08-17 Felix Zielcke <fzielcke@z-51.de>
31778
31779 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31780 mdate-sh to the list `find' searches for.
31781 * DISTLIST: Regenerated.
31782
210db6c6 317832008-08-16 Felix Zielcke <fzielcke@z-51.de>
31784
31785 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31786 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31787 genmoddep.awk, gensymlist.sh.in.
31788 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31789 * DISTLIST: Regenerated.
48cdbfd4 31790 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31791
1082b929 317922008-08-16 Robert Millan <rmh@aybabtu.com>
31793
31794 * disk/raid.c (grub_raid_init): Handle/report errors set by
31795 grub_device_iterate().
31796 * disk/lvm.c (grub_lvm_init): Likewise.
31797
42ce5170 317982008-08-15 Bean <bean123ch@gmail.com>
31799
31800 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31801 and datehook.mod.
31802 (datetime_mod_SOURCES): New macro.
31803 (datetime_mod_CFLAGS): Likewise.
31804 (datetime_mod_LDFLAGS): Likewise.
31805 (date_mod_SOURCES): Likewise.
31806 (date_mod_CFLAGS): Likewise.
31807 (date_mod_LDFLAGS): Likewise.
31808 (datehook_mod_SOURCES): Likewise.
31809 (datehook_mod_CFLAGS): Likewise.
31810 (datehook_mod_LDFLAGS): Likewise.
31811
31812 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31813 and datehook.mod.
31814 (datetime_mod_SOURCES): New macro.
31815 (datetime_mod_CFLAGS): Likewise.
31816 (datetime_mod_LDFLAGS): Likewise.
31817 (date_mod_SOURCES): Likewise.
31818 (date_mod_CFLAGS): Likewise.
31819 (date_mod_LDFLAGS): Likewise.
31820 (datehook_mod_SOURCES): Likewise.
31821 (datehook_mod_CFLAGS): Likewise.
31822 (datehook_mod_LDFLAGS): Likewise.
31823
31824 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31825 and datehook.mod.
31826 (datetime_mod_SOURCES): New macro.
31827 (datetime_mod_CFLAGS): Likewise.
31828 (datetime_mod_LDFLAGS): Likewise.
31829 (date_mod_SOURCES): Likewise.
31830 (date_mod_CFLAGS): Likewise.
31831 (date_mod_LDFLAGS): Likewise.
31832 (datehook_mod_SOURCES): Likewise.
31833 (datehook_mod_CFLAGS): Likewise.
31834 (datehook_mod_LDFLAGS): Likewise.
31835
31836 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31837 and datehook.mod.
31838 (datetime_mod_SOURCES): New macro.
31839 (datetime_mod_CFLAGS): Likewise.
31840 (datetime_mod_LDFLAGS): Likewise.
31841 (date_mod_SOURCES): Likewise.
31842 (date_mod_CFLAGS): Likewise.
31843 (date_mod_LDFLAGS): Likewise.
31844 (datehook_mod_SOURCES): Likewise.
31845 (datehook_mod_CFLAGS): Likewise.
31846 (datehook_mod_LDFLAGS): Likewise.
31847
31848 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31849 and datehook.mod.
31850 (datetime_mod_SOURCES): New macro.
31851 (datetime_mod_CFLAGS): Likewise.
31852 (datetime_mod_LDFLAGS): Likewise.
31853 (date_mod_SOURCES): Likewise.
31854 (date_mod_CFLAGS): Likewise.
31855 (date_mod_LDFLAGS): Likewise.
31856 (datehook_mod_SOURCES): Likewise.
31857 (datehook_mod_CFLAGS): Likewise.
31858 (datehook_mod_LDFLAGS): Likewise.
31859
31860 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31861
31862 * commands/date.c: New file.
31863
31864 * hook/datehook.c: Likewise.
31865
31866 * include/grub/lib/datetime.h: Likewise.
31867
31868 * include/grub/i386/cmos.h: Likewise.
31869
31870 * lib/datetime.c: Likewise.
31871
31872 * lib/i386/datetime.c: Likewise.
31873
31874 * lib/efi/datetime.c: Likewise.
31875
0e9242da 318762008-08-14 Robert Millan <rmh@aybabtu.com>
31877
31878 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31879 (grub_mkelfimage_SOURCES): New variable.
31880 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31881
31882 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31883 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31884 * conf/powerpc-ieee1275.rmk: Likewise.
31885 * conf/i386-ieee1275.rmk: Likewise.
31886
31887 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31888 * kern/i386/coreboot/init.c: Likewise.
31889
31890 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31891 with `<grub/cpu/kernel.h>'.
31892 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31893 to ...
31894 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31895 * kern/i386/coreboot/startup.S: Likewise.
31896
31897 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31898 (GRUB_MOD_GAP): Remove.
31899 * include/grub/powerpc/kernel.h: New file.
31900 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31901 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31902 * include/grub/i386/kernel.h: New file.
31903 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31904 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31905 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31906
31907 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31908 `grub-mkelfimage'.
31909 Use --directory when invoking grub_mkimage.
31910
31911 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31912 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31913 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31914 and GRUB_KERNEL_CPU_PREFIX.
31915
b86408f8 319162008-08-14 Felix Zielcke <fzielcke@z-51.de>
31917
d5e619ca 31918 * include/grub/err.h (grub_err_printf): New function prototype.
31919 * util/misc.c (grub_err_printf): New function.
31920 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31921 grub_printf.
31922 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31923
7161f0e0 319242008-08-13 Robert Millan <rmh@aybabtu.com>
31925
31926 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31927
a1967522 319282008-08-13 Robert Millan <rmh@aybabtu.com>
31929
31930 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31931 boot entry.
31932
371458b5 319332008-08-12 Robert Millan <rmh@aybabtu.com>
31934
31935 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31936 of the relocation code from here ...
31937 (grub_multiboot): ... to here.
31938 (forward_relocator, backward_relocator): Move from here ...
31939 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31940 (grub_multiboot_backward_relocator): ... to here.
31941 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31942 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31943 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31944 (grub_multiboot_forward_relocator_end)
31945 (grub_multiboot_backward_relocator)
31946 (grub_multiboot_backward_relocator_end): New variables.
31947
05f9452b 319482008-08-12 Bean <bean123ch@gmail.com>
31949
31950 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31951
20024ab0 319522008-08-11 Robert Millan <rmh@aybabtu.com>
31953
31954 * kern/i386/linuxbios/startup.S: Move from here ...
31955 * kern/i386/coreboot/startup.S: ... to here.
31956
31957 * kern/i386/linuxbios/init.c: Move from here ...
31958 * kern/i386/coreboot/init.c: ... to here.
31959
31960 * kern/i386/linuxbios/table.c: Move from here ...
31961 * kern/i386/coreboot/mmap.c: ... to here.
31962
31963 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31964
e352e9cd 319652008-08-11 Robert Millan <rmh@aybabtu.com>
31966
31967 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31968 errors. Leave it to the upper layer to handle them.
31969
2d05bc6a 319702008-08-09 Christian Franke <franke@computer.org>
31971
31972 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31973 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31974 Install `grub.d/10_windows' only on Cygwin.
31975 * configure.ac: Add subst of `target_os'.
31976 Check `target_os' also before setting TARGET_OBJ2ELF.
31977 Add `--enable-grub-pe2elf'.
31978
042bd419 319792008-08-08 Robert Millan <rmh@aybabtu.com>
31980
31981 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31982 (grub_last_time): Change type to grub_uint64_t.
31983 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31984 (grub_disk_close): Likewise.
31985
31986 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31987 (run_menu): Migrate code from to using grub_get_time_ms().
31988
31989 * util/misc.c (grub_get_time_ms): New function.
31990
7f280db5 319912008-08-08 Marco Gerards <marco@gnu.org>
31992
31993 * disk/ata.c (grub_ata_regget): Change return type to
31994 `grub_uint8_t'.
31995 (grub_ata_regget2): Likewise.
31996 (grub_ata_wait_status): New function.
31997 (grub_ata_wait_busy): Removed function, updated all users to use
31998 `grub_ata_wait_status'.
31999 (grub_ata_wait_drq): Likewise.
32000 (grub_ata_cmd): New function.
32001 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32002 error handling.
32003 (grub_ata_pio_write): Add error handling.
32004 (grub_atapi_identify): Likewise.
32005 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32006 handling.
32007 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32008 handling. Actually use the detected registers. Reorder the
32009 detection logic such that it is easier to read.
32010 (grub_ata_pciinit): Do not assign the same ID to each controller.
32011 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32012 handling.
32013 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32014
32015 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32016
1fbc5e66 320172008-08-08 Marco Gerards <marco@gnu.org>
32018
32019 * NEWS: Update.
32020
819ce6c0 320212008-08-07 Bean <bean123ch@gmail.com>
32022
32023 * include/grub/x86_64/pci.h: New file.
32024
5c41d44d 320252008-08-07 Christian Franke <franke@computer.org>
32026
32027 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32028 (TIMER2_GATE): Likewise.
32029 (grub_pit_wait): Add enable/disable of the timer2 gate
32030 bit of port 0x61. This fixes a possible infinite loop.
32031
5ebc275d 320322008-08-07 Bean <bean123ch@gmail.com>
32033
32034 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32035 kern/i386/tsc.c and kern/i386/pit.c.
32036
32037 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32038 x86_64 platform.
32039
32040 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32041 <grub/i386/tsc.h>.
32042
32043 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32044
e383b3d0 320452008-08-07 Bean <bean123ch@gmail.com>
32046
32047 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32048
32049 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32050
32051 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32052 multiple inclusion. Add #include <grub/types.h>.
32053
1cbb58ac 320542008-08-06 Christian Franke <franke@computer.org>
32055
32056 * conf/common.rmk: Build and install `10_windows'.
32057 * util/grub.d/10_windows.in: New script.
32058
337f5a1e 320592008-08-06 Pavel Roskin <proski@gnu.org>
32060
32061 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32062
057bc4ac 320632008-08-06 Robert Millan <rmh@aybabtu.com>
32064
32065 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32066 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32067
2b99f123 320682008-08-06 Bean <bean123ch@gmail.com>
32069
32070 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32071 (grub_pxefs_fs_int): Remove dummy definition.
32072 (grub_pxefs_open): Use data->block_size to store the current block
32073 size setting.
32074 (grub_pxefs_read): Use block size stored in data->block_size. As the
32075 value of grub_pxe_blksize can be changed after the file is opened.
32076
9f0234cb 320772008-08-06 Bean <bean123ch@gmail.com>
32078
32079 * fs/i386/pc/pxe.c (curr_file): new variable.
32080 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32081 require the dummy internal file system anymore.
32082 (grub_pxefs_read): Removed.
32083 (grub_pxefs_close): Likewise.
32084 (grub_pxefs_fs_int): Likewise.
32085 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32086 connection when we switch file.
32087 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32088
a55d42e0 320892008-08-06 Robert Millan <rmh@aybabtu.com>
32090
32091 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32092 `halt.mod'.
32093 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32094 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32095
32096 * kern/i386/halt.c: New file.
32097 * kern/i386/reboot.c: Likewise.
32098 * include/grub/i386/reboot.h: Likewise.
32099 * include/grub/i386/halt.h: Likewise.
32100
32101 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32102 Include `<grub/cpu/halt.h>'.
32103 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32104 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32105
32106 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32107 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32108 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32109 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32110 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32111 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32112 from here ...
32113 * include/grub/i386/at_keyboard.h: ... to here.
32114
24371d26 321152008-08-05 Robert Millan <rmh@aybabtu.com>
32116
32117 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32118 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32119 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32120 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32121 `kern/generic/millisleep.c'.
32122
32123 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32124 instead of grub_get_rtc().
32125 (grub_tsc_init): Initialize `tsc_boot_time'.
32126
32127 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32128 (grub_machine_init): Use grub_tsc_init() rather than
32129 installing an RTC-based handler via grub_install_get_time_ms().
32130
32131 * kern/i386/pit.c: New file.
32132 * include/grub/i386/pit.h: Likewise.
32133
9e7007b3 321342008-08-05 Bean <bean123ch@gmail.com>
32135
32136 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32137
32138 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32139 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32140 (pxe_mod_SOURCES): New macro.
32141 (pxe_mod_CFLAGS): Likewise.
32142 (pxe_mod_LDFLAGS): Likewise.
32143 (pxecmd_mod_SOURCES): Likewise.
32144 (pxecmd_mod_CFLAGS): Likewise.
32145 (pxecmd_mod_LDFLAGS): Likewise.
32146
32147 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32148 (grub_pxe_call): Likewise.
32149
32150 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32151
32152 * commands/i386/pc/pxecmd.c: New file.
32153
9f0234cb 32154 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32155
32156 * include/grub/i386/pc/pxe.h: Likewise.
32157
6977d49f 321582008-08-05 Bean <bean123ch@gmail.com>
32159
32160 * util/console.c (grub_console_cur_color): New variable.
32161 (grub_console_standard_color): Likewise.
32162 (grub_console_normal_color): Likewise.
32163 (grub_console_highlight_color): Likewise.
32164 (color_map): Likewise.
32165 (use_color): Likewise.
32166 (NUM_COLORS): New macro.
32167 (grub_ncurses_setcolorstate): Handle color properly.
32168 (grub_ncurses_setcolor): Don't change color here, just remember the
32169 settings, color will be set in grub_ncurses_setcolorstate.
32170 (grub_ncurses_getcolor): New function.
32171 (grub_ncurses_init): Initialize color pairs.
32172 (grub_ncurses_term): New member grub_ncurses_getcolor.
32173
9c2ff3ee 321742008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32175
9c2ff3ee 32176 High resolution timer support. Implemented for x86 CPUs using TSC.
32177 Extracted generic grub_millisleep() so it's linked in only as needed.
32178 This requires a Pentium compatible CPU; if the RDTSC instruction is
32179 not supported, then it falls back on the generic grub_get_time_ms()
32180 implementation that uses the machine's RTC.
32181
32182 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32183 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32184 `kern/generic/millisleep.c'.
32185
32186 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32187 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32188
32189 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32190 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32191
32192 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32193
32194 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32195 `kern/generic/millisleep.c'.
32196
32197 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32198
32199 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32200
32201 * kern/generic/rtc_get_time_ms.c: New file.
32202
32203 * kern/generic/millisleep.c: New file.
337f5a1e 32204
9c2ff3ee 32205 * kern/misc.c: Don't include
32206 <kern/time.h> anymore.
32207 (grub_millisleep_generic): Removed.
32208
32209 * commands/sleep.c (grub_interruptible_millisleep): Uses
32210 grub_get_time_ms() instead of grub_get_rtc().
32211
32212 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32213 function.
32214 (grub_cpu_is_cpuid_supported): New inline function.
32215 (grub_cpu_is_tsc_supported): New inline function.
32216 (grub_tsc_init): New function prototype.
32217 (grub_tsc_get_time_ms): New function prototype.
32218
32219 * kern/i386/tsc.c (grub_get_time_ms): New file.
32220
32221 * include/grub/time.h: Include <grub/types.h.
32222 (grub_millisleep_generic): Removed.
32223 (grub_get_time_ms): New prototype.
32224 (grub_install_get_time_ms): New prototype.
32225 (grub_rtc_get_time_ms): New prototype.
32226
32227 * kern/time.c (grub_get_time_ms): New function.
32228 (grub_install_get_time_ms): New function.
32229
32230 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32231 <grub/time.h> anymore.
32232 (grub_millisleep): Removed.
32233 (grub_machine_init): Call grub_tsc_init.
32234
32235 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32236 get_time_ms() implementation.
32237
32238 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32239 (ieee1275_get_time_ms): New function.
32240 (grub_machine_init): Install get_time_ms() implementation.
32241
32242 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32243 (grub_machine_init): Call grub_tsc_init().
32244 (grub_millisleep): Removed.
bf06a93f 32245
9c2ff3ee 32246 * kern/ieee1275/init.c (grub_millisleep): Removed.
32247 (grub_machine_init): Install ieee1275_get_time_ms()
32248 implementation.
32249 (ieee1275_get_time_ms): New function.
32250 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32251 real work.
32252
9ec92aaf 322532008-08-05 Marco Gerards <marco@gnu.org>
32254
32255 * disk/ata.c: Include <grub/pci.h>.
32256 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32257 (grub_ata_initialize): Rewritten.
32258 (grub_ata_device_initialize): New function.
32259
8d23f507 322602008-08-04 Pavel Roskin <proski@gnu.org>
32261
32262 * kern/main.c: Include grub/mm.h.
32263
5e15ee3d 322642008-08-04 Robert Millan <rmh@aybabtu.com>
32265
32266 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32267 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32268 corruption problem).
32269
a9053f8f 322702008-08-04 Robert Millan <rmh@aybabtu.com>
32271
32272 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32273 warnings introduced in my last commit.
32274
dd19c7d7 322752008-08-03 Robert Millan <rmh@aybabtu.com>
32276
32277 Make PCI available on all i386 architectures.
32278
32279 * include/grub/i386/pc/pci.h: Move from here ...
32280 * include/grub/i386/pci.h: ... to here.
32281
32282 * include/grub/i386/pc/pci.h: Remove.
32283 * include/grub/i386/efi/pci.h: Remove.
32284 * include/grub/x86_64/efi/pci.h: Remove.
32285
32286 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32287 `<grub/cpu/pci.h>'.
32288
32289 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32290 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32291 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32292
32293 * conf/i386-ieee1275.rmk: Likewise.
32294
e14a6184 322952008-08-03 Robert Millan <rmh@aybabtu.com>
32296
32297 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32298 (grub_console_setcursor): Make it possible to set cursor off.
32299
52768e37 323002008-08-03 Robert Millan <rmh@aybabtu.com>
32301
32302 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32303 of modules instead of assuming which platform provides what.
32304 * util/update-grub.in: Likewise.
32305
2d52f57f 323062008-08-03 Robert Millan <rmh@aybabtu.com>
32307
32308 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32309 instead of `grub_install_dos_part' to determine whether a drive needs
32310 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32311 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32312
2a5cd121 323132008-08-02 Robert Millan <rmh@aybabtu.com>
32314
32315 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32316
93808428 323172008-08-02 Robert Millan <rmh@aybabtu.com>
32318
32319 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32320 of informational grub_dprintf() calls.
32321
3bd0a12a 323222008-08-02 Robert Millan <rmh@aybabtu.com>
32323
32324 * disk/memdisk.c (memdisk_size): Don't initialize.
32325 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32326
32327 * include/grub/i386/pc/kernel.h
32328 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32329 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32330 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32331 (grub_arch_memdisk_size): Remove.
32332
32333 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32334 field (was only used to transfer a constant). Add `type' field to
32335 support multiple module types.
32336 (grub_module_iterate): New function.
32337
32338 * kern/device.c (grub_device_open): Do not hide error messages
32339 when grub_disk_open() fails. Use grub_print_error() instead.
32340
32341 * kern/i386/pc/init.c (grub_arch_modules_addr)
32342 (grub_arch_memdisk_size): Remove functions.
32343 (grub_arch_modules_addr): Return the module address in high memory
32344 (now that it isn't copied anymore).
32345
32346 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32347 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32348 decompression routine (grub_total_module_size already includes that
32349 now). Don't copy modules back to low memory.
32350
32351 * kern/main.c: Include `<grub/mm.h>'.
32352 (grub_load_modules): Split out (and use) ...
32353 (grub_module_iterate): ... this function, which iterates through
32354 module objects and runs a hook.
32355 Comment out grub_mm_init_region() call, as it would cause non-ELF
32356 modules to be overwritten.
32357
32358 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32359 the memdisk image in its own region, make it part of the module list.
32360 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32361 (main): Parse --memdisk|-m option, and pass user-provided path as
32362 parameter to generate_image().
32363 (add_segments): Pass `memdisk_path' down to load_modules().
32364 (load_modules): Embed memdisk image in module section when requested.
32365 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32366 `header.type' instead of `header.offset'.
32367
32368 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32369 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32370 (memdisk_mod_LDFLAGS): New variables.
32371 * conf/i386-coreboot.rmk: Likewise.
32372 * conf/i386-ieee1275.rmk: Likewise.
32373
a927cc73 323742008-08-02 Robert Millan <rmh@aybabtu.com>
32375
32376 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32377 (backward_relocator): New variables. Used to allocate and relocate
32378 the payload, respectively.
32379 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32380 address, install the appropriate relocator code in each bound of
a927cc73 32381 the payload, and set the entry point such that
32382 grub_multiboot_real_boot() will jump to one of them.
32383
32384 * kern/i386/loader.S (grub_multiboot_payload_size)
32385 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32386 (grub_multiboot_payload_entry_offset): New variables.
32387 (grub_multiboot_real_boot): Set cpu context to what the relocator
32388 expects, and jump to the relocator instead of the payload.
32389
32390 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32391 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32392 (grub_multiboot_payload_entry_offset): Export.
32393
b15d8a0c 323942008-08-01 Bean <bean123ch@gmail.com>
32395
32396 * normal/menu_entry.c (editor_getline): Don't return the original
32397 string as result, as it will be released by lexer once it has done
32398 using it.
32399
cdfb3d22 324002008-08-01 Robert Millan <rmh@aybabtu.com>
32401
32402 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32403 within menuentries, not before them.
32404 util/grub.d/10_hurd.in: Likewise.
32405
9175e93d 324062008-08-01 Bean <bean123ch@gmail.com>
32407
32408 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32409 (bufio_mod_SOURCES): New macro.
32410 (bufio_mod_CFLAGS): Likewise.
32411 (bufio_mod_LDFLAGS): Likewise.
32412
32413 * include/grub/bufio.h: New file.
32414
32415 * io/bufio.c: Likewise.
32416
32417 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32418 (grub_video_reader_png): Use grub_buffile_open to open file.
32419
32420 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32421 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32422
32423 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32424 (grub_video_reader_tga): Use grub_buffile_open to open file.
32425
32426 * font/manager.c: Include <grub/bufio.h>.
32427 (add_font): Use grub_buffile_open to open file.
32428
3d8383e7 324292008-07-31 Robert Millan <rmh@aybabtu.com>
32430
32431 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32432 ELF segments, use a macro for arbitrarily accessing any of them instead
32433 of preparing a pointer that allows access to one at a time.
32434 (grub_multiboot_load_elf64): Likewise.
32435
16e641b6 324362008-07-31 Bean <bean123ch@gmail.com>
32437
32438 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32439 GRUB_KERNEL_MACHINE_DATA_END.
32440
59198b72 324412008-07-30 Robert Millan <rmh@aybabtu.com>
32442
32443 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32444 Increase from 0x50 to 0x60.
32445 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32446 use UUIDs to identify the root drive for them. If that's not
32447 possible, abort.
32448 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32449 check, for cross-disk installs.
32450
ae88bca3 324512008-07-30 Robert Millan <rmh@aybabtu.com>
32452
32453 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32454 is non-empty, use it to set the `prefix' environment variable instead
32455 of the usual approach.
32456 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32457 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32458 environment variable instead of dummy make_install_device().
32459
32460 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32461 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32462 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32463
32464 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32465 New variable reference.
32466 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32467 New macro. Defines offset of `grub_prefix' within startup.S (relative
32468 to `start').
32469 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32470 section within startup.S (relative to `start').
32471 * include/grub/i386/coreboot/kernel.h: Likewise.
32472
32473 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32474 Overwrite grub_prefix with its contents, at the beginning of the
32475 first segment.
32476 (main): Understand -p|--prefix.
32477
14f41dd1 324782008-07-30 Robert Millan <rmh@aybabtu.com>
32479
32480 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32481
4ca049a3 324822008-07-30 Robert Millan <rmh@aybabtu.com>
32483
32484 * term/i386/pc/vga_text.c (grub_console_cls): Use
32485 grub_console_gotoxy() to go back to beginning of the screen.
32486 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32487
2921d337 324882008-07-29 Christian Franke <franke@computer.org>
32489
32490 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32491 Add conversion of emulated mount points on Cygwin.
32492
b609876d 324932008-07-29 Christian Franke <franke@computer.org>
32494
32495 * util/update-grub.in: Add a check for admin
32496 group on Cygwin.
32497 Remove old `grub.cfg.new' before creation.
32498 Add `-f' to `mv' to handle the different filesystem
32499 semantics of Windows.
32500
e93e4679 325012008-07-29 Bean <bean123ch@gmail.com>
32502
32503 * normal/main.c (get_line): Fix buffer overflow bug.
32504
41694fd0 325052008-07-28 Robert Millan <rmh@aybabtu.com>
32506
32507 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32508 (struct grub_apple_header): New struct. Describes the layout of
32509 the partmap header.
32510 (apple_partition_map_iterate): Check the header magic as well as the
32511 partition magic (which was already being checked).
32512
cfd0b4e6 325132008-07-28 Pavel Roskin <proski@gnu.org>
32514
32515 * genmk.rb: Add a warning to the beginning of the output that
32516 it's a generated file and should not be edited.
32517
93cce016 325182008-07-28 Robert Millan <rmh@aybabtu.com>
32519
32520 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32521 with the same number are found, just use issue a warning with
32522 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32523
cd1df915 325242008-07-27 Robert Millan <rmh@aybabtu.com>
32525
32526 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32527 information.
32528
b70a8427 325292008-07-27 Bean <bean123ch@gmail.com>
32530
32531 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32532 (grub_fat_find_dir): Ignore case when comparing filename.
32533
8f5e379f 325342008-07-27 Bean <bean123ch@gmail.com>
32535
32536 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32537 smallino, as it's more descriptive, and i8count can be confused with
32538 the other field count.
32539 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32540 inode type.
32541
a85cd5a0 325422008-07-27 Bean <bean123ch@gmail.com>
32543
32544 * commands/crc.c: New file.
32545
32546 * lib/crc.c: Likewise.
32547
32548 * include/grub/lib/crc.h: Likewise.
32549
32550 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32551
32552 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32553 (hexdump): Move this function to ...
32554
32555 * lib/hexdump.c: ... here.
32556
32557 * include/grub/hexdump.h: Renamed to ...
32558
32559 * include/grub/lib/hexdump.h: ... this.
32560
32561 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32562
32563 * util/grub-editenv.c: Likewise.
32564
32565 * include/envblk.h: Renamed to ...
32566
32567 * include/lib/envblk.h: ... this.
32568
32569 * util/envblk.c: Renamed to ...
32570
32571 * lib/envblk.c: ... this.
32572
32573 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32574 lib/hexdump.c.
32575 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32576 (pkglib_MODULES): Add crc.mod.
32577 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32578 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32579 (crc_mod_SOURCES): New macro.
32580 (crc_mod_CFLAGS): Likewise.
32581 (crc_mod_LDFLAGS): Likewise.
32582
32583 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32584
32585 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32586
32587 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32588
32589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32590
32591 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32592
c298def0 325932008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32594
32595 * commands/help.c: Include <grub/term.h>.
32596 (TERM_WIDTH): Removed. Updated all users.
32597
cc349fb3 325982008-07-27 Pavel Roskin <proski@gnu.org>
32599
32600 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32601 spurious warnings about a comment within a comment.
32602
9051607e 326032008-07-25 Robert Millan <rmh@aybabtu.com>
32604
32605 * util/getroot.c (find_root_device): Skip devices that match
32606 /dev/dm-[0-9]. This lets the real device be found for any type of
32607 abstraction (LVM, EVMS, RAID..).
32608 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32609 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32610 device is found first, find_root_device() will now skip it.
32611
01453bfc 326122008-07-24 Pavel Roskin <proski@gnu.org>
32613
32614 * include/grub/types.h: Use __builtin_bswap32() and
32615 __builtin_bswap64() with gcc 4.3 and newer.
32616
6af9849f 326172008-07-24 Christian Franke <franke@computer.org>
32618
3a0fa256 32619 * util/i386/pc/grub-install.in: If `--debug' is specified,
32620 pass `--verbose' to grub-setup.
32621 Abort script if make_system_path_relative_to_its_root() fails.
32622
7810e747 326232008-07-24 Bean <bean123ch@gmail.com>
32624
32625 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32626 variable `target_platform' should be `platform'.
32627
42290e17 326282008-07-24 Bean <bean123ch@gmail.com>
32629
51cc5193 32630 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32631 (grub_png_init_fixed_block): New function.
32632 (grub_png_decode_image_data): Handle fixed huffman code compression.
32633
2a8a80e4 326342008-07-24 Bean <bean123ch@gmail.com>
32635
32636 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32637 (grub_pe2elf_SOURCES): New macro.
32638 (CLEANFILES): Add grub-pe2elf.
32639
32640 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32641 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32642 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32643 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32644 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32645 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32646 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32647 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32648 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32649 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32650 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32651 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32652 (GRUB_PE32_DT_FUNCTION): Likewise.
32653 (GRUB_PE32_REL_I386_DIR32): Likewise.
32654 (GRUB_PE32_REL_I386_REL32): Likewise.
32655 (grub_pe32_symbol): New structure.
32656 (grub_pe32_reloc): Likewise.
32657
32658 * util/grub-pe2elf.c: New file.
32659
32660 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32661 start symbol in non pc platform.
32662
32663 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32664
32665 The following patches are from Christian Franke.
32666
32667 * include/grub/dl.h: Remove .previous, gas supports this only
32668 for ELF format.
32669
32670 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32671 Remove .type, gas supports this only for ELF format.
32672
32673 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32674 nullbytes in symbol table. This fixes an infinite loop if table is
32675 zero filled.
32676
32677 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32678 TARGET_IMG_LDFLAGS and EXEEXT.
32679
32680 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32681 TARGET_IMG_LDFLAGS_AC.
32682 (grub_CHECK_STACK_ARG_PROBE): New function.
32683
32684 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32685
32686 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32687
32688 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32689 to set TARGET_IMG_LD* accordingly.
32690 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32691 Add call to grub_CHECK_STACK_ARG_PROBE.
32692 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32693
32694 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32695
32696 * genmk.rb: Add EXEEXT to CLEANFILES.
32697
12ccdb75 326982008-07-23 Robert Millan <rmh@aybabtu.com>
32699
32700 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32701 define the codes for arrows and lines used for the menu).
32702 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32703 as well.
32704
32705 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32706 fonts, because the latter are too slow.
32707
18eeaf04 327082008-07-21 Bean <bean123ch@gmail.com>
32709
32710 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32711 a20. Run keyboard test last, as it will cause macbook to halt.
32712
b095e2ad 327132008-07-18 Pavel Roskin <proski@gnu.org>
32714
32715 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32716 load foreign architecture modules correctly anyway. Keep
32717 support for loading host architecture modules, whether we
32718 compile them or not.
32719
737feb35 327202008-07-17 Pavel Roskin <proski@gnu.org>
32721
3f4ce737 32722 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32723 change target_cpu. The compiler default can mismatch target_cpu
32724 in any case.
32725
4ad2d049 32726 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32727 * kern/efi/efi.c: Likewise.
32728
f6130a12 32729 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32730 target compiler is functional.
32731 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32732 are set up.
32733
58393a2d 32734 * configure.ac: Default to efi platform for x86_64-apple. Allow
32735 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32736 adjustments from the rest, only do them if target is not
32737 explicitly given. Merge other adjustments with the final sanity
32738 check. Remove an extraneous check for supported CPU. Be
32739 specific which CPU and which platform is not supported.
32740
737feb35 32741 * configure.ac: Default to pc platform for x86_64.
32742
546f966a 327432008-07-17 Robert Millan <rmh@aybabtu.com>
32744
32745 Partial LinuxBIOS -> Coreboot rename.
32746
32747 * conf/i386-linuxbios.rmk: Renamed to ...
32748 * conf/i386-coreboot.rmk: ... this.
32749 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32750 * configure.ac: Accept "coreboot" as input platform (but maintain
32751 compatibility with "linuxbios").
32752 * include/grub/i386/linuxbios: Renamed to ...
32753 * include/grub/i386/coreboot: ... this.
32754
20011694 327552008-07-17 Bean <bean123ch@gmail.com>
32756
32757 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32758 (appleldr_mod_SOURCE): New variable.
20011694 32759 (appleldr_mod_CFLAGS): Likewise.
32760 (appleldr_mod_LDFLAGS): Likewise.
32761 (pci_mod_SOURCES): Likewise.
32762 (pci_mod_CFLAGS): Likewise.
32763 (pci_mod_LDFLAGS): Likewise.
32764 (lspci_mod_SOURCES): Likewise.
32765 (lspci_mod_CFLAGS): Likewise.
32766 (lspci_mod_LDFLAGS): Likewise.
32767
32768 * conf/x86_64-efi.rmk: New file.
32769
32770 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32771 macro.
32772 (grub_efidisk_write): Likewise.
32773
32774 * include/efi/api.h (efi_call_0): New macro.
32775 (efi_call_1): Likewise.
32776 (efi_call_2): Likewise.
32777 (efi_call_3): Likewise.
32778 (efi_call_4): Likewise.
32779 (efi_call_5): Likewise.
32780 (efi_call_6): Likewise.
32781
32782 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32783 grub_rescue_cmd_chainloader.
32784
32785 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32786 (grub_pe32_optional_header): Change some fields based on i386 or
32787 x86_64 platform.
32788 (GRUB_PE32_PE32_MAGIC): Likewise.
32789
32790 * include/grub/efi/uga_draw.h: New file.
32791
32792 * include/grub/elf.h (STN_ABS): New constant.
32793 (R_X86_64_NONE): Relocation constant for x86_64.
32794 (R_X86_64_64): Likewise.
32795 (R_X86_64_PC32): Likewise.
32796 (R_X86_64_GOT32): Likewise.
32797 (R_X86_64_PLT32): Likewise.
32798 (R_X86_64_COPY): Likewise.
32799 (R_X86_64_GLOB_DAT): Likewise.
32800 (R_X86_64_JUMP_SLOT): Likewise.
32801 (R_X86_64_RELATIVE): Likewise.
32802 (R_X86_64_GOTPCREL): Likewise.
32803 (R_X86_64_32): Likewise.
32804 (R_X86_64_32S): Likewise.
32805 (R_X86_64_16): Likewise.
32806 (R_X86_64_PC16): Likewise.
32807 (R_X86_64_8): Likewise.
32808 (R_X86_64_PC8): Likewise.
32809
32810 * include/grub/i386/efi/pci.h: New file.
32811
32812 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32813 Change it value based on platform.
32814 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32815 (GRUB_E820_RAM): Likewise.
32816 (GRUB_E820_RESERVED): Likewise.
32817 (GRUB_E820_ACPI): Likewise.
32818 (GRUB_E820_NVS): Likewise.
32819 (GRUB_E820_EXEC_CODE): Likewise.
32820 (GRUB_E820_MAX_ENTRY): Likewise.
32821 (grub_e820_mmap): New structure.
32822 (linux_kernel_header): Change the efi field according to different
32823 kernel version, also field from linux_kernel_header.
32824
32825 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32826
32827 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32828 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32829 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32830 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32831 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32832 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32833 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32834 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32835 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32836 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32837
32838 * include/grub/x86_64/efi/kernel.h: New file.
32839
32840 * include/grub/x86_64/efi/loader.h: Likewise.
32841
32842 * include/grub/x86_64/efi/machine.h: Likewise.
32843
32844 * include/grub/x86_64/efi/pci.h: Likewise.
32845
32846 * include/grub/x86_64/efi/time.h: Likewise.
32847
32848 * include/grub/x86_64/linux.h: Likewise.
32849
32850 * include/grub/x86_64/setjmp.h: Likewise.
32851
32852 * include/grub/x86_64/time.h: Likewise.
32853
32854 * include/grub/x86_64/types.h: Likewise.
32855
32856 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32857 GRUB_TARGET_SIZEOF_VOID_P.
32858
32859 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32860 (grub_efi_locate_handle): Likewise.
32861 (grub_efi_open_protocol): Likewise.
32862 (grub_efi_set_text_mode): Likewise.
32863 (grub_efi_stall): Likewise.
32864 (grub_exit): Likewise.
32865 (grub_reboot): Likewise.
32866 (grub_halt): Likewise.
32867 (grub_efi_exit_boot_services): Likewise.
32868 (grub_get_rtc): Likewise.
32869
32870 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32871 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32872 (grub_efi_allocate_pages): Wrap efi calls.
32873 (grub_efi_free_pages): Wrap efi calls.
32874 (grub_efi_get_memory_map): Wrap efi calls.
32875
32876 * kern/x86_64/dl.c: New file.
32877
32878 * kern/x86_64/efi/callwrap.S: Likewise.
32879
32880 * kern/x86_64/efi/startup.S: Likewise.
32881
32882 * loader/efi/appleloader.c: Likewise.
32883
32884 * loader/efi/chainloader.c (cmdline): New variable.
32885 (grub_chainloader_unload): Wrap efi calls.
32886 (grub_chainloader_boot): Likewise.
32887 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32888 command line.
32889
32890 * loader/efi/chainloader_normal.c (chainloader_command):
32891 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32892 command line.
32893
32894 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32895 method.
32896 (grub_e820_add_region): New function.
32897 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32898 booting.
32899 (grub_find_video_card): New function.
32900 (grub_linux_setup_video): New function.
32901 (grub_rescue_cmd_linux): Probe for video information.
32902
32903 * normal/x86_64/setjmp.S: New file.
32904
32905 * term/efi/console.c (map_char): New function.
32906 (grub_console_putchar): Map unicode char.
32907 (grub_console_checkkey): Wrap efi calls.
32908 (grub_console_getkey): Likewise.
32909 (grub_console_getwh): Likewise.
32910 (grub_console_gotoxy): Likewise.
32911 (grub_console_cls): Likewise.
32912 (grub_console_setcolorstate): Likewise.
32913 (grub_console_setcursor): Likewise.
32914
32915 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32916
59652a20 329172008-07-16 Pavel Roskin <proski@gnu.org>
32918
ef294055 32919 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32920 format strings.
32921
59652a20 32922 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32923 pointer, not an integer. This fixes a warning and prevents
32924 precision loss on 64-bit systems.
32925 (relocate_addresses): Remove unneeded cast.
32926
afc3b5d7 329272008-07-15 Pavel Roskin <proski@gnu.org>
32928
506b2b3e 32929 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32930
62ead89c 32931 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32932
c4cd51d7 32933 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32934 Fix comparison between signed and unsigned.
32935
0d3d8f28 32936 * include/grub/i386/ieee1275/console.h: Declare
32937 grub_console_init() and grub_console_fini().
32938
8804b286 32939 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32940 It's empty and unused.
32941
ee01cf35 32942 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32943 beginning to avoid warnings with some compilers.
32944
afc3b5d7 32945 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32946 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32947
e4e8eaa5 329482008-07-14 Pavel Roskin <proski@gnu.org>
32949
407aceb4 32950 * kern/env.c (grub_register_variable_hook): Don't copy empty
32951 string, it leaks memory. Pass "" to grub_env_set(), it should
32952 handle constant strings.
32953
e4e8eaa5 32954 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32955 * commands/cmp.c (grub_cmd_cmp): Likewise.
32956 * kern/dl.c (grub_dl_flush_cache): Likewise.
32957 (grub_dl_load_core): Likewise.
32958 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32959 (grub_elf64_load_phdrs): Likewise.
32960
d4e2dad3 329612008-07-13 Pavel Roskin <proski@gnu.org>
32962
32963 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32964 between signed and unsigned.
32965 (LzmaEnc_Finish): Fix warning about an unused parameter.
32966
aa24b516 329672008-07-13 Bean <bean123ch@gmail.com>
32968
32969 * Makefile.in (enable_lzo): New rule.
32970
32971 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32972
32973 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32974
32975 * boot/i386/pc/lnxboot.S: #include <config.h>.
32976
32977 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32978 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32979
32980 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32981 compression algorithm according to configure macro.
32982
32983 * kern/i386/pc/startup.S (codestart): Likewise.
32984
32985 * kern/i386/pc/lzma_decode.S: New file.
32986
32987 * include/grub/lib/LzFind.h: Likewise.
32988
32989 * include/grub/lib/LzHash.h: Likewise.
32990
32991 * include/grub/lib/LzmaDec.h: Likewise.
32992
32993 * include/grub/lib/LzmaEnc.h: Likewise.
32994
32995 * include/grub/lib/LzmaTypes.h: Likewise.
32996
32997 * lib/LzFind.c: Likewise.
32998
32999 * lib/LzmaDec.c: Likewise.
33000
33001 * lib/LzmaEnc.c: Likewise.
33002
4ae821ac 330032008-07-13 Bean <bean123ch@gmail.com>
33004
33005 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33006 (grub_ext4_extent_header): New structure.
33007 (grub_ext4_extent): Likewise.
33008 (grub_ext4_extent_idx): Likewise.
33009 (grub_ext4_find_leaf): New function.
33010 (grub_ext2_read_block): Handle extents.
33011
9a745147 330122008-07-12 Robert Millan <rmh@aybabtu.com>
33013
33014 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33015
d49a4cf6 330162008-07-11 Robert Millan <rmh@aybabtu.com>
33017
33018 * util/grub.d/40_custom.in: New file. Example on how to add custom
33019 entries to /etc/grub.d.
33020 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33021 40_custom (implicitly, by merging all the grub.d rules).
33022
947414b4 330232008-07-11 Pavel Roskin <proski@gnu.org>
33024
0059cf6f 33025 * commands/read.c (grub_getline): Fix invalid memory access.
33026 Don't add newline to the variable value.
33027
947414b4 33028 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33029 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33030 (serial_hw_get_port): Check validity of the port number.
33031 (grub_cmd_serial): Check return value of serial_hw_get_port().
33032
62a02d00 330332008-07-07 Pavel Roskin <proski@gnu.org>
33034
33035 * boot/i386/pc/diskboot.S (notification_string): Replace
33036 "Loading kernel" with just "loading". This is shorter, less
33037 confusing and saves a few bytes for possible future changes.
33038
3e5581b0 330392008-07-05 Pavel Roskin <proski@gnu.org>
33040
ea387a48 33041 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33042 size for ATAPI devices, they are undefined. Output sector
33043 number in decimal form.
33044
3e5581b0 33045 * disk/ata.c: Use named constants for status bits.
33046
fdecb8fd 330472008-07-04 Pavel Roskin <proski@gnu.org>
33048
bcd35b90 33049 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33050 grub_addr_t before casting it to the void pointer to fix a
33051 warning. Non-addressable regions are discarded earlier.
33052 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33053 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33054 (check_signature): Don't shadow table_header.
33055 (grub_linuxbios_table_iterate): Cast numeric constants to
33056 grub_linuxbios_table_header_t.
33057 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33058 grub_stop().
33059
af58ab3d 33060 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33061 prevent warnings.
33062
1759aa57 33063 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33064 pointer, which can cause warnings. Support 64-bit addresses.
33065
fdecb8fd 33066 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33067 of sizeof(long). This fixes PowerPC image generation on x86_64.
33068
8516d2a8 330692008-07-04 Robert Millan <rmh@aybabtu.com>
33070
33071 This fixes a performance issue when pc & gpt partmap iterators
33072 didn't abort iteration even after our hook found what it was
fe987087 33073 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33074
33075 Some callers relied on previous buggy behaviour, since they would
34c44600 33076 raise an error when their own hooks caused early abortion of its
8516d2a8 33077 iteration.
33078
33079 * kern/device.c (grub_device_open): Improve error message.
33080 * disk/lvm.c (grub_lvm_open): Likewise.
33081 * disk/raid.c (grub_raid_open): Likewise.
33082
33083 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33084 when hook requests it, independently of grub_errno.
33085 (pc_partition_map_probe): Do not fail when find_func() caused
33086 early abortion of pc_partition_map_iterate().
33087
33088 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33089 when hook requests it, independently of grub_errno.
33090 (gpt_partition_map_probe): Do not fail when find_func() caused
33091 early abortion of gpt_partition_map_iterate().
33092
33093 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33094 when hook requests it, independently of grub_errno. Do not fail when
33095 part_map_iterate_hook() caused early abortion of p->iterate().
33096
33097 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33098 when grub_partition_iterate() returned with non-zero.
33099
277d0de9 331002008-07-03 Pavel Roskin <proski@gnu.org>
33101
33102 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33103 like we do in grub_ata_pio_read().
33104 (grub_ata_readwrite): Always write individual sectors. Fix the
33105 sector count for the remainder.
33106 (grub_ata_write): Enable writing to ATA devices. Correctly
33107 report error for ATAPI devices.
33108
d4c9b428 331092008-07-02 Pavel Roskin <proski@gnu.org>
33110
e43fc690 33111 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33112 warning.
33113
f707af42 33114 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33115 for every read sector, we already increment it for the whole
33116 batch. This fixes reading more than 256 sectors at once.
33117
11e16b15 33118 * util/grub-editenv.c (cmd_info): Cast argument to long
33119 explicitly. ptrdiff_t reduces to int on i386.
33120
cbabfdd4 33121 * util/grub-editenv.c (main): Be specific which parameter is
33122 missing.
33123
b8fbce0a 33124 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33125 (memdisk): Make memdisk_orig_addr a pointer.
33126
c9c8e606 33127 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33128 for file offsets, use grub_off_t instead. Fix printf format
33129 warnings.
33130
ca62e598 33131 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33132 there. Real unexpected warnings should not drown in the noise
33133 about known problems.
33134
ce8d1766 33135 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33136 grub_disk_addr_t for memory addresses.
33137
00c7a56a 33138 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33139 explicitly to fix a warning.
33140
08d3ef09 33141 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33142
cb71ba20 33143 * Makefile.in (MODULE_LDFLAGS): New variable.
33144 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33145 the linker accepts --build-id=none.
33146 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33147 MODULE_LDFLAGS.
33148 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33149
d4c9b428 33150 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33151 those in Linux XFS code. Provide a way to access 64-bit parent
33152 inode.
33153 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33154 the end of struct grub_xfs_dir_header.
33155
d4156eee 331562008-07-02 Bean <bean123ch@gmail.com>
33157
33158 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33159 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33160 and GRUB_IEEE1275_FLAG_NO_ANSI.
33161
33162 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33163 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33164 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33165
33166 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33167 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33168
33169 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33170 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33171
33172 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33173 esc sequence on non ANSI terminal.
33174 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33175
33176 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33177 beginning of file.
33178
2270f77b 331792008-07-02 Bean <bean123ch@gmail.com>
33180
33181 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33182 (grub_editenv_SOURCES): New variable.
33183 (pkglib_MODULES): Add loadenv.mod.
33184 (loadenv_mod_SOURCES): New variable.
33185 (loadenv_mod_CFLAGS): Likewise.
33186 (loadenv_mod_LDFLAGS): Likewise.
33187
33188 * include/grub/envblk.h: New file.
33189
33190 * util/envblk.c: New file.
33191
33192 * util/grub-editenv.c: New file.
33193
33194 * commands/loadenv.c: New file.
33195
0e9e51ec 331962008-07-01 Pavel Roskin <proski@gnu.org>
33197
d89b7634 33198 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33199 not unsigned char. This fixes warnings and is consistent with
33200 other tags.
33201
bf1835b1 33202 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33203
8222a04b 33204 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33205
6a42d99d 33206 * term/tparm.c (analyze): Always set *popcount.
33207
10b159d1 33208 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33209 cast to fix a warning.
33210
b8789f6c 33211 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33212 cast to suppress a warning.
33213
29d7e38a 33214 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33215 grub_fshelp_read_file() expects.
33216
f341f669 33217 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33218 write uuid as a 32-bit value in CPU byte order, so declare and
33219 use it as such.
33220
0e9e51ec 33221 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33222 long if the format specifier expects it.
33223 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33224 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33225 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33226 long to fix a warning.
33227 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33228 grub_dprintf() arguments to fix warnings.
33229
3aefa857 332302008-06-30 Pavel Roskin <proski@gnu.org>
33231
56c7668b 33232 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33233 install_bsd_part immediately before core.img is embedded or
33234 modified on disk. This fixes core.img verification if core.img
33235 cannot be embedded.
33236
3aefa857 33237 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33238 core_path to calculate the blocklist.
33239 Patch from Javier Martín <lordhabbit@gmail.com>
33240
5444088d 332412008-06-29 Robert Millan <rmh@aybabtu.com>
33242
33243 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33244 block to disk block.
33245 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33246 Patch from Niels Böhm <bitbucket@arcor.de>
33247
674835c8 332482008-06-29 Robert Millan <rmh@aybabtu.com>
33249
33250 * util/update-grub_lib.in (font_path): Search for fonts in
33251 /boot/grub first, which is more likely to be readable (we aren't
33252 deciding where fonts live, just looking for them).
33253
f527dbc8 332542008-06-26 Pavel Roskin <proski@gnu.org>
33255
6c2d8df6 33256 * util/biosdisk.c (read_device_map): Don't leave dead map
33257 entries for devices failing stat() check.
33258
f527dbc8 33259 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33260 core_path_dev for the core.img path on the target device.
33261
aebe3d13 332622008-06-26 Robert Millan <rmh@aybabtu.com>
33263
33264 * disk/fs_uuid.c: New file.
33265 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33266 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33267 (fs_uuid_mod_LDFLAGS): New variables.
33268 * include/grub/disk.h (grub_disk_dev_id): Add
33269 `GRUB_DISK_DEVICE_UUID_ID'.
33270 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33271 implement iterate().
33272
37aaf354 332732008-06-26 Robert Millan <rmh@aybabtu.com>
33274
33275 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33276 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33277 Linux image includes no initrd.
33278
25ff262a 332792008-06-21 Javier Martín <lordhabbit@gmail.com>
33280
33281 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33282 call to resolve the core image location that effectively appended the
33283 name twice.
33284
76a2bd44 332852008-06-21 Robert Millan <rmh@aybabtu.com>
33286
33287 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33288 call from here ...
33289
33290 * util/grub.d/10_hurd.in: ... to here ...
33291 * util/grub.d/10_linux.in: ... and here.
33292
650e1c79 332932008-06-19 Robert Millan <rmh@aybabtu.com>
33294
fe987087 33295 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33296 after it has been set by grub_machine_set_prefix().
33297
6ce63911 332982008-06-19 Robert Millan <rmh@aybabtu.com>
33299
33300 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33301 search result when not saving to variable, not the other way around.
33302 When saving to variable, abort iteration as soon as a match is found.
33303
73940cec 333042008-06-19 Robert Millan <rmh@aybabtu.com>
33305
33306 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33307 check for partition that provides /boot/grub. Its logic is flawed,
33308 as it prevents prepare_grub_to_access_device() from being called
33309 multiple times.
33310
3c62a39d 333112008-06-19 Robert Millan <rmh@aybabtu.com>
33312
33313 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33314 "insmod" command directly when abstraction modules are needed,
fe987087 33315 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33316 since it had already been processed).
33317
47395a42 333182008-06-19 Pavel Roskin <proski@gnu.org>
33319
33320 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33321 changed. This is needed in case GRUB_LIBDIR changes.
33322 * conf/i386-ieee1275.rmk: Likewise.
33323 * conf/i386-linuxbios.rmk: Likewise.
33324 * conf/i386-pc.rmk: Likewise.
33325 * conf/powerpc-ieee1275.rmk: Likewise.
33326
a145ac2d 333272008-06-18 Pavel Roskin <proski@gnu.org>
33328
33329 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33330 kernel_elf_symlist.c to symlist.c for consistency with other
33331 architectures. Update all users.
33332 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33333
7847c51e 333342008-06-18 Robert Millan <rmh@aybabtu.com>
33335
33336 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33337 it in prefix.
33338
33339 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33340 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33341 a RAID device, run setup() for all members independently on whether
33342 LVM abstraction is being used.
33343 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33344 If grub-mkimage has set `*install_dos_part == -2', don't override this
33345 value.
33346 Perform *install_dos_part adjustments independently on whether
33347 we're embedding or not.
33348 Clarify error message when image is too big for embedding.
33349 Remove duplicate *install_dos_part stanza.
33350
b23e5644 333512008-06-17 Robert Millan <rmh@aybabtu.com>
33352
33353 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33354 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33355 variables.
33356 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33357 values in grub_ofconsole_normal_color and
33358 grub_ofconsole_highlight_color (they're not directly related to
33359 background and foreground).
33360 (grub_ofconsole_setcolorstate): Extract background and foreground
33361 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33362
0aac2f79 333632008-06-17 Robert Millan <rmh@aybabtu.com>
33364
33365 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33366 /boot/grub for the check in last commit, not /boot (they could be
33367 different partitions).
33368
3cca7ef3 333692008-06-16 Robert Millan <rmh@aybabtu.com>
33370
33371 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33372 asked to setup access for the same partition that provides /boot,
33373 don't bother using UUIDs since our root already has the value we
33374 want.
33375
347396d8 333762008-06-16 Robert Millan <rmh@aybabtu.com>
33377
33378 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33379 I2O devices.
33380 Patch from Sven Mueller <sven@debian.org>.
33381
991477f8 333822008-06-16 Robert Millan <rmh@aybabtu.com>
33383
33384 * util/update-grub.in: Check for $EUID instead of $UID.
33385 Reported by Vincent Zweije.
33386
d31a32a1 333872008-06-16 Bean <bean123ch@gmail.com>
33388
fe987087 33389 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33390 (grub_ext2_read_block): Likewise.
33391 (grub_ext2_read_inode): Likewise.
33392 (grub_ext2_mount): Likewise.
33393 (grub_ext2_close): Likewise.
33394 (grub_ext3_get_journal): Removed.
33395
fe987087 33396 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33397 (grub_reiserfs_read_symlink): Likewise.
33398 (grub_reiserfs_mount): Likewise.
33399 (grub_reiserfs_open): Likewise.
33400 (grub_reiserfs_read): Likewise.
33401 (grub_reiserfs_close): Likewise.
33402 (grub_reiserfs_get_journal): Removed.
33403
33404 * fs/fshelp.c (grub_fshelp_read): Removed.
33405 (grub_fshelp_map_block): Likewise.
33406
33407 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33408 (grub_fshelp_journal): Likewise.
33409 (grub_fshelp_read): Likewise.
33410 (grub_fshelp_map_block): Likewise.
33411
3540a760 334122008-06-16 Pavel Roskin <proski@gnu.org>
33413
33414 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33415 floating point anymore.
33416 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33417
95614c84 334182008-06-15 Pavel Roskin <proski@gnu.org>
33419
33420 * commands/ls.c (grub_ls_list_files): Use integer calculations
33421 for human readable format, avoid floating point use.
33422 * kern/misc.c (grub_ftoa): Remove.
33423 (grub_vsprintf): Remove floating point support.
33424
50465dd6 334252008-06-15 Robert Millan <rmh@aybabtu.com>
33426
fe6b695a 33427 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33428 devices.
33429 Reported by Max Vozeler.
33430
a9207284 334312008-06-15 Robert Millan <rmh@aybabtu.com>
33432
33433 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33434 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33435 skipped later.
33436 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33437 the beginning of the prefix.
33438
33439 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33440 It is assumed that if we have a memdisk, grub-mkimage has set
33441 grub_prefix to include the "(memdisk)" drive in it.
33442
a7cbd45a 334432008-06-15 Robert Millan <rmh@aybabtu.com>
33444
33445 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33446 Initialize keyboard controller after registering the terminal, so that
33447 grub_printf() can be called from grub_keyboard_controller_init().
33448
21cf716a 334492008-06-15 Robert Millan <rmh@aybabtu.com>
33450
33451 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33452 extent-btree which is written as big endian on disk.
33453 Reported by Alain Greppin <al@chilibi.org>.
33454
23a64d8e 334552008-06-14 Robert Millan <rmh@aybabtu.com>
33456
33457 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33458 * util/i386/pc/grub-install.in (modules): Likewise.
33459
d687651c 334602008-06-13 Pavel Roskin <proski@gnu.org>
33461
33462 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33463
dfe9ddd4 334642008-06-13 Bean <bean123ch@gmail.com>
33465
33466 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33467
33468 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33469
33470 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33471 to indicate sparse block.
33472
16ae7781 334732008-06-12 Pavel Roskin <proski@gnu.org>
33474
e6d1a308 33475 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33476 number, grub_fshelp_read() does it for us.
33477
16ae7781 33478 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33479 linear disk read with journal translation.
33480 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33481 * include/grub/fshelp.h: Declare grub_fshelp_read().
33482
40fd3a2b 334832008-06-09 Pavel Roskin <proski@gnu.org>
33484
33485 * fs/minix.c (grub_minix_mount): Handle error reading
33486 superblock.
33487
f5679726 334882008-06-08 Robert Millan <rmh@aybabtu.com>
33489
33490 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33491 don't append the RAID prefix afterwards.
33492 Reported by Clint Adams.
33493
ce525529 334942008-06-08 Robert Millan <rmh@aybabtu.com>
33495
33496 Based on description from Pavel:
33497 * kern/disk.c (grub_disk_check_range): Rename to ...
33498 (grub_disk_adjust_range): ... this. Add a comment explaining the
33499 tasks performed by this function.
33500
ad4936a0 335012008-06-08 Robert Millan <rmh@aybabtu.com>
33502
33503 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33504 `num_serial' (for consistency with other variables).
33505 (struct grub_ntfs_data): Add `uuid' member.
33506 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33507 (grub_ntfs_uuid): New function.
33508 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33509
dc20b0f9 335102008-06-07 Pavel Roskin <proski@gnu.org>
33511
33512 * util/biosdisk.c (open_device): Revert last change to the
33513 function, it broke installation. The sector needs to be
33514 different dependent on which device is opened.
33515
c5e3cfba 335162008-06-06 Robert Millan <rmh@aybabtu.com>
33517
33518 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33519 rest of GRUB, and breakage doesn't happen if its value were modified.
33520
33521 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33522 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33523 a constant (same value).
33524 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33525 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33526
26a1f8c4 335272008-06-06 Robert Millan <rmh@aybabtu.com>
33528
33529 * util/biosdisk.c (open_device): Do not modify sector offset when
33530 accessing a partition. kern/disk.c already handles this for us.
33531
25d6b327 335322008-06-06 Robert Millan <rmh@aybabtu.com>
33533
33534 * util/grub-emu.c (grub_machine_init): Move code in this function from
33535 here ...
33536 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33537 segfault in case grub_printf() is called).
33538
33539 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33540 grub_probe. Update all users not to explicitly add it again.
33541 (grub_device): New variable; contains corresponding device for grubdir.
33542 (fs_module, partmap_module, devabstraction_module): Pass
33543 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33544 every time.
33545
9ece62fb 335462008-06-05 Robert Millan <rmh@aybabtu.com>
33547
33548 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33549 is found, print it (same layout as with labels).
33550
1ad36d37 335512008-06-04 Robert Millan <rmh@aybabtu.com>
33552
33553 * util/biosdisk.c (get_drive): Rename to ...
33554 (find_grub_drive): ... this. Update all users.
33555
33556 (get_os_disk): Rename to ...
33557 (convert_system_partition_to_system_disk): ... this. Update all users.
33558
33559 (find_drive): Rename to ...
33560 (find_system_device): ... this. Update all users.
33561
e6a30859 335622008-06-04 Robert Millan <rmh@aybabtu.com>
33563
33564 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33565 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33566 (make_device_map): Likewise.
33567
00c108a4 335682008-06-01 Robert Millan <rmh@aybabtu.com>
33569
33570 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33571 before dereferencing it.
33572
33573 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33574 union with fat12/fat16-specific ones. Add some new fields, including
33575 `num_serial' for both versions.
33576 (struct grub_fat_data): Add `uuid' member.
33577 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33578 names. Initialize `data->uuid' using `num_serial'.
33579 (grub_fat_uuid): New function.
33580 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33581
33582 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33583 (grub_reiserfs_uuid): New function.
33584 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33585 member.
33586
33587 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33588 (grub_xfs_uuid): New function.
33589 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33590
1385c5bb 335912008-06-01 Robert Millan <rmh@aybabtu.com>
33592
33593 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33594 code that is backward compatible with pre-uuid search command.
33595
c682dfd7 335962008-05-31 Robert Millan <rmh@aybabtu.com>
33597
33598 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33599 floppies after everything else, to ensure floppy drive isn't accessed
33600 unnecessarily (patch from Bean).
33601
b7db5d47 336022008-05-31 Robert Millan <rmh@aybabtu.com>
33603
33604 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33605 not print device names when we were asked to set a variable.
33606
6e037aa9 336072008-05-31 Robert Millan <rmh@aybabtu.com>
33608
33609 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33610 using "cursor-on" and "cursor-off" commands (understood at least by
33611 the Open Firmware flavour on OLPC).
33612
41305bc8 336132008-05-31 Michael Gorven <michael@gorven.za.net>
33614
33615 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33616 on and off sequences.
33617
69ba137e 336182008-05-31 Robert Millan <rmh@aybabtu.com>
33619
33620 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33621 * util/update-grub.in: Likewise.
33622
520ae21b 336232008-05-30 Pavel Roskin <proski@gnu.org>
33624
33625 * util/biosdisk.c (linux_find_partition): Simplify logic and
33626 make the code more universal. Keep special processing for
33627 devfs, but use a simple rule for all other devices. If the
33628 device ends with a number, append 'p' and the partition number.
33629 Otherwise, append only the partition number.
33630
5786569b 336312008-05-30 Robert Millan <rmh@aybabtu.com>
33632
33633 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33634 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33635 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33636 the `root' parameter to Linux.
33637
51500452 336382008-05-30 Robert Millan <rmh@aybabtu.com>
33639
33640 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33641 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33642 --fs_uuid with --fs-uuid.
33643 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33644 all filesystems support them).
33645
811d3878 336462008-05-30 Robert Millan <rmh@aybabtu.com>
33647
33648 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33649 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33650
cab63c95 336512008-05-30 Robert Millan <rmh@aybabtu.com>
33652
33653 * util/grub.d/00_header.in: Remove obsolete comment referencing
33654 convert_system_path_to_grub_path().
33655 * util/update-grub.in: Likewise.
33656 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33657 (convert_system_path_to_grub_path): Add a warning message explaining
33658 that this function is deprecated. Rely on is_path_readable_by_grub()
33659 for the readability checks.
33660 (font_path): Use is_path_readable_by_grub() for the readability
33661 check rather than convert_system_path_to_grub_path().
33662
972e2f7a 336632008-05-30 Robert Millan <rmh@aybabtu.com>
33664
33665 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33666 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33667 converting it first.
33668 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33669 grub.cfg for access to font file, and afterwards call it again to set
33670 the root device.
33671
62191274 336722008-05-30 Robert Millan <rmh@aybabtu.com>
33673
33674 * commands/search.c (options): Add --fs_uuid option.
33675 (search_fs_uuid): New function.
33676 (grub_cmd_search): Fix --set argument passing.
33677 Use search_fs_uuid() when requested via --fs_uuid.
33678 (grub_search_init): Update help message.
33679 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33680 and redeclare it as an array of 16-bit words.
33681 (grub_ext2_uuid): New function.
33682 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33683 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33684 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33685 (GRUB_DEVICE_BOOT_UUID): New variables.
33686 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33687 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33688 whenever possible.
33689 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33690 just assume `root' variable has the right value.
33691 * util/grub.d/10_linux.in: Likewise.
33692 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33693 via PRINT_FS_UUID.
33694 (main): Recognise `-t fs_uuid' argument.
33695
01b73ec8 336962008-05-30 Robert Millan <rmh@aybabtu.com>
33697
33698 * util/biosdisk.c (map): Redefine structure to hold information
33699 about GRUB drive name.
fe6b695a 33700 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33701 drive names.
33702 (call_hook): Remove.
33703 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33704 member. Assume drive has partitions.
33705 (grub_util_biosdisk_open): Access device names via `.device' struct
33706 member.
33707 (open_device): Likewise.
33708 (find_drive): Likewise.
33709 (read_device_map): Adjust map[] usage to match the new struct
33710 definition. Don't check for duplicates (still possible, but not cheap
33711 anymore).
33712 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33713 (make_device_name): Remove assumption of BIOS-like drive names.
33714
22f16596 337152008-05-30 Pavel Roskin <proski@gnu.org>
33716
33717 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33718 compiling execute.c doesn't need grub_script.tab.h anymore.
33719 (normal/command.c_DEPENDENCIES): Likewise.
33720 (normal/function.c_DEPENDENCIES): Likewise.
33721 * conf/i386-ieee1275.rmk: Likewise.
33722 * conf/i386-linuxbios.rmk: Likewise.
33723 * conf/i386-pc.rmk: Likewise.
33724 * conf/powerpc-ieee1275.rmk: Likewise.
33725 * conf/sparc64-ieee1275.rmk: Likewise.
33726
528ad8f2 337272008-05-29 Pavel Roskin <proski@gnu.org>
33728
d1dff95d 33729 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33730 when scanning metadata for volume group name.
33731
528ad8f2 33732 * include/grub/script.h: Don't include grub_script.tab.h. It's
33733 a generated file, which may only be included from the files with
33734 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33735 use union YYSTYPE, as the later allows forward declaration.
33736 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33737
47248e08 337382008-05-29 Robert Millan <rmh@aybabtu.com>
33739
33740 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33741 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33742 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33743 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33744 scan codes.
33745
ee632529 337462008-05-29 Robert Millan <rmh@aybabtu.com>
33747
33748 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33749 control key combinations.
33750
eee96e08 337512008-05-29 Robert Millan <rmh@aybabtu.com>
33752
33753 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33754 * util/ieee1275/grub-install.in: ... to here.
33755 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33756 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33757 (grub_install_SOURCES): Likewise.
33758
da9a6a94 337592008-05-29 Robert Millan <rmh@aybabtu.com>
33760
33761 * fs/affs.c: Update copyright year.
33762 * fs/ext2.c: Likewise.
33763 * fs/fshelp.c: Likewise.
33764 * fs/hfsplus.c: Likewise.
33765 * fs/ntfs.c: Likewise.
33766 * fs/xfs.c: Likewise.
33767 * include/grub/fshelp.h: Likewise.
33768 * util/grub-mkdevicemap.c: Likewise.
33769
12e65f3a 337702008-05-28 Robert Millan <rmh@aybabtu.com>
33771
33772 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33773 might need to be fatfs to support some firmware implementations
33774 (e.g. OFW or EFI).
33775
23023641 337762008-05-28 Robert Millan <rmh@aybabtu.com>
33777
33778 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33779 devices.
33780 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33781 (make_device_map): Likewise.
33782
887d2619 337832008-05-20 Bean <bean123ch@gmail.com>
33784
33785 * fs/fshelp.c (grub_fshelp_map_block): New function.
33786 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33787 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33788
33789 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33790 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33791 (grub_fshelp_journal): New structure.
33792 (grub_fshelp_map_block): New function prototype.
33793 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33794 (grub_fshelp_map_block): Likewise.
33795
33796 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33797 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33798 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33799 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33800 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33801 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33802 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33803 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33804 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33805 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33806 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33807 (grub_ext2_sblock): New members for journal support.
33808 (grub_ext3_journal_header): New structure.
33809 (grub_ext3_journal_revoke_header): Likewise.
33810 (grub_ext3_journal_block_tag): Likewise.
33811 (grub_ext3_journal_sblock): Likewise.
33812 (grub_fshelp_node): New members logfile and journal.
33813 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33814 grub_fshelp_map_block to get real block number.
33815 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33816 number.
33817 (grub_ext2_read_inode): Likewise.
33818 (grub_ext3_get_journal): New function.
33819 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33820 (grub_ext2_close): Release memory used by journal.
33821
33822 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33823 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33824 (grub_reiserfs_transaction_header): Renamed to
33825 grub_reiserfs_description_block, replace field data with real_blocks.
33826 (grub_reiserfs_commit_block): New structure.
33827 (grub_reiserfs_data): New member journal.
33828 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33829 number.
33830 (grub_reiserfs_read_symlink): Likewise.
33831 (grub_reiserfs_iterate_dir): Likewise.
33832 (grub_reiserfs_open): Likewise.
33833 (grub_reiserfs_read): Likewise.
33834 (grub_reiserfs_get_journal): New function.
33835 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33836 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33837 using grub_reiserfs_get_journal.
33838 (grub_reiserfs_close): Release memory used by journal.
33839
33840 * fs/affs.c (grub_affs_read_block): Change block type to
33841 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33842
33843 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33844
33845 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33846
33847 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33848
33849 * fs/udf.c (grub_udf_read_block): Change block type to
33850 grub_disk_addr_t. Use type cast to avoid warning.
33851
33852 * fs/xfs.c (grub_xfs_read_block): Likewise.
33853
b7c6bed5 338542008-05-16 Christian Franke <franke@computer.org>
33855
33856 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33857 to ensure that break with ESC will always work.
33858 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33859 Remove ESC from keyboard queue.
33860
eedf167f 338612008-05-16 Christian Franke <franke@computer.org>
33862
33863 * util/biosdisk.c: [__CYGWIN__] Add includes.
33864 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33865 (get_os_disk): Move variable declarations to OS specific
33866 parts to avoid warning.
33867 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33868 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33869 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33870 Cygwin.
33871 * util/getroot.c: [__CYGWIN__] Add includes.
33872 (strip_extra_slashes): Fix "/" case.
33873 [__CYGWIN__] (get_win32_path): New function.
33874 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33875 [__CYGWIN__] (find_root_device): Disable.
33876 [__CYGWIN__] (get_bootsec_serial): New function.
33877 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33878 [__linux__] (grub_guess_root_device): Add early returns to simplify
33879 structure.
33880 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33881 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33882 check for Linux only.
33883
a079699e 338842008-05-15 Bean <bean123ch@gmail.com>
33885
33886 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33887 keyboard hang problem in apple's intel mac.
33888
1cf4059a 338892008-05-09 Robert Millan <rmh@aybabtu.com>
33890
33891 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33892 devices.
33893 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33894 (make_device_map): Likewise.
33895 Reported by Aurelien Jarno <aurel32@debian.org>
33896
ed759390 338972008-05-07 Ian Campbell <ijc@hellion.org.uk>
33898
33899 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33900 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33901 (make_device_map): Output entries for xvd type disks.
33902
b56c4eaa 339032008-05-07 Robert Millan <rmh@aybabtu.com>
33904
33905 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33906 devices.
33907 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33908 (make_device_map): Likewise.
33909 Reported by Roland Dreier <rdreier@cisco.com>
33910
7f8866ed 339112008-05-07 Robert Millan <rmh@aybabtu.com>
33912
33913 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33914 grub_strstr() call. Correct a few mistakes in failure path handling.
33915
b0346e0f 339162008-05-06 Robert Millan <rmh@aybabtu.com>
33917
33918 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33919 Do not print a trailing slash (therefore, the root directory is an
33920 empty string).
33921 (convert_system_path_to_grub_path): Do not remove trailing slash
33922 from make_system_path_relative_to_its_root() output.
33923
33924 * util/i386/pc/grub-install.in: Add trailing slash to output from
33925 make_system_path_relative_to_its_root().
33926
6cf12cbd 339272008-05-06 Robert Millan <rmh@aybabtu.com>
33928
33929 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33930 ensures that output lines aren't intermangled with those sent to
33931 stderr (via grub_util_info()).
33932 * util/grub-probe.c (grub_refresh): Likewise.
33933 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33934
0fbb3117 339352008-05-05 Christian Franke <franke@computer.org>
33936
33937 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33938 Add Cygwin device names.
33939 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33940 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33941 (check_device): Return error instead of success on empty name.
33942 (make_device_map): Move label inside linux specific code to
33943 prevent compiler warning.
33944
8124cdb7 339452008-04-30 Robert Millan <rmh@aybabtu.com>
33946
33947 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33948 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33949 first boot option.
33950 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33951
094c01d0 339522008-04-29 Robert Millan <rmh@aybabtu.com>
33953
33954 * docs/grub.cfg: New file (example GRUB configuration).
33955
f4b1fc02 339562008-04-26 Robert Millan <rmh@aybabtu.com>
33957
329ce2a5 33958 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33959 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33960 and `disk/ieee1275/nand.c'.
f4b1fc02 33961
25f16ec1 339622008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33963
25f16ec1 33964 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33965 i386-linuxbios.
33966
33967 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33968 change the buffer size to 4096 for cdrom device.
33969
33970 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33971 and nand.mod.
33972 (_linux_mod_SOURCES): New variable.
33973 (_linux_mod_CFLAGS): Likewise.
33974 (_linux_mod_LDFLAGS): Likewise.
33975 (linux_mod_SOURCES): Likewise.
33976 (linux_mod_CFLAGS): Likewise.
33977 (linux_mod_LDFLAGS): Likewise.
33978 (nand_mod_SOURCES): Likewise.
33979 (nand_mod_CFLAGS): Likewise.
33980 (nand_mod_LDFLAGS): Likewise.
33981
33982 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33983 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33984 type property. (nand device in olpc don't have this property)
33985
33986 * include/grub/disk.h (grub_disk_dev_id): New macro
33987 GRUB_DISK_DEVICE_NAND_ID.
33988
33989 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33990 function prototype.
33991 (grub_rescue_cmd_initrd): Likewise.
33992
33993 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33994 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33995 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33996
25f16ec1 33997 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33998 GRUB_MACHINE_IEEE1275 is defined.
33999
34000 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34001 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34002
34003 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34004 on nested function heap_init.
34005 (grub_upper_mem): New variable for i386-ieee1275.
34006 (grub_get_extended_memory): New function for i386-ieee1275.
34007 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34008
34009 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34010 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34011 property.
f19dbdb7 34012
25f16ec1 34013 * loader/i386/ieee1275/linux.c: New file.
34014
34015 * loader/i386/ieee1275/linux_normal.c: New file.
34016
34017 * disk/ieee1275/nand.c: New file.
34018
e89d61e9 340192008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34020
34021 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34022 value.
34023 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34024
602566f6 340252008-04-18 Robert Millan <rmh@aybabtu.com>
34026
34027 Restructures early code path on ieee1275 to unify grub_main() as
34028 the first C function that is executed in every platform.
34029
34030 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34031 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34032 cmain().
34033 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34034 * kern/ieee1275/cmain.c (cmain): Rename to ...
34035 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34036 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34037 at the beginning.
34038
57490c2b 340392008-04-18 Robert Millan <rmh@aybabtu.com>
34040
34041 * util/update-grub.in: Fix syntax error when setting
34042 `GRUB_PRELOAD_MODULES'.
34043 Reported by Stephane Chazelas <stephane@artesyncp.com>
34044
1977517d 340452008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34046
34047 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34048 section into account, newer toolchains generate unique build ids
34049 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34050 we want build ids to be preserved
1977517d 34051 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34052 far from other sections don't cause the raw binary images grow
34053 size
34054
bfb1f1a2 340552008-04-15 Robert Millan <rmh@aybabtu.com>
34056
34057 * disk/lvm.c: Update copyright year.
34058 * kern/misc.c: Likewise.
34059
01979850 340602008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34061
34062 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34063 there is no memory left for physical volume name.
01979850 34064
0a1150e2 340652008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34066
34067 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34068 volume name mapping to support bigger than 9 character names properly.
34069
82ead3fe 340702008-04-13 Robert Millan <rmh@aybabtu.com>
34071
34072 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34073 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34074
e54a72f5 340752008-04-13 Christian Franke <franke@computer.org>
34076
34077 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34078 to create a floppy emulation boot CD when non emulation mode
34079 does not work.
34080 Enable Joliet CD filesystem extension.
34081
9fe86034 340822008-04-13 Robert Millan <rmh@aybabtu.com>
34083
34084 * kern/misc.c (grub_strncat): Fix off-by-one error.
34085 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34086
34087 * kern/env.c (grub_env_context_close): Clear current context, not
34088 previous one.
34089 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34090
34091 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34092
7ceeee39 340932008-04-13 Robert Millan <rmh@aybabtu.com>
34094
34095 Improve robustness when handling LVM.
34096
34097 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34098 (and leave `*p' unmodified).
7ceeee39 34099 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34100 through it.
34101 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34102 iterating through it.
34103 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34104 through it.
fe6b695a 34105 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34106 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34107 Don't assume `vg->pvs != NULL' when iterating through it.
34108
58cd3d85 341092008-04-13 Robert Millan <rmh@aybabtu.com>
34110
34111 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34112 * genmk.rb (partmap): New variable.
34113 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34114 (#{partmap}): New target rule.
34115 * genpartmaplist.sh: New file.
34116 * Makefile.in (pkglib_DATA): Add partmap.lst.
34117 (partmap.lst): New target rule.
34118 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34119 modules (including all partition maps), instead of preloading them.
34120
78b51059 341212007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34122
34123 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34124 `linux-boot-prober' (if installed) to detect other operating
34125 systems which are installed on the computer and add them to
34126 the boot menu.
34127 * conf/common.rmk: Build and install 30_os-prober.
34128
a91627b4 341292008-04-12 Robert Millan <rmh@aybabtu.com>
34130
34131 * kern/powerpc/ieee1275/init.c: Move from here ...
34132 * kern/ieee1275/init.c: ... to here. Update all users.
34133
34134 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34135 * kern/ieee1275/cmain.c: ... to here. Update all users.
34136
34137 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34138 * kern/ieee1275/openfw.c: ... to here. Update all users.
34139
34140 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34141 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34142
322562ea 341432008-04-10 Pavel Roskin <proski@gnu.org>
34144
34145 * configure.ac: Always use "_cv_" in cache variables for
34146 compatibility with Autoconf 2.62.
34147
a02a73c5 341482008-04-07 Robert Millan <rmh@aybabtu.com>
34149
34150 Revert grub/machine/init.h addition by Pavel (since it breaks on
34151 i386-ieee1275 and others):
34152 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34153 * util/powerpc/ieee1275/misc.c: Likewise.
34154
25c024b1 341552008-04-07 Robert Millan <rmh@aybabtu.com>
34156
34157 * util/grub-probe.c (probe): Improve error message.
34158
3cbd2f98 341592008-04-07 Robert Millan <rmh@aybabtu.com>
34160
34161 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34162 (this prevents the presence of a bogus entry from ruining the whole
34163 thing).
34164
87a297bf 341652008-04-06 Pavel Roskin <proski@gnu.org>
34166
36747a62 34167 * util/biosdisk.c: Include grub/util/biosdisk.h.
34168 * util/grub-fstest.c (execute_command): Make static.
34169 * util/grub-mkdevicemap.c (check_device): Likewise.
34170 * util/i386/pc/misc.c: Include grub/machine/init.h.
34171 * util/powerpc/ieee1275/misc.c: Likewise.
34172 * util/lvm.c: Include grub/util/lvm.h.
34173 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34174 grub/cache.h.
34175 * util/raid.c: Include grub/util/raid.h.
34176 (grub_util_getdiskname): Make static.
34177
87a297bf 34178 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34179 grub_hostfs_fini(), as they are called from grub_init_all() and
34180 grub_fini_all() respectively. This fixes an infinite loop in
34181 grub-fstest due to double registration of hostfs.
34182 Reported by Christian Franke <Christian.Franke@t-online.de>
34183
f6ce7629 341842008-04-05 Pavel Roskin <proski@gnu.org>
34185
34186 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34187 all 8 functions. Otherwise, probe function 0 only.
34188
070e49e4 341892008-04-04 Pavel Roskin <proski@gnu.org>
34190
8b088a4c 34191 * commands/lspci.c (grub_lspci_iter): Print the bus number
34192 correctly.
34193
4f657021 34194 * commands/lspci.c (grub_pci_classes): Fix typos.
34195 (grub_lspci_iter): Don't print func twice. Print vendor ID
34196 before device ID, as it's normally done.
34197
070e49e4 34198 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34199 Fix signedness warnings.
34200 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34201 Likewise.
34202 * util/ieee1275/get_disk_name.c: Include config.h so that
34203 _GNU_SOURCE is defined and getline() is declared. Mark an
34204 unused argument as such. Fix a signedness warning.
34205
ba7328dc 342062008-04-02 Pavel Roskin <proski@gnu.org>
34207
26887f22 34208 * genkernsyms.sh.in: Use more robust assignments for CC and
34209 srcdir. Quote srcdir.
34210 * gensymlist.sh.in: Likewise. Assert at the compile time that
34211 the symbol table is not empty.
34212
ba7328dc 34213 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34214 * fs/cpio.c (grub_cpio_read): Likewise.
34215
0f582c6b 342162008-04-01 Pavel Roskin <proski@gnu.org>
34217
4b6e1995 34218 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34219 * disk/host.c (grub_host_open): Likewise.
34220 * disk/loopback.c (grub_loopback_open): Likewise.
34221 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34222 disk->id as in disk/host.c, not a multi-character constant.
34223
828a2768 34224 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34225 later is obsolete, potentially dangerous and sets a bad example.
34226 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34227 * util/misc.c (grub_util_get_image_size): Likewise.
34228
2bb4fb47 34229 * disk/loopback.c (options): Improve help for "--partitions".
34230
0f582c6b 34231 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34232 options to align them with the short options, e.g. "echo -e".
34233
a33224e0 342342008-03-31 Bean <bean123ch@gmail.com>
34235
34236 * video/reader/png.c (grub_png_data): New member is_16bit and
34237 image_data.
34238 (grub_png_decode_image_header): Detect 16 bit png image.
34239 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34240 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34241 (grub_video_reader_png): Release memory occupied by image_data.
34242
34243 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34244 4096 bytes.
34245 (grub_nfs_mount): Skip the test for sector per cluster.
34246
34247 * include/grub/ntfs.h (MAX_SPC): Removed.
34248
86cb4f54 342492008-03-31 Bean <bean123ch@gmail.com>
34250
34251 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34252 (grub_probe_SOURCES): Add fs/afs.c.
34253 (grub_fstest_SOURCES): Likewise.
34254 (afs_mod_SOURCES): New variable.
34255 (afs_mod_CFLAGS): Likewise.
34256 (afs_mod_LDFLAGS): Likewise.
34257
34258 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34259 (grub_emu_SOURCES): Likewise.
34260
34261 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34262
34263 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34264
34265 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34266
34267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34268
34269 * fs/afs.c: New file.
34270
17c74c21 342712008-03-30 Pavel Roskin <proski@gnu.org>
34272
4cb68e89 34273 * disk/host.c: Include grub/misc.h to fix a warning.
34274 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34275 warnings about implicit declarations.
34276
8790bb04 34277 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34278 variable.
34279 * include/grub/i386/loader.h: Change declaration of
34280 grub_linux_boot() to match what grub_loader_set() expects.
34281 * util/getroot.c (grub_guess_root_device): Return const char* to
34282 fix a warning.
34283 * util/grub-probe.c (probe): Fix a warning about uninitialized
34284 abstraction_name variable.
34285 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34286 second argument as unused to fix a warning.
34287
9a3f3296 34288 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34289 missing grub_error() call.
34290
0ecef90d 34291 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34292 2.60 and newer uses it to define datadir.
34293
0bf6d401 34294 * commands/sleep.c: Fix warning about implicit declaration.
34295 * disk/memdisk.c: Likewise.
34296 * loader/aout.c: Likewise.
34297 * loader/i386/bsd_normal.c: Likewise.
34298 * util/grub-probe.c: Likewise.
34299
7cdacf97 34300 * commands/i386/cpuid.c (has_longmode): Make static.
34301 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34302 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34303
17c74c21 34304 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34305 GDT. This is more robust, as %ds can change.
34306 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34307 calling real_to_prot().
34308 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34309
80a3e68b 343102008-03-28 Pavel Roskin <proski@gnu.org>
34311
34312 * kern/i386/pc/startup.S: Assert that uncompressed functions
34313 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34314 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34315 code, as they push parts of the code (error handlers) beyond
34316 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34317 code as correctness and size.
34318
77bcd272 343192008-03-28 Pavel Roskin <proski@gnu.org>
34320
34321 * kern/i386/pc/startup.S
34322 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34323 data block address to the real mode, keep offset minimal. This
34324 works around a bug in AWARD BIOS on old Athlon systems, which
34325 makes CD detection hang.
34326
c5dfd43b 343272008-03-26 Pavel Roskin <proski@gnu.org>
34328
34329 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34330 const.
34331 * include/grub/normal.h: Add grub_parse_color_name_pair()
34332 declaration.
34333
bf962df2 343342008-03-24 Bean <bean123ch@gmail.com>
34335
34336 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34337 (cd_count): Removed.
34338 (cd_drive): New variable.
34339 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34340 (grub_biosdisk_call_hook): Likewise.
34341 (grub_biosdisk_iterate): Change cdrom detection method.
34342 (grub_biosdisk_open): Replace cd_start with cd_drive.
34343 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34344 detect cdrom device.
34345
34346 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34347 Removed.
34348 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34349 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34350 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34351 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34352 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34353 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34354 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34355 (grub_biosdisk_cdrp): New structure.
34356 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34357
34358 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34359
34360 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34361 device.
34362
34363 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34364 New function.
34365
68e7fc7a 343662008-03-20 Robert Millan <rmh@aybabtu.com>
34367
34368 Remove 2 TiB limit in ata.mod.
34369 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34370 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34371 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34372 grub_uint64_t instead of grub_uint32_t.
34373
38ad2cf5 343742008-03-05 Bean <bean123ch@gmail.com>
34375
34376 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34377 (grub_multiboot): Set boot device.
34378
34379 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34380
2b89344e 343812008-03-02 Bean <bean123ch@gmail.com>
34382
34383 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34384 symlink_buffer.
34385
87a95d1f 343862008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34387
34388 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34389 texinfo.tex.
34390
34391 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34392 modified.
34393
34394 * docs/fdl.texi: New file.
f19dbdb7 34395
87a95d1f 34396 * docs/mdate-sh: New file. Copied from gnulib.
34397 * docs/texinfo.tex: Likewise.
34398
34399 * config.guess: Updated from gnulib.
34400 * install-sh: Likewise.
34401
7dc15d8e 344022008-02-28 Robert Millan <rmh@aybabtu.com>
34403
34404 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34405 (aout_mod_SOURCES): New variable.
34406 (aout_mod_CFLAGS): Likewise.
34407 (aout_mod_LDFLAGS): Likewise.
34408
34409 * conf/i386-ieee1275.rmk: Likewise.
34410
b00ab696 344112008-02-28 Robert Millan <rmh@aybabtu.com>
34412
34413 * util/update-grub.in: Reorganise terminal validity check. Accept
34414 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34415 Based on suggestion by Franklin PIAT.
34416
79ca2d78 344172008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34418
34419 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34420 function.
34421 * util/getroot.c (grub_util_check_block_device): New function that
34422 returns the given argument if it is a block device and returns NULL else.
34423 * util/grub-probe.c (argument_is_device): New variable.
34424 (probe): Promote device_name from a variable to an argument. Receive
34425 device_name from grub_util_check_block_device() if path is NULL and from
34426 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34427 (options): Introduce new parameter '-d, --device'.
79ca2d78 34428 (main): Add description of the new parameter to the help screen.
34429 Rename path variable to argument. Set argument_is_device if the '-d'
34430 option is given. Pass argument to probe() depending on
34431 argument_is_device.
34432
0d16e571 344332008-02-24 Bean <bean123ch@gmail.com>
34434
34435 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34436 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34437 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34438 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34439 (GRUB_ISO9660_VOLDESC_END): Likewise.
34440 (grub_iso9660_primary_voldesc): New member escape.
34441 (grub_iso9660_data): New member joliet.
34442 (grub_iso9660_convert_string): New function.
34443 (grub_iso9660_mount): Detect joliet extension.
34444 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34445 (grub_iso9660_iso9660_label): Likewise.
34446
34447 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34448 (grub_setup_SOURCES): Add fs/udf.c.
34449 (grub_fstest_SOURCES): Likewise.
34450 (udf_mod_SOURCES): New variable.
34451 (udf_mod_CFLAGS): Likewise.
34452 (udf_mod_LDFLAGS): Likewise.
34453
34454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34455 (grub_emu_SOURCES): Likewise.
34456
34457 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34458
34459 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34460
34461 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34462
34463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34464
34465 * fs/udf.c: New file.
34466
8a594a17 344672008-02-24 Robert Millan <rmh@aybabtu.com>
34468
34469 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34470 (normal/lexer.c_DEPENDENCIES): New variables.
34471 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34472 (normal/lexer.c_DEPENDENCIES): Likewise.
34473 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34474 (normal/lexer.c_DEPENDENCIES): Likewise.
34475 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34476 (normal/lexer.c_DEPENDENCIES): Likewise.
34477 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34478 (normal/lexer.c_DEPENDENCIES): Likewise.
34479 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34480 (normal/lexer.c_DEPENDENCIES): Likewise.
34481
2dc33c03 344822008-02-23 Robert Millan <rmh@aybabtu.com>
34483
34484 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34485 since they were intended to be in hex. This didn't break previously
34486 because of a bug in gpt_partition_map_iterate() (see below).
34487
34488 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34489 when checking the validity of GPT header.
34490 Remove `partno', since it always provides the same information as `i'.
34491
f6f4cfb0 344922008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34493
34494 * include/grub/efi/time.h: Fix a wrong comment.
34495
79ff665f 344962008-02-19 Pavel Roskin <proski@gnu.org>
34497
34498 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34499 message.
34500
d38e24c2 345012008-02-19 Bean <bean123ch@gmail.com>
34502
34503 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34504 (aout_mod_SOURCES): New variable.
34505 (aout_mod_CFLAGS): Likewise.
34506 (aout_mod_LDFLAGS): Likewise.
34507 (_bsd_mod_SOURCES): New variable.
34508 (_bsd_mod_CFLAGS): Likewise.
34509 (_bsd_mod_LDFLAGS): Likewise.
34510 (bsd_mod_SOURCES): New variable.
34511 (bsd_mod_CFLAGS): Likewise.
34512 (bsd_mod_LDFLAGS): Likewise.
34513
34514 * include/grub/aout.h: New file.
34515
34516 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34517
34518 * include/grub/i386/bsd.h: New file.
34519
34520 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34521 to make it public.
34522
34523 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34524 function is called, so that it's possible to change it inside the hook.
34525 (grub_elf64_load): Likewise.
34526 (grub_elf_file): Don't close the file if elf header is not found.
34527 (grub_elf_close): Close the file if grub_elf_file fails (The new
34528 grub_elf_file won't close it).
34529 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34530 (grub_elf64_size): Likewise.
34531
34532 * kern/i386/loader.S (grub_unix_real_boot): New function.
34533
34534 * loader/aout.c: New file.
34535
34536 * loader/i386/bsd.c: New file.
34537
34538 * loader/i386/bsd_normal.c: New file.
34539
34540 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34541
34542 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34543 can test other formats.
d38e24c2 34544
b93bdb0f 345452008-02-19 Robert Millan <rmh@aybabtu.com>
34546
34547 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34548 (grub_gpt_partition_type_empty): Redefine with macro from
34549 `<grub/gpt_partition.h>'.
34550 (gpt_partition_map_iterate): Adjust partition type comparison.
34551
34552 Export `entry' as partmap-specific `part.data' struct.
34553 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34554
34555 * include/grub/gpt_partition.h (grub_gpt_header)
34556 (grub_gpt_partentry): ... to here (new file).
34557
34558 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34559
34560 (grub_gpt_partition_type_bios_boot): New const variable, defined
34561 with macro from `<grub/gpt_partition.h>'.
34562
34563 (setup): Replace `first_start' with `embed_region', which keeps
34564 track of the embed region (and is partmap-agnostic).
34565
34566 Replace find_first_partition_start() with find_usable_region(),
34567 which finds a usable region for embedding using partmap-specific
34568 knowledge (supports PC/MSDOS and GPT).
34569
34570 Fix all assumptions that the embed region start at sector 1, using
34571 `embed_region.start' from now on. Similarly, use `embed_region.end'
34572 rather than `first_start' to calculate available size.
34573
34574 In grub_util_info() message, replace "into after the MBR" with an
34575 indication of the specific sector our embed region starts at.
34576
66cb40f6 345772008-02-19 Robert Millan <rmh@aybabtu.com>
34578
34579 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34580 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34581 `commands/reboot.c'.
34582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34583 (halt_mod_SOURCES): Likewise.
34584 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34585 (halt_mod_SOURCES): Likewise.
34586
b7202015 345872008-02-17 Christian Franke <franke@computer.org>
34588
34589 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34590
32b0fc49 345912008-02-17 Robert Millan <rmh@aybabtu.com>
34592
34593 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34594 set `first_start' to 0 for non-PC/MSDOS partition maps.
34595
aca63502 345962008-02-16 Robert Millan <rmh@aybabtu.com>
34597
34598 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34599 do not assume partition map is PC/MSDOS before performing checks that
34600 are specific to that layout.
34601
0de8be86 346022008-02-13 Robert Millan <rmh@aybabtu.com>
34603
34604 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34605 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34606 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34607
c3db8364 346082008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34609
34610 * configure.ac: Only a cosmetic change on the handling of
34611 -fno-stack-protector.
34612
f714229e 346132008-02-12 Alexandre Boeglin <alex@boeglin.org>
34614
c3db8364 34615 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34616 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34617 reboot.c.
f714229e 34618 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34619 (halt_mod_SOURCES): New variable.
34620 (halt_mod_CFLAGS): Likewise.
34621 (halt_mod_LDFLAGS): Likewise.
34622 (reboot_mod_SOURCES): Likewise.
34623 (reboot_mod_CFLAGS): Likewise.
34624 (reboot_mod_LDFLAGS): Likewise.
34625
c3db8364 34626 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34627 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34628 reboot.c.
f714229e 34629 (halt_mod_SOURCES): Likewise.
34630 (reboot_mod_SOURCES): Likewise.
34631
c3db8364 34632 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34633 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34634 (reboot_mod_SOURCES): Likewise.
34635
34636 * commands/i386/pc/reboot.c: merge this file ...
34637
34638 * commands/ieee1275/reboot.c: ... and this file ...
34639
34640 * commands/reboot.c: ... to this file.
c3db8364 34641 Add some precompiler directive to include the correct header for
34642 each machine.
f714229e 34643
34644 * commands/ieee1275/halt.c: move this file ...
34645
34646 * commands/halt.c: ... to here.
c3db8364 34647 Add some precompiler directive to include the correct header for
34648 each machine.
f714229e 34649
34650 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34651 (grub_halt): Likewise.
34652
34653 * kern/efi/efi.c (grub_reboot): New function.
34654 (grub_halt): Likewise.
34655
c74493e0 346562008-02-12 Robert Millan <rmh@aybabtu.com>
34657
34658 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34659 /dev (like it is done for /dev/mapper). This doesn't provide support
34660 for EVMS, but at least it is now easy to identify the problem when it
34661 arises.
34662
d0db4b04 346632008-02-11 Robert Millan <rmh@aybabtu.com>
34664
34665 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34666 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34667 comparing it with -1, not 0.
34668
bf748642 346692008-02-10 Robert Millan <rmh@aybabtu.com>
34670
34671 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34672 `disk/lvm.c'.
34673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34674 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34675
34676 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34677 `disk/lvm.c' to the end of the list.
34678 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34679 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34680
b5db202a 346812008-02-10 Robert Millan <rmh@aybabtu.com>
34682
34683 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34684 grub_print_error() instead. This will let user know why we're entering
34685 rescue mode.
34686 Based on suggestions from Sam Morris.
34687
83abee31 346882008-02-10 Alexandre Boeglin <alex@boeglin.org>
34689
34690 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34691 on remaining N args, instead of "--" arg N times.
34692
78d5a08b 346932008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34694
34695 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34696 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34697 pattern for unknown glyphs.
34698
68807e5f 346992008-02-09 Robert Millan <rmh@aybabtu.com>
34700
34701 * configure.ac: Probe for `help2man'.
34702 * Makefile.in (builddir): New variable.
34703 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34704 or otherwise add a few flags/options to it.
34705 (install-local): For every executable utility or script that is
34706 installed, invoke $(HELP2MAN) to install a manpage based on --help
34707 output.
34708
34709 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34710 that it doesn't prevent --help from working in build tree.
34711
34712 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34713 with `bug-grub@gnu.org'.
34714 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34715 * util/update-grub.in (usage): New function.
34716 Implement proper argument check, with support for --help and --version
34717 (as well as existing -y).
34718
347192008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34720
34721 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34722 avoid overwriting previous output.
34723 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34724
c1962162 347252008-02-09 Robert Millan <rmh@aybabtu.com>
34726
34727 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34728 drawing the menu.
34729
3dac2e3f 347302008-02-09 Robert Millan <rmh@aybabtu.com>
34731
34732 * commands/sleep.c: New file.
34733 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34734 (sleep_mod_SOURCES): New variable.
34735 (sleep_mod_CFLAGS): Likewise.
34736 (sleep_mod_LDFLAGS): Likewise.
34737
7a634e08 347382008-02-09 Robert Millan <rmh@aybabtu.com>
34739
34740 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34741 situations in which we can deduce the RAID size and the superblock
34742 doesn't match it.
34743
b92f0c18 347442008-02-09 Robert Millan <rmh@aybabtu.com>
34745
34746 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34747 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34748 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34749
34750 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34751 and return a grub_diskmemberlist_t composed of physical array members.
34752 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34753
34754 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34755 prototype.
34756 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34757 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34758 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34759
34760 * util/grub-probe.c (probe): Move partmap probing code from here ...
34761 (probe_partmap): ... to here.
34762 (probe): Use probe_partmap() once for the disk we're probing, and
34763 additionally, when such disk contains a memberlist() struct member,
34764 once for each disk that is contained in the structure returned by
34765 memberlist().
34766
91a4bf68 347672008-02-09 Robert Millan <rmh@aybabtu.com>
34768
34769 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34770 environment variable to 'all' in order to obtain debug output from
34771 non-util/ code.
34772 * util/i386/pc/grub-setup.c (main): Likewise.
34773
a96f9caa 347742008-02-08 Robert Millan <rmh@aybabtu.com>
34775
34776 * disk/raid.c (grub_raid_scan_device): Check for
34777 `array->device[sb.this_disk.number]' rather than for
34778 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34779 guaranteed to be accessible.
a96f9caa 34780
b37a9222 347812008-02-08 Robert Millan <rmh@aybabtu.com>
34782
34783 * disk/raid.c: Update copyright.
34784 * fs/cpio.c: Likewise.
34785 * include/grub/raid.h: Likewise.
34786 * loader/i386/pc/multiboot.c: Likewise.
34787 * util/hostfs.c: Likewise.
34788
5626aee1 347892008-02-08 Robert Millan <rmh@aybabtu.com>
34790
34791 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34792 to a grub_disk_t array.
34793 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34794 `device[x]'.
34795 (grub_raid_scan_device): Replace `device[x].name' accesses with
34796 `device[x]->name'. Simplify initialization of `array->device[x]'.
34797
554f0187 347982008-02-08 Robert Millan <rmh@aybabtu.com>
34799
34800 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34801 grub_dprintf() calls.
34802 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34803 error message.
34804
1ec8425d 348052008-02-07 Christian Franke <franke@computer.org>
34806
34807 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34808 instead of fseek and ftell to support large files.
34809 (grub_hostfs_read): Likewise.
34810
f2156fda 348112008-02-07 Robert Millan <rmh@aybabtu.com>
34812
34813 Patch from Jeroen Dekkers.
34814 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34815 failure, since successfully reading all array members might not be
f2156fda 34816 required.
34817
9216e0e7 348182008-02-06 Robert Millan <rmh@aybabtu.com>
34819
34820 * util/grub-probe.c (probe): Simplify partmap probing (with the
34821 assumption that the first word up to the underscore equals to
34822 the module name).
34823
b0dfd29a 348242008-02-06 Christian Franke <franke@computer.org>
34825
34826 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34827 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34828 last block of a cpio or tar stream.
34829 Check for "TRAILER!!!" instead of any empty data
34830 block to detect last block of a cpio stream.
34831 (grub_cpio_dir): Fix constness of variable np.
34832 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34833 cpio or tar trailer is detected. This fixes a crash
34834 on open of a non existing file.
34835
c32865bf 348362008-02-05 Bean <bean123ch@gmail.com>
34837
34838 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34839 address of entry.
34840 (grub_multiboot_load_elf64): Likewise.
34841 (grub_multiboot): Initialize mbi structure.
34842
34843 * util/grub-fstest.c: Don't include unused header file script.h.
34844
fe6b695a 34845 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34846 of file.
34847 (grub_fstest_SOURCES): Likewise.
34848
409480b7 348492008-02-05 Robert Millan <rmh@aybabtu.com>
34850
34851 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34852 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34853 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34854 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34855
34856 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34857 (translation_table): Replace hardcoded values with macros
34858 provided by `<grub/term.h>'.
34859
34860 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34861 (keyboard_map): Correct/add a few values, with macros provided
34862 by `<grub/term.h>'.
34863 (keyboard_map_shift): Zero values that don't differ from their
34864 `keyboard_map' equivalents.
34865 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34866 Discard the second scan code that is always sent by Caps lock.
34867 Only use `keyboard_map_shift' when it provides a non-zero value,
34868 otherwise fallback to `keyboard_map'.
34869
99fadbaa 348702008-02-04 Bean <bean123ch@gmail.com>
34871
34872 * Makefile.in (enable_grub_fstest): New variable.
34873
34874 * conf/common.rmk (grub_fstest_init.lst): New rule.
34875 (grub_fstest_init.h): Likewise.
34876 (grub_fstest_init.c): Likewise.
34877 (util/grub-fstest.c_DEPENDENCIES): New variable.
34878 (grub_fstest_SOURCES): Likewise.
34879
34880 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34881
34882 * util/grub-fstest.c: New file.
34883
bf567c50 348842008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34885
34886 Make grub-setup handle a separate root device.
f19dbdb7 34887
bf567c50 34888 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34889 so that the root device can be compared with the destination
34890 device.
34891 When embedding the core image, if the root and destination devices
34892 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34893 0xFF.
34894 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34895
9be6b98b 348962008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34897
34898 Add support for having a grub directory in a different drive. This
34899 is still only the data handling part.
f19dbdb7 34900
9be6b98b 34901 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34902 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34903 (grub_root_drive): New variable.
34904
34905 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34906 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34907 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34908 as it was.
34909
34910 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34911
34912 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34913 macro.
34914 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34915
34916 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34917 is bogus, because PXE booting does not specify any drive
34918 correctly.
34919
34920 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34921 am not sure if this is really correct.
34922
34923 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34924 is always identical to the boot drive when booting from a CD.
34925
34926 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34927 longer.
34928 (root_drive): New variable.
34929 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34930 (setup_sectors): Push %dx right after popping it, because %dh will
34931 be modified later.
34932 (copy_buffer): Restore %dx.
34933
e0ca0677 349342008-02-03 Robert Millan <rmh@aybabtu.com>
34935
34936 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34937 use `cdboot.img' for cdrom images.
34938
3b3f6629 349392008-02-03 Robert Millan <rmh@aybabtu.com>
34940
34941 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34942 only setup gfxterm when `font' command has succeeded.
34943
d42b3672 349442008-02-03 Robert Millan <rmh@aybabtu.com>
34945
34946 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34947 (grub_rescue_cmd_multiboot_loader)
34948 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34949
fa370ea6 349502008-02-03 Pavel Roskin <proski@gnu.org>
34951
e0c5dacb 34952 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34953 %edx and %esi from stack only after grub_gate_a20() is called.
34954 grub_gate_a20() clobbers %edx.
34955
f2a76e1d 349562008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34957
34958 * configure.ac (AC_INIT): Bumped to 1.96.
34959
34960 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34961 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34962 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34963 video/readers/png.c.
34964
90fd32d1 349652008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34966
34967 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34968 (cdboot_img_SOURCES): New variable.
34969 (cdboot_img_ASFLAGS): New variable.
34970 (cdboot_img_LDFLAGS): New variable.
34971
34972 * boot/i386/pc/cdboot.S: New file.
34973
34974 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34975 (cd_count): Likewise.
34976 (grub_biosdisk_get_drive): Add support for cd device.
34977 (grub_biosdisk_call_hook): Likewise.
34978 (grub_biosdisk_iterate): Likewise.
34979 (grub_biosdisk_open): Likewise.
34980 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34981 (grub_biosdisk_rw): Support reading from cd device.
34982 (GRUB_MOD_INIT): Iterate cd devices.
34983
34984 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34985 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34986 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34987
34988 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34989
4020aa53 349902008-02-02 Robert Millan <rmh@aybabtu.com>
34991
34992 * commands/read.c: New file.
34993 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34994 (read_mod_SOURCES): New variable.
34995 (read_mod_CFLAGS): Likewise.
34996 (read_mod_LDFLAGS): Likewise.
34997
e03a1132 349982008-02-02 Robert Millan <rmh@aybabtu.com>
34999
35000 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35001 determining whether menu has to be displayed.
35002
58c69220 350032008-02-02 Marco Gerards <marco@gnu.org>
35004
35005 * bus/pci.c: New file.
35006
35007 * include/grub/pci.h: Likewise.
35008
35009 * include/grub/i386/pc/pci.h: Likewise.
35010
35011 * commands/lspci.c: Likewise.
35012
35013 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35014 `lspci.mod'.
35015 (pci_mod_SOURCES): New variable.
35016 (pci_mod_CFLAGS): Likewise.
35017 (pci_mod_LDFLAGS): Likewise.
35018 (lspci_mod_SOURCES): Likewise.
35019 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35020 (lspci_mod_LDFLAGS): Likewise.
58c69220 35021
c004e1b4 350222008-02-02 Bean <bean123ch@gmail.com>
35023
35024 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35025 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35026
35027 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35028 (grub_xfs_btree_node): New structure.
35029 (grub_xfs_btree_root): New structure.
35030 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35031 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35032 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35033 (GRUB_XFS_EXTENT_SIZE): Likewise.
35034 (grub_xfs_read_block): Support btree format type.
35035 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35036 Use directory block as basic unit.
35037
35038 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35039
35040 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35041 __attribute__ ((__regparm__ (1))).
35042
f95562bf 350432008-02-01 Robert Millan <rmh@aybabtu.com>
35044
35045 Correct a mistake in previous commit.
35046
35047 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35048 top.
35049 (normal/command.c_DEPENDENCIES): New variable.
35050
7d31f41f 350512008-02-01 Robert Millan <rmh@aybabtu.com>
35052
35053 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35054 top.
35055 (normal/command.c_DEPENDENCIES): New variable.
35056 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35057 * conf/i386-ieee1275.rmk: Likewise.
35058 * conf/i386-linuxbios.rmk: Likewise.
35059 * conf/i386-pc.rmk: Likewise.
35060 * conf/sparc64-ieee1275.rmk: Likewise.
35061 * conf/powerpc-ieee1275.rmk: Likewise.
35062 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35063
35064 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35065
60b6be74 350662008-02-01 Robert Millan <rmh@aybabtu.com>
35067
35068 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35069 call at beginning of function.
35070
078522ab 350712008-01-31 Pavel Roskin <proski@gnu.org>
35072
35073 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35074 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35075 (grub_mkrescue_SOURCES): Likewise.
078522ab 35076 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35077
ccaa8a5f 350782008-01-30 Robert Millan <rmh@aybabtu.com>
35079
35080 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35081 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35082 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35083 (grub_probe_SOURCES): ... to here.
35084
35085 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35086 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35087 * conf/i386-ieee1275.rmk: Likewise.
35088 * conf/i386-linuxbios.rmk: Likewise.
35089 * conf/powerpc-ieee1275.rmk: Likewise.
35090
ae5a9cd7 350912008-01-30 Tristan Gingold <gingold@free.fr>
35092
35093 * kern/rescue.c: Silently accept empty lines.
35094
70bc2ef2 350952008-01-29 Bean <bean123ch@gmail.com>
35096
35097 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35098 (real_code_2): Code cleanup and change comment style.
35099 (move_memory): Avoid using 32-bit address mode.
35100
6a4d50ea 351012008-01-29 Bean <bean123ch@gmail.com>
35102
35103 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35104 (png_mod_SOURCES): New variable.
35105 (png_mod_CFLAGS): Likewise.
35106 (png_mod_LDFLAGS): Likewise.
35107
35108 * video/readers/png.c: New file.
35109
11cc30ac 351102008-01-28 Robert Millan <rmh@aybabtu.com>
35111
35112 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35113 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35114 `ifndef GRUB_MOD_GAP' hack.
35115 * util/elf/grub-mkimage.c (add_segments): Likewise.
35116
3abc589f 351172008-01-27 Robert Millan <rmh@aybabtu.com>
35118
35119 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35120 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35121 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35122
e1907778 351232008-01-27 Robert Millan <rmh@aybabtu.com>
35124
35125 Get grub-emu to build again (including parallel builds).
35126
35127 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35128 Split into ...
35129 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35130 (normal/execute.c_DEPENDENCIES): ... this, ...
35131 (grub-emu_DEPENDENCIES): ... and this.
35132
35133 * conf/i386-efi.rmk: Likewise.
35134 * conf/i386-linuxbios.rmk: Likewise.
35135 * conf/i386-ieee1275.rmk: Likewise.
35136 * conf/powerpc-ieee1275.rmk: Likewise.
35137 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35138
2216b101 351392008-01-27 Robert Millan <rmh@aybabtu.com>
35140
35141 * NEWS: Add a few items.
35142
f75172d9 351432008-01-27 Robert Millan <rmh@aybabtu.com>
35144
35145 Fix parallel builds with grub-emu. Based on earlier commit for
35146 grub-probe and grub-setup.
35147
35148 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35149 (util/grub-emu.c_DEPENDENCIES): ... this.
35150 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35151 (util/grub-emu.c_DEPENDENCIES): ... this.
35152 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35153 (util/grub-emu.c_DEPENDENCIES): ... this.
35154 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35155 (util/grub-emu.c_DEPENDENCIES): ... this.
35156 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35157 (util/grub-emu.c_DEPENDENCIES): ... this.
35158
3f51de77 351592008-01-27 Pavel Roskin <proski@gnu.org>
35160
35161 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35162 to create a gap between _end and the modules added to the image
35163 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35164 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35165 * util/elf/grub-mkimage.c (add_segments): Likewise.
35166
2033f53e 351672008-01-26 Pavel Roskin <proski@gnu.org>
35168
35169 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35170 just return an error.
35171
22da1f6f 351722008-01-26 Bean <bean123ch@gmail.com>
35173
35174 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35175 (grub_reiserfs_get_item): Save offset of the next item.
35176 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35177
2a9525e6 351782008-01-25 Robert Millan <rmh@aybabtu.com>
35179
35180 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35181 make all filesystem sources appear together (possibly fixing omissions
35182 while at it).
35183 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35184 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35185 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35187
35188 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35189 add `kern/file.c'.
35190 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35191 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35192 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35193 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35194
35195 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35196 (probe): Add a sanity check to make sure of our ability to read
35197 requested files when probing for filesystem type.
35198
35199 * genmk.rb: Update copyright year (2007).
35200
35201 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35202 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35203 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35204 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35205 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35206 : Remove function prototypes.
35207
b95f71b5 352082008-01-25 Robert Millan <rmh@aybabtu.com>
35209
35210 Revert my previous commits (based on wrong assumption of how grub_errno
35211 works).
35212
fe6b695a 35213 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35214 * kern/file.c (grub_file_open): Likewise.
35215
d08bbb49 352162008-01-24 Pavel Roskin <proski@gnu.org>
35217
35218 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35219 that hang if GRUB tries to setup colors.
35220 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35221 colors for firmwares that don't support it.
35222 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35223 Recognize Open Hack'Ware, set flags to work around its
35224 limitations.
35225
605e36ed 352262008-01-24 Robert Millan <rmh@aybabtu.com>
35227
35228 * kern/file.c (grub_file_open): Do not account previous failures of
35229 unrelated functions when grub_errno is checked for.
35230 Reported by Oleg Strikov.
35231
bac332a1 352322008-01-24 Bean <bean123ch@gmail.com>
35233
35234 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35235 (grub_ufs_sblock): New member volume name.
35236 (grub_ufs_find_file): Fix string copy bug.
35237 (grub_ufs_label): Implement this function properly.
35238
35239 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35240 (grub_hfs_iterate_records): Use the correct file number for extents
35241 and catalog file. Fix problem in next index calculation.
35242 (grub_hfs_find_node): Replace recursive function call with loop.
35243 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35244
15c80c09 352452008-01-23 Robert Millan <rmh@aybabtu.com>
35246
35247 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35248 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35249 (grub_multiboot2_real_boot): New function prototype.
35250
35251 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35252 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35253
35254 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35255 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35256
305338fd 352572008-01-23 Robert Millan <rmh@aybabtu.com>
35258
35259 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35260 #ifdef'ed out grub_printf().
35261
3ea52685 352622008-01-23 Robert Millan <rmh@aybabtu.com>
35263
35264 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35265 grub_dprintf calls, since they make "debug=all" mode unusable.
35266 (grub_console_checkkey): Likewise.
35267
5882ae4b 352682008-01-23 Robert Millan <rmh@aybabtu.com>
35269
35270 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35271 `term/i386/pc/at_keyboard.c'.
35272 (pkglib_MODULES): Add `serial.mod'.
35273 (serial_mod_SOURCES): New variable.
35274 (serial_mod_CFLAGS): Likewise.
35275 (serial_mod_LDFLAGS): Likewise.
35276
35277 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35278 `<grub/powerpc/ieee1275/console.h>'.
35279 (grub_keyboard_controller_init): New function prototype.
35280 (grub_console_checkkey): Likewise.
35281 (grub_console_getkey): Likewise.
35282
35283 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35284 keyboard on i386.
35285
35286 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35287 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35288
06ab5303 352892008-01-23 Robert Millan <rmh@aybabtu.com>
35290
35291 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35292 present, "(memdisk)/boot/grub" becomes the default prefix.
35293
35294 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35295 a memdisk tarball with all the modules. Add --overlay=DIR option that
35296 allows users to overlay additional files into the image.
35297
dbb475a4 352982008-01-23 Robert Millan <rmh@aybabtu.com>
35299
35300 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35301 and `machine/memory.h'.
35302 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35303 (_multiboot_mod_SOURCES): New variable.
35304 (_multiboot_mod_CFLAGS): Likewise.
35305 (_multiboot_mod_LDFLAGS): Likewise.
35306 (multiboot_mod_SOURCES): Likewise.
35307 (multiboot_mod_CFLAGS): Likewise.
35308 (multiboot_mod_LDFLAGS): Likewise.
35309
35310 * include/grub/i386/ieee1275/loader.h: New file.
35311
35312 * include/grub/i386/ieee1275/machine.h: Likewise.
35313
35314 * include/grub/i386/ieee1275/memory.h: Likewise.
35315
35316 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35317 variable declaration.
35318 (grub_os_area_size): Likewise.
35319
35320 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35321 (grub_lower_mem, grub_upper_mem): New variables.
35322 (grub_stop_floppy): New function (just to make
35323 grub_multiboot2_real_boot() happy).
35324
35325 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35326 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35327 (grub_stop): New function.
35328 Include `"../realmode.S"' and `"../loader.S"'.
35329
35330 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35331 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35332
35333 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35334 rely on grub_multiboot2_real_boot() for final boot.
35335
25638629 353362008-01-22 Robert Millan <rmh@aybabtu.com>
35337
35338 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35339 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35340 device that doesn't look like an SD card.
35341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35342 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35343 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35344 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35345 found.
35346
9dad816d 353472008-01-22 Robert Millan <rmh@aybabtu.com>
35348
35349 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35350 avoid claiming over our own code.
35351
34842f2d 353522008-01-22 Bean <bean123ch@gmail.com>
35353
35354 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35355 (jpeg_mod_SOURCES): New variable.
35356 (jpeg_mod_CFLAGS): Likewise.
35357 (jpeg_mod_LDFLAGS): Likewise.
35358
35359 * video/readers/jpeg.c : New file.
35360
44023a28 353612008-01-22 Bean <bean123ch@gmail.com>
35362
35363 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35364 there are no more items.
35365
bc2d8ac6 353662008-01-21 Robert Millan <rmh@aybabtu.com>
35367
35368 * kern/mm.c (grub_mm_init_region): Improve debug message.
35369
261bd4bc 353702008-01-21 Robert Millan <rmh@aybabtu.com>
35371
35372 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35373 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35374 address.
35375 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35376 a C macro.
35377 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35378 Indicates start of upper memory.
35379 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35380 (generate_image): Abort when image size is big enough to corrupt
35381 upper memory.
35382
35383 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35384 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35385 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35386 instead of hardcoding 0xA0000.
35387 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35388 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35389 instead of hardcoding 0xA0000.
35390
f970b55e 353912008-01-21 Robert Millan <rmh@aybabtu.com>
35392
35393 * disk/memdisk.c (memdisk_size): New variable.
35394 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35395 `memdisk_size'.
35396 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35397 image to dynamic memory.
35398 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35399 `memdisk_size'. Free memdisk block.
35400
1a8b0526 354012008-01-21 Robert Millan <rmh@aybabtu.com>
35402
35403 Fix detection of very small filesystems (like tar).
35404
35405 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35406 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35407 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35408 a problem with this disk).
35409
6e9b4aab 354102008-01-21 Robert Millan <rmh@aybabtu.com>
35411
35412 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35413 on grub_biosdisk_rw_standard() error.
35414
0d8837b2 354152008-01-21 Robert Millan <rmh@aybabtu.com>
35416
35417 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35418 recent changes.
35419 * kern/elf.c: Likewise.
35420 * kern/ieee1275/ieee1275.c: Likewise.
35421 * kern/powerpc/ieee1275/openfw.c: Likewise.
35422 * term/ieee1275/ofconsole.c: Likewise.
35423
ffd36e34 354242008-01-21 Robert Millan <rmh@aybabtu.com>
35425
35426 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35427
3f0093d0 35428 * include/grub/kernel.h (grub_arch_memdisk_addr)
35429 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35430
3f0093d0 35431 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35432 (grub_arch_memdisk_size): ... to here.
ffd36e34 35433
6c391b21 354342008-01-21 Robert Millan <rmh@aybabtu.com>
35435
35436 Mostly based on bugfix from Bean.
35437
35438 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35439 attribute with hook() parameter.
35440 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35441 declaration.
35442 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35443 attribute with hook() parameter.
35444 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35445 declaration.
35446
55a581dc 354472008-01-21 Robert Millan <rmh@aybabtu.com>
35448
35449 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35450 (pkglib_MODULES): Add `memdisk.mod'.
35451 (memdisk_mod_SOURCES): New variable.
35452 (memdisk_mod_CFLAGS): Likewise.
35453 (memdisk_mod_LDFLAGS): Likewise.
35454
35455 * disk/memdisk.c: New file.
35456
35457 * include/grub/disk.h (grub_disk_dev_id): Add
35458 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35459
35460 * include/grub/i386/pc/kernel.h
35461 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35462 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35463 (grub_kernel_image_size): New variable declaration.
35464 (grub_total_module_size): Likewise.
35465 (grub_memdisk_image_size): Likewise.
35466
35467 * include/grub/i386/pc/memory.h
35468 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35469
35470 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35471 (grub_arch_memdisk_addr): New variable declaration.
35472 (grub_arch_memdisk_size): Likewise.
35473
35474 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35475 (grub_arch_memdisk_size): Likewise.
35476
35477 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35478 (codestart): Replace hardcoded `0x100000' with
35479 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35480
35481 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35482 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35483 not NULL, append the contents of the file it refers to, at the end of
35484 the compressed kernel image. Initialize `grub_memdisk_image_size'
35485 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35486 (options): Add "memdisk"|'m' option.
35487 (main): Parse --memdisk|-m option, and pass user-provided path as
35488 parameter to generate_image().
35489
3d7f54c9 354902008-01-20 Robert Millan <rmh@aybabtu.com>
35491
35492 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35493 grub_dprintf() calls from here ...
35494 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35495
0bf74728 354962008-01-20 Robert Millan <rmh@aybabtu.com>
35497
35498 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35499
35500 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35501 declaration.
35502 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35503 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35504 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35505 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35506 property).
35507 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35508 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35509
33bf70a7 355102008-01-19 Robert Millan <rmh@aybabtu.com>
35511
fe6b695a 35512 Get rid of confusing function (superseded by
33bf70a7 35513 `grub_ieee1275_get_integer_property')
35514 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35515 prototype.
35516 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35517 function.
35518 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35519 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35520 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35521
e2da7d26 355222008-01-19 Robert Millan <rmh@aybabtu.com>
35523
35524 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35525 command after "shut-down", since implementations differ on which
35526 the command for halt is.
35527
59f1fd8d 355282008-01-19 Robert Millan <rmh@aybabtu.com>
35529
35530 * include/grub/i386/linuxbios/console.h: Add header protection.
35531 (grub_keyboard_controller_init): New function prototype.
35532 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35533 (KEYBOARD_COMMAND_READ): Likewise.
35534 (KEYBOARD_COMMAND_WRITE): Likewise.
35535 (KEYBOARD_SCANCODE_SET1): Likewise.
35536 (grub_keyboard_controller_write): New function.
35537 (grub_keyboard_controller_read): Likewise.
35538 (grub_keyboard_controller_init): Likewise.
35539
35540 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35541 (grub_console_init): On coreboot/LinuxBIOS, call
35542 grub_keyboard_controller_init().
35543
5f5a7c15 355442008-01-19 Robert Millan <rmh@aybabtu.com>
35545
35546 PowerPC changes provided by Pavel Roskin.
35547
35548 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35549 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35550 don't rely on cmain() doing it.
35551 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35552 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35553
1210e168 355542008-01-16 Robert Millan <rmh@aybabtu.com>
35555
35556 * include/grub/i386/linuxbios/memory.h
35557 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35558 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35559 receive `table_header' as argument. Instead, probe for it in the
35560 known memory ranges where it can be present.
35561 (grub_available_iterate): Do not pass a fixed `table_header' address
35562 to grub_linuxbios_table_iterate().
35563
3d04eab8 355642008-01-15 Robert Millan <rmh@aybabtu.com>
35565
35566 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35567 * conf/i386-ieee1275.rmk: New file.
35568 * include/grub/i386/ieee1275/console.h: Likewise.
35569 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35570 * include/grub/i386/ieee1275/kernel.h: Likewise.
35571 * include/grub/i386/ieee1275/time.h: Likewise.
35572 * kern/i386/ieee1275/init.c: Likewise.
35573 * kern/i386/ieee1275/startup.S: Likewise.
35574
d1bc1b73 355752008-01-15 Robert Millan <rmh@aybabtu.com>
35576
35577 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35578 when pointers are 32-bit (but still do set it to one when they are
35579 64-bit).
35580
66a65807 355812008-01-15 Robert Millan <rmh@aybabtu.com>
35582
35583 * include/grub/ieee1275/ieee1275.h
35584 (grub_ieee1275_get_integer_property): New function prototype.
35585
35586 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35587 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35588 grub_ieee1275_get_property() to handle endianness.
66a65807 35589
35590 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35591 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35592 where appropriate.
66a65807 35593 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35594 (grub_map): Likewise.
35595 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35596
a83ccafd 355972008-01-15 Bean <bean123ch@gmail.com>
35598
35599 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35600 (grub_script_execute_cmdline): Reset grub_errno.
35601
35602 * normal/main.c (read_config_file): Reset grub_errno.
35603
35604 * normal/parse.y (script_init): New.
35605 (script): Move function and menuentry here.
35606 (delimiter): New.
35607 (command): Add delimiter at the end of command.
35608 (commands): Adjust to match the new command.
35609 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35610 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35611 (if): Use the new commands.
35612
35613 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35614
df6ecfc6 356152008-01-15 Robert Millan <rmh@aybabtu.com>
35616
35617 * normal/menu.c (run_menu): Move timeout message from here ...
35618 (print_timeout): ... to here.
35619 (run_menu): Use print_timeout() once during initial draw to print
35620 the whole message, and again in every clock tick to update only
35621 the number of seconds.
35622
87ae25eb 356232008-01-15 Robert Millan <rmh@aybabtu.com>
35624
35625 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35626 actual size of `available' from grub_ieee1275_get_property(), and
35627 restrict parsing to that bound.
35628
47bf09a4 356292008-01-15 Christian Franke <franke@computer.org>
35630
35631 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35632 (argp_program_version): Remove variable.
35633 (argp_program_bug_address): Likewise.
35634 (options): Convert from struct argp_option to struct option.
35635 (struct arguments): Remove.
35636 (parse_opt): Remove.
35637 (usage): New function.
35638 (main): Replace struct args members by simple variables.
35639 Replace argp_parse() by getopt_long().
35640 Add switch to evaluate options.
35641 Add missing "(...)" around root_dev in prefix string.
35642
c86f1469 356432008-01-14 Robert Millan <rmh@aybabtu.com>
35644
35645 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35646 for grub_ieee1275_exit(), in order to improve portability.
35647
e622c559 356482008-01-14 Robert Millan <rmh@aybabtu.com>
35649
35650 * util/grub.d/10_linux.in (prefix): Define.
35651 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35652
44cb1ec8 356532008-01-13 Pavel Roskin <proski@gnu.org>
35654
35655 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35656 grub_errno if no errors have been detected.
35657
1eb8c802 356582008-01-12 Robert Millan <rmh@aybabtu.com>
35659
35660 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35661 (grub_util_get_dev_abstraction): New function prototype.
35662
35663 * util/getroot.c: Include `<grub/util/getroot.h>'
35664 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35665 (grub_util_get_dev_abstraction): ... here (new function).
35666
35667 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35668 `PRINT_ABSTRACTION'.
35669 (probe): Probe for abstraction type when requested.
35670 (main): Understand `--target=abstraction'.
35671
35672 * util/i386/efi/grub-install.in: Add abstraction module to core
35673 image when it is found to be necessary.
35674 * util/i386/pc/grub-install.in: Likewise.
35675 * util/powerpc/ieee1275/grub-install.in: Likewise.
35676
35677 * util/update-grub_lib.in (font_path): Return system path without
35678 converting to GRUB path.
35679 * util/update-grub.in: Convert system path returned by font_path()
35680 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35681 abstraction module is needed for loading fonts (if any). Export
35682 that as `GRUB_PRELOAD_MODULES'.
35683 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35684 insmod commands).
35685
52bd3de9 356862008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35687
35688 Remove some unused code from reiserfs.
f19dbdb7 35689
52bd3de9 35690 * fs/reiserfs.c (struct grub_reiserfs_key)
35691 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35692 (struct grub_reiserfs_node_body): Removed.
35693 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35694 Likewise.
35695 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35696 Likewise.
35697 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35698 Likewise.
35699 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35700 Likewise.
35701 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35702 Likewise.
35703 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35704 Likewise.
35705 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35706 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35707 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35708
2f80039d 357092008-01-10 Robert Millan <rmh@aybabtu.com>
35710
35711 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35712 Determines if a file is garbage left by packaging systems, etc.
35713 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35714 for processing /etc/grub.d scripts.
35715 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35716 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35717 as a condition for processing Linux images.
35718
87888032 357192008-01-10 Pavel Roskin <proski@gnu.org>
35720
35721 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35722 to compile reiserfs.c on PowerPC.
35723
7e54fced 357242008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35725
35726 * kern/device.c (grub_device_iterate): Do not abort device iteration
35727 when one of the devices cannot be opened.
35728 * kern/disk.c (grub_disk_open): Do not account previous failures of
35729 unrelated functions when grub_errno is checked for.
35730
5aa541e6 357312008-01-08 Robert Millan <rmh@aybabtu.com>
35732
35733 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35734 `! grub_linux_is_bzimage', change order of address comparison to make
35735 it more intuitive, and improve "too big zImage" error message.
35736
7076340d 357372008-01-08 Robert Millan <rmh@aybabtu.com>
35738
35739 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35740 `$(update-grub_DATA)'.
35741 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35742 targets.
35743
9ca70333 357442008-01-07 Robert Millan <rmh@aybabtu.com>
35745
35746 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35747 which instruction is modified by grub-setup during installation
35748 (since it wasn't obvious by only looking at this file).
35749
38ccf575 357502008-01-07 Robert Millan <rmh@aybabtu.com>
35751
35752 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35753 listing actual TODO items.
35754
f5db4291 357552008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35756
868967cf 35757 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35758 correctly.
35759 (grub_reiserfs_get_key_offset): Likewise.
35760 (grub_reiserfs_set_key_offset): Likewise.
35761 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35762 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35763
35764 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35765 better to remove the bitfield version completely.
f19dbdb7 35766
868967cf 357672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35768
f5db4291 35769 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35770 allocated from the heap, due to the fshelp implementation.
35771 (grub_reiserfs_dir): Free NODE, due to the same reason.
35772
492e6d9d 357732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35774
35775 Mostly from Vincent Pelletier:
f19dbdb7 35776
492e6d9d 35777 * fs/reiserfs.c: New file.
f19dbdb7 35778
492e6d9d 35779 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35780 (reiserfs_mod_SOURCES): New variable.
35781 (reiserfs_mod_CFLAGS): Likewise.
35782 (reiserfs_mod_LDFLAGS): Likewise.
35783
35784 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35785 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35786 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35787 normal/color.c.
35788
9ce3e7c1 357892008-01-06 Robert Millan <rmh@aybabtu.com>
35790
35791 * normal/color.c: Remove `<grub/env.h>'.
35792
f3b58148 357932008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35794
35795 * include/grub/normal.h: Include <grub/env.h>.
35796
7ac3bcfa 357972008-01-05 Robert Millan <rmh@aybabtu.com>
35798
35799 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35800 usage example with `(hd0,1)'.
fb358190 35801 Reported by Samuel Thibault.
7ac3bcfa 35802
c8ee99d7 358032008-01-05 Robert Millan <rmh@aybabtu.com>
35804
35805 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35806 (grub_linux_boot_zimage): Rename to ...
35807 (grub_linux_boot): ... this.
35808 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35809 (grub_linux_boot_zimage): Conditionalize zImage copy.
35810
35811 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35812 (grub_linux_boot_bzimage): Remove prototype.
35813 (grub_linux_boot_zimage): Rename to ...
35814 (grub_linux_boot): ... this.
35815
35816 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35817 (grub_linux_boot): Remove function.
35818
0ece25b1 358192008-01-05 Robert Millan <rmh@aybabtu.com>
35820
35821 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35822 (grub_env_write_color_highlight): Likewise.
35823 (grub_wait_after_message): Likewise.
35824
35825 * normal/color.c: New file.
35826
35827 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35828 (normal_mod_DEPENDENCIES): Likewise.
35829
35830 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35831 (normal_mod_DEPENDENCIES): Likewise.
35832
35833 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35834 (normal_mod_DEPENDENCIES): Likewise.
35835
35836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35837 (normal_mod_DEPENDENCIES): Likewise.
35838
35839 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35840 for waiting after a message is printed.
35841 * normal/main.c (read_config_file): Likewise.
35842 (grub_normal_init): Register grub_env_write_color_normal() and
35843 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35844 `color_highlight' variables as global.
35845
35846 * normal/menu.c (grub_wait_after_message): New function.
35847 (grub_color_menu_normal): New variable. Replaces ...
35848 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35849 (grub_color_menu_highlight): New variable. Replaces ...
35850 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35851 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35852 `GRUB_TERM_COLOR_STANDARD'.
35853 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35854 `normal_code' and `highlight_code' to `old_color_normal' and
35855 `old_color_highlight', respectively.
35856 (grub_menu_init_page): Update colors when drawing the menu, based on
35857 `menu_color_normal' and `menu_color_highlight' variables.
35858 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35859 a message is printed.
35860
182dd4e5 358612008-01-05 Robert Millan <rmh@aybabtu.com>
35862
35863 * kern/env.c (grub_env_context_open): Propagate hooks for global
35864 variables to new context.
35865
35866 * kern/main.c (grub_set_root_dev): Export `root' variable.
35867
ddf8f6ad 358682008-01-05 Robert Millan <rmh@aybabtu.com>
35869
35870 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35871 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35872 them.
35873
d8b43d9b 358742008-01-05 Robert Millan <rmh@aybabtu.com>
35875
35876 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35877
2bff2de3 358782008-01-04 Christian Franke <franke@computer.org>
35879
35880 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35881 of eisa_mmap.
35882
97eab917 358832008-01-03 Pavel Roskin <proski@gnu.org>
35884
35885 * kern/i386/linuxbios/init.c: Put "void" to all function
35886 declarations with no arguments.
35887 * kern/powerpc/ieee1275/init.c: Likewise.
35888 * term/i386/pc/at_keyboard.c: Likewise.
35889 * term/i386/pc/vga_text.c: Likewise.
35890 * util/grub-mkdevicemap.c: Likewise.
35891
b9416d00 358922008-01-02 Robert Millan <rmh@aybabtu.com>
35893
35894 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35895 message when loaded image is out of bounds.
35896 (grub_multiboot_load_elf64): Likewise.
35897
92695df9 358982008-01-02 Pavel Roskin <proski@gnu.org>
35899
35900 * util/grub.d/10_linux.in: Try version without ".old" when
35901 looking for initrd. It's better to use initrd from the newer
35902 kernel of the same version than no initrd at all.
35903
d98d9cad 359042008-01-01 Robert Millan <rmh@aybabtu.com>
35905
35906 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35907
dbfdce36 359082008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35909
f19dbdb7 35910 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35911 grub_video_get_active_render_target.
35912 (grub_video_adapter): Added unmap_color and get_active_render_target.
35913
f19dbdb7 35914 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35915 grub_video_get_active_render_target.
35916 (grub_video_get_info): Changed method to accept NULL pointer as an
35917 argument to allow detection of active video adapter.
35918
35919 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35920 grub_video_vbe_unmap_color_int.
35921 Added grub_video_vbe_unmap_color and
35922 grub_video_vbe_get_active_render_target.
35923 (grub_video_vbe_adapter): Added unmap_color and
35924 get_active_render_target.
35925
f19dbdb7 35926 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35927 with grub_video_vbe_unmap_color_int.
35928
35929 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35930 (DEFAULT_NORMAL_COLOR): Likewise.
35931 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35932 (DEFAULT_FG_COLOR): Removed.
35933 (DEFAULT_BG_COLOR): Likewise.
35934 (DEFAULT_CURSOR_COLOR): Changed value.
35935 (grub_virtual_screen): Added standard_color_setting,
35936 normal_color_setting, highlight_color_setting and term_color.
35937 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35938 (bitmap_width): Added.
35939 (bitmap_height): Likewise.
35940 (bitmap): Likewise.
35941 (set_term_color): Likewise.
35942 (grub_virtual_screen_setup): Changed to use new terminal coloring
35943 settings.
35944 (grub_gfxterm_init): Added init for bitmap.
35945 (grub_gfxterm_fini): Added destroy for bitmap.
35946 (redraw_screen_rect): Updated to use background bitmap and new
35947 terminal coloring.
35948 (scroll_up): Added optimization for case when there is no bitmap.
35949 (grub_gfxterm_cls): Fixed to use correct background color.
35950 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35951 coloring.
35952 (grub_virtual_screen_setcolor): Likewise.
35953 (grub_virtual_screen_getcolor): Added.
35954 (grub_gfxterm_background_image_cmd): Likewise.
35955 (grub_video_term): Added setcolor and getcolor.
35956 (MOD_INIT): Added registration of background_image command.
35957 (MOD_TERM): Added unregistration for background_image command.
35958
c3c20931 359592007-12-30 Pavel Roskin <proski@gnu.org>
35960
35961 * loader/multiboot_loader.c: Fix multiboot command
35962 unregistration. Fix all typos in the word "multiboot".
35963
df266716 359642007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35965
35966 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35967 support for initrd names used in Fedora.
35968
fc6e896c 359692007-12-26 Bean <bean123ch@gmail.com>
35970
35971 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35972 (cpio_mod_SOURCES): New variable.
35973 (cpio_mod_CFLAGS): Likewise.
35974 (cpio_mod_LDFLAGS): Likewise.
35975
35976 * fs/cpio.c: New file.
35977
35978 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35979
35980 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35981
35982 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35983
35984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35985
533110ad 359862007-12-25 Robert Millan <rmh@aybabtu.com>
35987
35988 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35989 (grub_getcolor): New function.
35990
35991 * kern/term.c (grub_getcolor): New function.
35992 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35993 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35994 (print_entry): Set normal and highlight colors to
35995 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35996 respectively, before printing and restore them to old
35997 values afterwards.
35998 (grub_menu_init_page): Likewise. Fill an additional colored space
35999 that would otherwise be left blank.
36000
36001 * term/efi/console.c (grub_console_getcolor): New function.
36002 (struct grub_console_term.getcolor): New variable.
36003 * term/i386/pc/console.c (grub_console_getcolor): New function.
36004 (struct grub_console_term.getcolor): New variable.
36005 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36006 (struct grub_console_term.getcolor): New variable.
36007
36008 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36009 (struct grub_console_term.setcolor): Remove variable.
36010 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36011 (struct grub_console_term.setcolor): Remove variable.
36012 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36013 (struct grub_console_term.setcolor): Remove variable.
36014 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36015 (struct grub_console_term.setcolor): Remove variable.
36016
4931827f 360172007-12-25 Robert Millan <rmh@aybabtu.com>
36018
36019 * configure.ac: Search for possible unifont.hex locations, and
36020 define UNIFONT_HEX if found.
36021
36022 * Makefile.in (UNIFONT_HEX): Define variable.
36023 (DATA): Rename to ...
36024 (PKGLIB): ... this. Update all users.
36025 (PKGDATA): New variable.
36026 (pkgdata_IMAGES): Rename to ...
36027 (pkglib_IMAGES): ... this. Update all users.
36028 (pkgdata_MODULES): Rename to ...
36029 (pkglib_MODULES): ... this. Update all users.
36030 (pkgdata_PROGRAMS): Rename to ...
36031 (pkglib_PROGRAMS): ... this. Update all users.
36032 (pkgdata_DATA): Rename to ...
36033 (pkglib_DATA): ... this. Update all users.
36034 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36035 (unicode.pff, ascii.pff): New rules.
36036 (all-local): Add `$(PKGDATA)' dependency.
36037 (install-local): Process `$(PKGDATA)'.
36038
36039 * util/update-grub_lib.in (font_path): Search for *.pff files in
36040 a few more locations, including `${pkgdata}'.
36041
57e57e31 360422007-12-23 Robert Millan <rmh@aybabtu.com>
36043
36044 Patch from Bean <bean123ch@gmail.com>:
36045 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36046 `size'.
36047
4bc72aa9 360482007-12-21 Bean <bean123ch@gmail.com>
36049
36050 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36051 (ntfscomp_mod_SOURCES): New variable.
36052 (ntfscomp_mod_CFLAGS): Likewise.
36053 (ntfscomp_mod_LDFLAGS): Likewise.
36054
36055 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36056 (grub_probe_SOURCES): Likewise.
36057 (grub_emu_SOURCES): Likewise.
36058
36059 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36060 (grub_emu_SOURCES): Likewise.
36061
36062 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36063 (grub_emu_SOURCES): Likewise.
36064
36065 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36066 (grub_emu_SOURCES): Likewise.
36067
36068 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36069 (read_run_list): Renamed to grub_ntfs_read_run_list.
36070 (decomp_nextvcn): Moved to ntfscomp.c.
36071 (decomp_getch): Likewise.
36072 (decomp_get16): Likewise.
36073 (decomp_block): Likewise.
36074 (read_block): Likewise.
36075 (read_data): Partially moved to ntfscomp.c.
36076 (fixup): Change unsigned to grub_uint16_t.
36077 (read_mft): Change unsigned long to grub_uint32_t.
36078 (read_attr): Likewise.
36079 (read_data): Likewise.
36080 (read_run_data): Likewise.
36081 (read_run_list): Likewise.
36082 (read_mft): Likewise.
36083
36084 * fs/ntfscomp.c: New file.
36085
36086 * include/grub/ntfs.h: New file.
36087
af680a87 360882007-12-16 Robert Millan <rmh@aybabtu.com>
36089
36090 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36091 IDE disk check, since Linux is known to support 20 IDE disks.
36092 Reported by Colin Watson.
36093
84be7599 360942007-12-15 Bean <bean123ch@gmail.com>
36095
36096 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36097 (lnxboot_img_SOURCES): New variable.
36098 (lnxboot_img_ASFLAGS): Likewise.
36099 (lnxboot_img_LDFLAGS): Likewise.
36100
36101 * boot/i386/pc/lnxboot.S: New file.
36102
6af9db01 361032007-11-24 Pavel Roskin <proski@gnu.org>
36104
36105 * configure.ac: Test if '--build-id=none' is supported by the
36106 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36107 objcopy to generate incorrect binary files (binutils
36108 2.17.50.0.18-1 as shipped by Fedora 8).
36109 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36110 linking, so that build ID doesn't break the test.
36111
7361cfe6 361122007-11-24 Pavel Roskin <proski@gnu.org>
36113
36114 * include/grub/i386/time.h: use "void" in the argument list
36115 of grub_cpu_idle().
36116 * include/grub/powerpc/time.h: Likewise.
36117 * include/grub/sparc64/time.h: Likewise.
36118
1593e10c 361192007-11-18 Christian Franke <franke@computer.org>
36120
36121 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36122 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36123 This fixes the problem that function keys did not work in grub-emu.
36124
3b8db1a8 361252007-11-18 Christian Franke <franke@computer.org>
36126
36127 * disk/host.c (grub_host_open): Remove attribute unused from
36128 name parameter. Add check for "host". This fixes the problem
36129 that grub-emu does not find partitions.
36130
2e29408d 361312007-11-18 Christian Franke <franke@computer.org>
36132
36133 * util/hostfs.c (is_dir): New function.
36134 (grub_hostfs_dir): Handle missing dirent.d_type case.
36135 (grub_hostfs_read): Add missing fseek().
36136 (grub_hostfs_label): Clear label pointer. This fixes a crash
36137 of grub-emu on "ls (host)".
36138
398cd047 361392007-11-18 Christian Franke <franke@computer.org>
36140
36141 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36142 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36143 to 64 bit boundary by default.
36144
c405c391 361452007-11-18 Bean <bean123ch@gmail.com>
36146
36147 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36148 (hexdump_mod_SOURCES): New variable.
36149 (hexdump_mod_CFLAGS): Likewise.
36150 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36151
c405c391 36152 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36153
36154 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36155
36156 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36157
36158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36159
36160 * include/grub/hexdump.h: New file.
36161
36162 * commands/hexdump.c: New file.
36163
5cced7fd 361642007-11-10 Robert Millan <rmh@aybabtu.com>
36165
36166 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36167 in grub_outb() calls.
36168 (beep_on): Likewise.
36169
8b714eb0 361702007-11-10 Christian Franke <franke@computer.org>
36171
36172 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36173 (grub_menu_run): Likewise.
36174
ce0f1839 361752007-11-10 Robert Millan <rmh@aybabtu.com>
36176
36177 * include/grub/i386/efi/machine.h: New file.
36178 * include/grub/i386/linuxbios/machine.h: Likewise.
36179 * include/grub/i386/pc/machine.h: Likewise.
36180 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36181 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36182
36183 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36184 (serial_hw_io_addr): New variable.
36185 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36186 instead of `(unsigned short *) 0x400'.
36187
270c237d 361882007-11-10 Bean <bean123ch@gmail.com>
36189
36190 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36191
a87783bf 361922007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36193
36194 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36195 (vga_mod_SOURCES): Added.
36196 (vga_mod_CFLAGS): Likewise.
36197 (vga_mod_LDFLAGS): Likewise.
36198
36199 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36200 grub_outb() calls.
36201 (set_map_mask): Likewise.
36202 (set_read_map): Likewise.
36203 (set_read_address): Likewise.
36204 (vga_font): Removed variable.
36205 (get_vga_glyph): Removed function.
36206 (invalidate_char): Likewise.
36207 (write_char): Changed to use grub_font_get_glyph() for font
36208 information.
36209 (grub_vga_putchar): Likewise.
36210 (grub_vga_getcharwidth): Likewise.
36211
6433b448 362122007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36213
36214 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36215 flags.
36216 (pxeboot_img_LDFLAGS): Likewise.
36217 (diskboot_img_LDFLAGS): Likewise.
36218 (kernel_img_LDFLAGS): Likewise.
36219
49178511 362202007-11-06 Robert Millan <rmh@aybabtu.com>
36221
36222 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36223 in grub_outb() calls.
36224 (serial_hw_init): Likewise.
36225
53b052de 362262007-11-05 Robert Millan <rmh@aybabtu.com>
36227
36228 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36229 spaces. Skip non-regular files.
36230
5ab33bba 362312007-11-05 Robert Millan <rmh@aybabtu.com>
36232
36233 * kern/disk.c (grub_disk_firmware_fini)
36234 (grub_disk_firmware_is_tainted): New variables.
36235
36236 * include/grub/disk.h (grub_disk_firmware_fini)
36237 (grub_disk_firmware_is_tainted): Likewise.
36238
36239 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36240 (grub_disk_biosdisk_fini): ... to here.
36241 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36242 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36243 is set. Register grub_disk_biosdisk_fini() in
36244 `grub_disk_firmware_fini'.
36245
36246 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36247 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36248 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36249 to finish existing firmware disk interface.
36250
36251 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36252 (ata_mod_SOURCES): New variable.
36253 (ata_mod_CFLAGS): Likewise.
36254 (ata_mod_LDFLAGS): Likewise.
36255
0149ab7c 362562007-11-05 Robert Millan <rmh@aybabtu.com>
36257
36258 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36259 (grub_ata_wait): Reimplement using grub_millisleep().
36260
36261 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36262 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36263
be7ac41e 362642007-11-03 Marco Gerards <marco@gnu.org>
36265
36266 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36267 (CRTC_ADDR_PORT): New macro.
36268 (CRTC_DATA_PORT): Likewise.
36269 (CRTC_CURSOR): Likewise.
36270 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36271 (CRTC_CURSOR_ADDR_LOW): Likewise.
36272 (update_cursor): New function.
36273 (grub_console_real_putchar): Call `update_cursor'.
36274 (grub_console_gotoxy): Likewise.
36275 (grub_console_cls): Set the default color when clearing the
36276 screen.
36277 (grub_console_setcursor): Implemented.
36278
bb06ab2e 362792007-11-03 Marco Gerards <marco@gnu.org>
36280
36281 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36282 become activate.
36283 (grub_ata_pio_write): Likewise.
36284
36285 (grub_atapi_identify): Wait after issuing an ATA command.
36286 (grub_atapi_packet): Likewise.
36287 (grub_ata_identify): Likewise.
36288 (grub_ata_readwrite): Likewise.
36289
cf8f780b 362902007-11-03 Marco Gerards <marco@gnu.org>
36291
36292 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36293 (grub_ata_pio_write): Likewise.
36294 (grub_ata_readwrite): Use `grub_error', instead of
36295 returning `grub_errno'.
36296
ed649e54 362972007-11-03 Marco Gerards <marco@gnu.org>
36298
36299 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36300 grub_ata_pio_write once for every single sector, instead of for
36301 multiple sectors.
36302
ca25d8f0 363032007-10-31 Robert Millan <rmh@aybabtu.com>
36304
36305 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36306
36307 * conf/i386-linuxbios.rmk: New file.
36308
36309 * kern/i386/pc/hardware.c: Likewise.
36310 * term/i386/pc/at_keyboard.c: Likewise.
36311 * term/i386/pc/vga_text.c: Likewise.
36312
36313 * include/grub/i386/linuxbios/boot.h: Likewise.
36314 * include/grub/i386/linuxbios/console.h: Likewise.
36315 * include/grub/i386/linuxbios/init.h: Likewise.
36316 * include/grub/i386/linuxbios/kernel.h: Likewise.
36317 * include/grub/i386/linuxbios/loader.h: Likewise.
36318 * include/grub/i386/linuxbios/memory.h: Likewise.
36319 * include/grub/i386/linuxbios/serial.h: Likewise.
36320 * include/grub/i386/linuxbios/time.h: Likewise.
36321
36322 * kern/i386/linuxbios/init.c: Likewise.
36323 * kern/i386/linuxbios/startup.S: Likewise.
36324 * kern/i386/linuxbios/table.c: Likewise.
36325
e911ecc1 363262007-10-31 Marco Gerards <marco@gnu.org>
36327
36328 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36329 (ata_mod_SOURCES): New variable.
36330 (ata_mod_CFLAGS): Likewise.
36331 (ata_mod_LDFLAGS): Likewise.
36332
36333 * disk/ata.c: New file.
36334
36335 * include/grub/disk.h (grub_disk_dev_id): Add
36336 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36337
7f66d0e0 363382007-10-31 Robert Millan <rmh@aybabtu.com>
36339
36340 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36341 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36342
36343 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36344 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36345
36346 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36347 `<grub/types.h>'.
36348
36349 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36350
5cd7dd46 363512007-10-27 Robert Millan <rmh@aybabtu.com>
36352
3236ca65 36353 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36354
2ebfc90f 363552007-10-22 Robert Millan <rmh@aybabtu.com>
36356
36357 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36358 `"../realmode.S"'.
36359 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36360
73fcb0f3 363612007-10-22 Robert Millan <rmh@aybabtu.com>
36362
36363 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36364 (pkgdata_MODULES): Add `biosdisk.mod'.
36365 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36366 variables.
36367
36368 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36369 (grub_biosdisk_init): Replace with ...
36370 (GRUB_MOD_INIT(biosdisk)): ... this.
36371 (grub_biosdisk_fini): Replace with ...
36372 (GRUB_MOD_FINI(biosdisk)): ... this.
36373
36374 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36375 (grub_machine_init): Remove call to grub_biosdisk_init().
36376 (grub_machine_fini): Remove call to grub_machine_fini().
36377
36378 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36379
3381d274 363802007-10-22 Robert Millan <rmh@aybabtu.com>
36381
36382 * include/grub/time.h: New file.
36383 * include/grub/i386/time.h: Likewise.
36384 * include/grub/powerpc/time.h: Likewise.
36385 * include/grub/sparc64/time.h: Likewise.
36386
36387 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36388 instances to ...
36389 (KERNEL_MACHINE_TIME_HEADER): ... this.
36390 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36391 instances to ...
36392 (KERNEL_MACHINE_TIME_HEADER): ... this.
36393 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36394 instances to ...
36395 (KERNEL_MACHINE_TIME_HEADER): ... this.
36396
36397 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36398 (grub_millisleep): New function.
36399 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36400 (grub_millisleep): New function.
36401 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36402 Remove `grub/machine/time.h' include.
36403 (grub_millisleep): New function.
36404 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36405 Remove `grub/machine/time.h' include.
36406 (grub_millisleep): New function.
36407
36408 * include/grub/misc.h (grub_div_roundup): New function.
36409
36410 * kern/misc.c: Include `<grub/time.h>'.
36411 (grub_millisleep_generic): New function.
36412
36413 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36414 Add `time.h'.
36415 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36416 Add `time.h'.
36417 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36418 `machine/time.h'. Add `time.h'.
36419 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36420
a39a0312 364212007-10-21 Robert Millan <rmh@aybabtu.com>
36422
36423 * include/grub/misc.h (grub_max): New function.
36424
2aad70e2 364252007-10-21 Robert Millan <rmh@aybabtu.com>
36426
36427 * util/misc.c (grub_util_info): Call fflush() before returning.
36428
54b71c4b 364292007-10-20 Robert Millan <rmh@aybabtu.com>
36430
36431 * genmk.rb (Image): Copy `extra_flags' from here ...
36432 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36433
36434 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36435 to `argc' and `args' arguments.
36436
a979f513 364372007-10-17 Robert Millan <rmh@aybabtu.com>
36438
36439 * kern/i386/loader.S: New file.
36440
36441 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36442 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36443 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36444 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36445 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36446 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36447 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36448 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36449 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36450 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36451 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36452 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36453 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36454 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36455
36456 * kern/i386/realmode.S: New file.
36457
36458 * kern/i386/pc/startup.S (protstack): Moved from here ...
36459 * kern/i386/realmode.S (protstack)... to here.
36460 * kern/i386/pc/startup.S (gdt): Moved from here ...
36461 * kern/i386/realmode.S (gdt)... to here.
36462 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36463 * kern/i386/realmode.S (prot_to_real)... to here.
36464
36465 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36466 `kern/i386/realmode.S'.
36467
825fc8fd 364682007-10-17 Robert Millan <rmh@aybabtu.com>
36469
36470 * include/grub/i386/loader.h: New file.
36471
36472 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36473 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36474 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36475 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36476 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36477 * include/grub/i386/loader.h (grub_linux_prot_size)
36478 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36479 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36480 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36481 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36482
36483 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36484
e179b2f4 364852007-10-15 Robert Millan <rmh@aybabtu.com>
36486
36487 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36488 filesystem when dev->disk is unset.
36489 Do probe for filesystem even when dev->disk->has_partitions is set.
36490 In case a filesystem is found, always report it.
36491 In case it isn't, if dev->disk->has_partitions is set, report that
36492 a partition table was found instead of reporting that no filesystem
36493 could be identified.
36494
5db82af6 364952007-10-12 Robert Millan <rmh@aybabtu.com>
36496
36497 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36498 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36499
68f6ac74 36500 * include/grub/types.h (grub_host_to_target16): New macro.
36501 (grub_host_to_target32): Likewise.
36502 (grub_host_to_target64): Likewise.
36503 (grub_target_to_host16): Likewise.
36504 (grub_target_to_host32): Likewise.
36505 (grub_target_to_host64): Likewise.
5db82af6 36506
36507 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36508 Renamed from to ...
36509 (GRUB_MOD_ALIGN): ...this. Update all users.
36510
68f6ac74 36511 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36512 grub_host_to_target32.
36513 Replace grub_be_to_cpu32 with grub_target_to_host32.
36514 (load_modules): Likewise.
36515 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36516 Replace grub_be_to_cpu32 with grub_target_to_host32.
36517 Replace grub_cpu_to_be16 with grub_host_to_target16.
36518 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36519
3cf497cc 365202007-10-12 Robert Millan <rmh@aybabtu.com>
36521
36522 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36523 * util/elf/grub-mkimage.c: ... here.
36524
36525 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36526 `util/powerpc/ieee1275/grub-mkimage.c'.
36527
c8cc3692 365282007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36529
c8cc3692 36530 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36531 and make it easier to figure out.
36532 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36533 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36534 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36535 leave us with less than HEAP_MIN_SIZE total heap.
36536 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36537
5c58b791 365382007-10-03 Robert Millan <rmh@aybabtu.com>
36539
36540 * include/grub/i386/io.h: New file.
36541 * commands/i386/pc/play.c (inb): Removed.
36542 (outb): Removed.
36543 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36544 with grub_outb().
afcd2ef8 36545 * term/i386/pc/serial.c (inb): Removed.
36546 (outb): Removed.
36547 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36548 with grub_outb().
36549 * term/i386/pc/vga.c (inb): Removed.
36550 (outb): Removed.
36551 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36552 with grub_outb().
5c58b791 36553
1a477ed6 365542007-10-02 Robert Millan <rmh@aybabtu.com>
36555
36556 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36558 Reported by Marcin Kurek.
36559
6b5d80fa 365602007-09-07 Robert Millan <rmh@aybabtu.com>
36561
36562 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36563 SmartFirmware version updates (as released by Sven Luther), and avoid
36564 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36565 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36566 known broken.
36567
5618afbf 365682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36569
36570 From Hitoshi Ozeki:
36571 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36572 when merging two regions.
36573
6139dcd9 365742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36575
508e39ee 36576 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36577 * normal/completion.c (grub_normal_do_completion): Likewise.
36578 Reported by Hitoshi Ozeki.
36579
365802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36581
6139dcd9 36582 Do not use devices at boot in chainloading.
f19dbdb7 36583
6139dcd9 36584 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36585 (boot_part_addr): Likewise.
36586 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36587 with BOOT_DRIVE and BOOT_PART_ADDR.
36588 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36589 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36590
38da6516 365912007-08-29 Robert Millan <rmh@aybabtu.com>
36592
36593 Patch from Simon Peter <dn.tlp@gmx.net>:
36594 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36595 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36596 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36597 util/i386/pc/grub-setup.c_DEPENDENCIES.
36598 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36599 util/grub-probe.c_DEPENDENCIES.
36600 * conf/powerpc-ieee1275.rmk: Likewise.
36601
29d0928c 366022007-08-28 Robert Millan <rmh@aybabtu.com>
36603
36604 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36605 to tell grub-mkdevicemap how to name devices.
36606 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36607 feature).
36608
36609 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36610 util/i386/get_disk_name.c.
36611 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36612 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36613 util/ieee1275/get_disk_name.c.
36614
36615 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36616
36617 * DISTLIST: Add util/i386/get_disk_name.c and
36618 util/ieee1275/get_disk_name.c.
36619
36620 * util/grub-mkdevicemap.c: Replace device naming logic with
36621 grub_util_get_disk_name() calls.
36622
5a0d3cca 366232007-08-20 Robert Millan <rmh@aybabtu.com>
36624
36625 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36626 (so that it works for both plural and singular quantities).
36627
8b72db2f 366282007-08-05 Robert Millan <rmh@aybabtu.com>
36629
36630 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36631 so that [xz] isn't taken into account when determining order.
36632
352466bf 366332007-08-02 Marco Gerards <marco@gnu.org>
36634
36635 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36636 `include/multiboot2.h', `include/grub/elfload.h',
36637 `include/multiboot.h', `include/grub/multiboot.h',
36638 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36639 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36640 `kern/elf.c', `loader/multiboot_loader.c',
36641 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36642 `loader/i386/pc/multiboot2.c',
36643 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36644 `util/i386/pc/grub-mkrescue.in'. Remove
36645 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36646 `include/grub/i386/pc/util/biosdisk.h' and
36647 `include/grub/powerpc/ieee1275/multiboot.h'.
36648
8f096014 366492007-08-02 Bean <bean123ch@gmail.com>
36650
36651 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36652 (ntfs_mod_SOURCES): New variable.
36653 (ntfs_mod_CFLAGS): Likewise.
36654 (ntfs_mod_LDFLAGS): Likewise.
36655
36656 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36657 (grub_probe_SOURCES): Likewise.
36658 (grub_emu_SOURCES): Likewise.
36659
36660 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36661 (grub_emu_SOURCES): Likewise.
36662
36663 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36664 (grub_emu_SOURCES): Likewise.
f19dbdb7 36665
8f096014 36666 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36667
36668 * fs/ntfs.c: New file.
36669
9959f7db 366702007-08-02 Bean <bean123ch@gmail.com>
36671
36672 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36673
36674 * file.h (grub_file): Likewise.
36675
36676 * fshelp.h (grub_fshelp_read_file): Likewise.
36677
36678 * util/i386/pc/grub-setup.c (setup): Likewise.
36679 (save_first_sector): Likewise.
36680 (save_blocklists): Likewise.
f19dbdb7 36681
9959f7db 36682 * fs/affs.c (grub_affs_read_file): Likewise.
36683
36684 * fs/ext2.c (grub_ext2_read_file): Likewise.
36685
36686 * fs/fat.c (grub_fat_read_data): Likewise.
36687
36688 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36689
36690 * fs/hfs.c (grub_hfs_read_file): Likewise.
36691
36692 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36693
36694 * fs/jfs.c (grub_jfs_read_file): Likewise.
36695
36696 * fs/minix.c (grub_minix_read_file): Likewise.
36697
36698 * fs/sfs.c (grub_sfs_read_file): Likewise.
36699
36700 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36701
9959f7db 36702 * fs/xfs.c (grub_xfs_read_file): Likewise.
36703
36704 * command/blocklist.c (read_blocklist): Likewise.
36705 (print_blocklist): Likewise.
36706
0a203f83 367072007-08-02 Marco Gerards <marco@gnu.org>
36708
36709 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36710 `util/hostfs.c'.
36711
36712 * disk/host.c: New file.
36713
36714 * util/hostfs.c: Likewise.
36715
36716 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36717 return `GRUB_ERR_BAD_FS'.
36718 * fs/sfs.c (grub_sfs_mount): Likewise.
36719 * fs/xfs.c (grub_xfs_mount): Likewise.
36720
36721 * include/grub/disk.h (enum grub_disk_dev_id): Add
36722 `GRUB_DISK_DEVICE_HOST_ID'.
36723
36724 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36725
e5dfe777 367262007-07-24 Jerone Young <jerone@gmail.com>
36727
f19dbdb7 36728 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36729 modules for compilation.
36730 * conf/powerpc-ieee1275.rmk: Likewise.
36731
36732 * include/multiboot.h: Move multiboot definitions to one file. Rename
36733 many definitions to not get grub specific.
36734 * include/multiboot2.h: Create header with multiboot 2 definitions.
36735 * include/grub/multiboot.h: Header for grub specific function
36736 prototypes and definitions.
36737 * include/grub/multiboot2.h: Likewise.
36738 * include/grub/multiboot_loader.h: Likewise.
36739 * include/grub/i386/pc/multiboot.h: Removed.
36740 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36741
36742 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36743 and 2 to allow for one multiboot and module commands.
36744 * loader/multiboot2.c: Add multiboot2 functionality.
36745 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36746 and definition names.
36747 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36748 2 functions.
36749 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36750 ieee1275 specific multiboot2 code.
36751
36752 * kern/i386/pc/startup.S: Change headers and definition names for
36753 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36754
daf0f0ba 367552007-07-22 Robert Millan <rmh@aybabtu.com>
36756
36757 * geninitheader.sh: Process file specified in first parameter rather
36758 than hardcoding grub_modules_init.lst.
fe6b695a 36759 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36760 than hardcoding grub_modules_init.h.
36761
36762 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36763 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36764 grub_probe_init.[ch] and grub_setup_init.[ch].
36765
36766 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36767 grub_modules_init.h with grub_emu_init.h.
36768 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36769 grub_probe_init.[ch] files.
36770 * conf/i386-efi.rmk: Likewise.
36771 * conf/i386-pc.rmk: Likewise.
36772 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36773 grub_setup_init.[ch] files.
36774
36775 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36776 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36777 to initialize modules rather than a list of hardcoded functions.
36778 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36779 grub_init_all() to initialize modules rather than a list of hardcoded
36780 functions.
36781
54cdc1cc 367822007-07-22 Robert Millan <rmh@aybabtu.com>
36783
36784 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36785 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36786
ad0686cc 367872007-07-22 Robert Millan <rmh@aybabtu.com>
36788
36789 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36790 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36791 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36792 flag when running on SmartFirmware.
36793 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36794 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36795 was set.
36796
36797 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36798 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36799 rather than decreasing it.
36800
36801 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36802 there's not enough space to do it, fail in the same way as when it
36803 can't be done because there are no partitions.
36804
36805 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36806 when nvsetenv failed.
36807
969c02ec 368082007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36809
36810 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36811 because this rule is automatically generated.
36812 (grub-mkrescue): Removed for the same reason as above.
36813
5a79f472 368142007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36815
36816 Migrate to GNU General Public License Version 3.
f19dbdb7 36817
5a79f472 36818 * COPYING: Replaced with the plain text version of GPLv3.
36819
36820 * config.guess: Updated from gnulib.
36821 * config.sub: Likewise.
36822
36823 * geninit.sh: Output a GPLv3 copyright notice.
36824 * geninitheader.sh: Likewise.
36825 * genmodsrc.sh: Likewise.
36826 * gensymlist.sh.in: Likewise.
36827
36828 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36829 * boot/i386/pc/diskboot.S: Likewise.
36830 * boot/i386/pc/pxeboot.S: Likewise.
36831 * commands/blocklist.c: Likewise.
36832 * commands/boot.c: Likewise.
36833 * commands/cat.c: Likewise.
36834 * commands/cmp.c: Likewise.
36835 * commands/configfile.c: Likewise.
36836 * commands/echo.c: Likewise.
36837 * commands/help.c: Likewise.
36838 * commands/ls.c: Likewise.
36839 * commands/search.c: Likewise.
36840 * commands/terminal.c: Likewise.
36841 * commands/test.c: Likewise.
36842 * commands/videotest.c: Likewise.
36843 * commands/i386/cpuid.c: Likewise.
36844 * commands/i386/pc/halt.c: Likewise.
36845 * commands/i386/pc/play.c: Likewise.
36846 * commands/i386/pc/reboot.c: Likewise.
36847 * commands/i386/pc/vbeinfo.c: Likewise.
36848 * commands/i386/pc/vbetest.c: Likewise.
36849 * commands/ieee1275/halt.c: Likewise.
36850 * commands/ieee1275/reboot.c: Likewise.
36851 * commands/ieee1275/suspend.c: Likewise.
36852 * disk/loopback.c: Likewise.
36853 * disk/lvm.c: Likewise.
36854 * disk/raid.c: Likewise.
36855 * disk/efi/efidisk.c: Likewise.
36856 * disk/i386/pc/biosdisk.c: Likewise.
36857 * disk/ieee1275/ofdisk.c: Likewise.
36858 * font/manager.c: Likewise.
36859 * fs/affs.c: Likewise.
36860 * fs/ext2.c: Likewise.
36861 * fs/fat.c: Likewise.
36862 * fs/fshelp.c: Likewise.
36863 * fs/hfs.c: Likewise.
36864 * fs/hfsplus.c: Likewise.
36865 * fs/iso9660.c: Likewise.
36866 * fs/jfs.c: Likewise.
36867 * fs/minix.c: Likewise.
36868 * fs/sfs.c: Likewise.
36869 * fs/ufs.c: Likewise.
36870 * fs/xfs.c: Likewise.
36871 * hello/hello.c: Likewise.
36872 * include/grub/acorn_filecore.h: Likewise.
36873 * include/grub/arg.h: Likewise.
36874 * include/grub/bitmap.h: Likewise.
36875 * include/grub/boot.h: Likewise.
36876 * include/grub/cache.h: Likewise.
36877 * include/grub/device.h: Likewise.
36878 * include/grub/disk.h: Likewise.
36879 * include/grub/dl.h: Likewise.
36880 * include/grub/elfload.h: Likewise.
36881 * include/grub/env.h: Likewise.
36882 * include/grub/err.h: Likewise.
36883 * include/grub/file.h: Likewise.
36884 * include/grub/font.h: Likewise.
36885 * include/grub/fs.h: Likewise.
36886 * include/grub/fshelp.h: Likewise.
36887 * include/grub/gzio.h: Likewise.
36888 * include/grub/hfs.h: Likewise.
36889 * include/grub/kernel.h: Likewise.
36890 * include/grub/loader.h: Likewise.
36891 * include/grub/lvm.h: Likewise.
36892 * include/grub/misc.h: Likewise.
36893 * include/grub/mm.h: Likewise.
36894 * include/grub/net.h: Likewise.
36895 * include/grub/normal.h: Likewise.
36896 * include/grub/parser.h: Likewise.
36897 * include/grub/partition.h: Likewise.
36898 * include/grub/pc_partition.h: Likewise.
36899 * include/grub/raid.h: Likewise.
36900 * include/grub/rescue.h: Likewise.
36901 * include/grub/script.h: Likewise.
36902 * include/grub/setjmp.h: Likewise.
36903 * include/grub/symbol.h: Likewise.
36904 * include/grub/term.h: Likewise.
36905 * include/grub/terminfo.h: Likewise.
36906 * include/grub/tparm.h: Likewise.
36907 * include/grub/types.h: Likewise.
36908 * include/grub/video.h: Likewise.
36909 * include/grub/efi/api.h: Likewise.
36910 * include/grub/efi/chainloader.h: Likewise.
36911 * include/grub/efi/console.h: Likewise.
36912 * include/grub/efi/console_control.h: Likewise.
36913 * include/grub/efi/disk.h: Likewise.
36914 * include/grub/efi/efi.h: Likewise.
36915 * include/grub/efi/pe32.h: Likewise.
36916 * include/grub/efi/time.h: Likewise.
36917 * include/grub/i386/linux.h: Likewise.
36918 * include/grub/i386/setjmp.h: Likewise.
36919 * include/grub/i386/types.h: Likewise.
36920 * include/grub/i386/efi/kernel.h: Likewise.
36921 * include/grub/i386/efi/loader.h: Likewise.
36922 * include/grub/i386/efi/time.h: Likewise.
36923 * include/grub/i386/pc/biosdisk.h: Likewise.
36924 * include/grub/i386/pc/boot.h: Likewise.
36925 * include/grub/i386/pc/chainloader.h: Likewise.
36926 * include/grub/i386/pc/console.h: Likewise.
36927 * include/grub/i386/pc/init.h: Likewise.
36928 * include/grub/i386/pc/kernel.h: Likewise.
36929 * include/grub/i386/pc/loader.h: Likewise.
36930 * include/grub/i386/pc/memory.h: Likewise.
36931 * include/grub/i386/pc/multiboot.h: Likewise.
36932 * include/grub/i386/pc/serial.h: Likewise.
36933 * include/grub/i386/pc/time.h: Likewise.
36934 * include/grub/i386/pc/vbe.h: Likewise.
36935 * include/grub/i386/pc/vbeblit.h: Likewise.
36936 * include/grub/i386/pc/vbefill.h: Likewise.
36937 * include/grub/i386/pc/vbeutil.h: Likewise.
36938 * include/grub/i386/pc/vga.h: Likewise.
36939 * include/grub/ieee1275/ieee1275.h: Likewise.
36940 * include/grub/ieee1275/ofdisk.h: Likewise.
36941 * include/grub/powerpc/libgcc.h: Likewise.
36942 * include/grub/powerpc/setjmp.h: Likewise.
36943 * include/grub/powerpc/types.h: Likewise.
36944 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36945 * include/grub/powerpc/ieee1275/console.h: Likewise.
36946 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36947 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36948 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36949 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36950 * include/grub/powerpc/ieee1275/time.h: Likewise.
36951 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36952 * include/grub/sparc64/libgcc.h: Likewise.
36953 * include/grub/sparc64/setjmp.h: Likewise.
36954 * include/grub/sparc64/types.h: Likewise.
36955 * include/grub/sparc64/ieee1275/console.h: Likewise.
36956 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36957 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36958 * include/grub/sparc64/ieee1275/time.h: Likewise.
36959 * include/grub/util/biosdisk.h: Likewise.
36960 * include/grub/util/getroot.h: Likewise.
36961 * include/grub/util/lvm.h: Likewise.
36962 * include/grub/util/misc.h: Likewise.
36963 * include/grub/util/raid.h: Likewise.
36964 * include/grub/util/resolve.h: Likewise.
36965 * io/gzio.c: Likewise.
36966 * kern/device.c: Likewise.
36967 * kern/disk.c: Likewise.
36968 * kern/dl.c: Likewise.
36969 * kern/elf.c: Likewise.
36970 * kern/env.c: Likewise.
36971 * kern/err.c: Likewise.
36972 * kern/file.c: Likewise.
36973 * kern/fs.c: Likewise.
36974 * kern/loader.c: Likewise.
36975 * kern/main.c: Likewise.
36976 * kern/misc.c: Likewise.
36977 * kern/mm.c: Likewise.
36978 * kern/parser.c: Likewise.
36979 * kern/partition.c: Likewise.
36980 * kern/rescue.c: Likewise.
36981 * kern/term.c: Likewise.
36982 * kern/efi/efi.c: Likewise.
36983 * kern/efi/init.c: Likewise.
36984 * kern/efi/mm.c: Likewise.
36985 * kern/i386/dl.c: Likewise.
36986 * kern/i386/efi/init.c: Likewise.
36987 * kern/i386/efi/startup.S: Likewise.
36988 * kern/i386/pc/init.c: Likewise.
36989 * kern/i386/pc/lzo1x.S: Likewise.
36990 * kern/i386/pc/startup.S: Likewise.
36991 * kern/ieee1275/ieee1275.c: Likewise.
36992 * kern/powerpc/cache.S: Likewise.
36993 * kern/powerpc/dl.c: Likewise.
36994 * kern/powerpc/ieee1275/cmain.c: Likewise.
36995 * kern/powerpc/ieee1275/crt0.S: Likewise.
36996 * kern/powerpc/ieee1275/init.c: Likewise.
36997 * kern/powerpc/ieee1275/openfw.c: Likewise.
36998 * kern/sparc64/cache.S: Likewise.
36999 * kern/sparc64/dl.c: Likewise.
37000 * kern/sparc64/ieee1275/init.c: Likewise.
37001 * kern/sparc64/ieee1275/openfw.c: Likewise.
37002 * loader/efi/chainloader.c: Likewise.
37003 * loader/efi/chainloader_normal.c: Likewise.
37004 * loader/i386/efi/linux.c: Likewise.
37005 * loader/i386/efi/linux_normal.c: Likewise.
37006 * loader/i386/pc/chainloader.c: Likewise.
37007 * loader/i386/pc/chainloader_normal.c: Likewise.
37008 * loader/i386/pc/linux.c: Likewise.
37009 * loader/i386/pc/linux_normal.c: Likewise.
37010 * loader/i386/pc/multiboot.c: Likewise.
37011 * loader/i386/pc/multiboot_normal.c: Likewise.
37012 * loader/powerpc/ieee1275/linux.c: Likewise.
37013 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37014 * normal/arg.c: Likewise.
37015 * normal/cmdline.c: Likewise.
37016 * normal/command.c: Likewise.
37017 * normal/completion.c: Likewise.
37018 * normal/execute.c: Likewise.
37019 * normal/function.c: Likewise.
37020 * normal/lexer.c: Likewise.
37021 * normal/main.c: Likewise.
37022 * normal/menu.c: Likewise.
37023 * normal/menu_entry.c: Likewise.
37024 * normal/misc.c: Likewise.
37025 * normal/parser.y: Likewise.
37026 * normal/script.c: Likewise.
37027 * normal/i386/setjmp.S: Likewise.
37028 * normal/powerpc/setjmp.S: Likewise.
37029 * normal/sparc64/setjmp.S: Likewise.
37030 * partmap/acorn.c: Likewise.
37031 * partmap/amiga.c: Likewise.
37032 * partmap/apple.c: Likewise.
37033 * partmap/gpt.c: Likewise.
37034 * partmap/pc.c: Likewise.
37035 * partmap/sun.c: Likewise.
37036 * term/gfxterm.c: Likewise.
37037 * term/terminfo.c: Likewise.
37038 * term/efi/console.c: Likewise.
37039 * term/i386/pc/console.c: Likewise.
37040 * term/i386/pc/serial.c: Likewise.
37041 * term/i386/pc/vesafb.c: Likewise.
37042 * term/i386/pc/vga.c: Likewise.
37043 * term/ieee1275/ofconsole.c: Likewise.
37044 * util/biosdisk.c: Likewise.
37045 * util/console.c: Likewise.
37046 * util/genmoddep.c: Likewise.
37047 * util/getroot.c: Likewise.
37048 * util/grub-emu.c: Likewise.
37049 * util/grub-mkdevicemap.c: Likewise.
37050 * util/grub-probe.c: Likewise.
37051 * util/lvm.c: Likewise.
37052 * util/misc.c: Likewise.
37053 * util/raid.c: Likewise.
37054 * util/resolve.c: Likewise.
37055 * util/update-grub.in: Likewise.
37056 * util/update-grub_lib.in: Likewise.
37057 * util/grub.d/00_header.in: Likewise.
37058 * util/grub.d/10_hurd.in: Likewise.
37059 * util/grub.d/10_linux.in: Likewise.
37060 * util/i386/efi/grub-install.in: Likewise.
37061 * util/i386/efi/grub-mkimage.c: Likewise.
37062 * util/i386/pc/grub-install.in: Likewise.
37063 * util/i386/pc/grub-mkimage.c: Likewise.
37064 * util/i386/pc/grub-mkrescue.in: Likewise.
37065 * util/i386/pc/grub-setup.c: Likewise.
37066 * util/i386/pc/misc.c: Likewise.
37067 * util/powerpc/ieee1275/grub-install.in: Likewise.
37068 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37069 * util/powerpc/ieee1275/misc.c: Likewise.
37070 * video/bitmap.c: Likewise.
37071 * video/video.c: Likewise.
37072 * video/i386/pc/vbe.c: Likewise.
37073 * video/i386/pc/vbeblit.c: Likewise.
37074 * video/i386/pc/vbefill.c: Likewise.
37075 * video/i386/pc/vbeutil.c: Likewise.
37076 * video/readers/tga.c: Likewise.
37077
3572d015 370782007-07-02 Robert Millan <rmh@aybabtu.com>
37079
37080 * conf/i386-efi.rmk: Replace obsolete reference to
37081 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37082 with util/getroot.c.
37083 * conf/powerpc-ieee1275.rmk: Likewise.
37084 * conf/sparc64-ieee1275.rmk: Likewise.
37085
37086 * util/grub-emu.c (main): Fix unchecked pointer handling.
37087
2c2a681b 370882007-07-02 Robert Millan <rmh@aybabtu.com>
37089
37090 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37091 invocation to fail, in order to support partition-less media.
37092
37093 * util/i386/pc/grub-install.in: Likewise.
37094
37095 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37096 which fs or partmap modules are needed (akin to its sister scripts).
37097
37098 Also use grub-probe to get rid of unportable /proc/mounts check.
37099
37100 Print the same informational message that the other scripts do, before
fe6b695a 37101 exiting.
2c2a681b 37102
6193defe 371032007-06-23 Robert Millan <rmh@aybabtu.com>
37104
fe6b695a 37105 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37106 a font file can be found and, if so, echo the GRUB path to it.
37107
37108 * util/update-grub.in: Handle multiple terminals depending on user
37109 input, platform availability and font file presence. Propagate
37110 variables of our findings to /etc/grub.d/ children.
37111
37112 * util/grub.d/00_header.in: Handle multiple terminals, based on
37113 environment setup by update-grub.
37114
eface1dc 371152007-06-23 Robert Millan <rmh@aybabtu.com>
37116
ba50d28f 37117 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37118
bf697e28 371192007-06-21 Robert Millan <rmh@aybabtu.com>
37120
37121 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37122 indicate end of data section in kernel image.
37123 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37124 GRUB_KERNEL_MACHINE_DATA_END.
37125
37126 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37127 space for it.
37128 * kern/i386/efi/startup.S: Likewise.
37129
37130 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37131 during image generation. Implement --prefix option to override this
37132 patch.
37133 * util/i386/efi/grub-mkimage.c: Likewise.
37134
37135 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37136 code to make path relative to its root into a separate function.
37137
37138 * util/i386/pc/grub-install.in: Use newly provided
37139 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37140 pass the result to grub-install --prefix.
37141
baa574b4 371422007-06-13 Robert Millan <rmh@aybabtu.com>
37143
37144 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37145 DEFAULT_DEVICE_MAP.
37146 * util/grub-emu.c: Use above definitions from misc.h instead of
37147 defining them.
37148 * util/grub-mkdevicemap.c: Likewise.
37149 * util/i386/pc/grub-setup.c: Likewise.
37150 * util/grub-probe.c: Likewise.
37151 (probe): Abort with grub_util_error() when either
37152 grub_guess_root_device or grub_util_get_grub_dev fails.
37153
0215dcbf 371542007-06-12 Robert Millan <rmh@aybabtu.com>
37155
37156 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37157 "pager" assignment.
37158 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37159 "pcdata".
37160 * util/grub-probe.c (probe): Likewise for "drive_name".
37161
8af2ab7b 371622007-06-11 Robert Millan <rmh@aybabtu.com>
37163
37164 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37165 not just the cdrom one.
37166
59d31694 371672007-06-11 Robert Millan <rmh@aybabtu.com>
37168
37169 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37170 Add --pkglibdir=DIR option to override pkglibdir.
37171 Mention --image-type=TYPE in help output.
37172 Fix --grub-mkimage (it was a no-op).
fe6b695a 37173 Abort gracefully when no parameter is given.
59d31694 37174
7ee367e4 371752007-06-11 Robert Millan <rmh@aybabtu.com>
37176
37177 * util/i386/pc/grub-mkrescue.in: New file.
37178 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37179 * Makefile.in: Handle bin_SCRIPTS.
37180
29b0ed46 371812007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37182
37183 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37184 list of video modes.
37185
c0f90770 371862007-06-06 Robert Millan <rmh@aybabtu.com>
37187
37188 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37189 file doesn't exist, or if it is in a filesystem grub can't read.
37190
37191 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37192 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37193 header comment to fit in 80 columns when the variables are resolved.
37194
37195 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37196 could be identified by update-grub. Remove redundant check for
fe6b695a 37197 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37198 handles that).
37199
fb36dc26 372002007-06-04 Robert Millan <rmh@aybabtu.com>
37201
37202 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37203
37204 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37205
37206 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37207
0c68c93e 372082007-06-04 Robert Millan <rmh@aybabtu.com>
37209
37210 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37211
37212 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37213 grub_apple_partition_map_fini.
37214
37215 * util/biosdisk.c
37216 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37217 to access >2 TiB disks).
37218
37219 Print disk->total_sectors with %llu instead of %lu, since this
37220 variable is always 64-bit (prevents wrong disk size from being displayed
37221 on either >2 TiB disk or big-endian CPU).
37222
37223 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37224 into a generic case that supports all (sane) partition maps.
37225
37226 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37227 breaks big-endian.
37228
37229 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37230 and grub_apple_partition_map_fini() after that.
37231
0f23eb74 372322007-06-01 Robert Millan <rmh@aybabtu.com>
37233
37234 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37235
37236 * util/grub.d/00_header.in: Only enable gfxterm when
37237 convert_system_path_to_grub_path() succeeds.
37238
42c71976 372392007-05-20 Robert Millan <rmh@aybabtu.com>
37240
37241 * util/update-grub_lib.in: New file.
37242 * DISTLIST: Add update-grub_lib.in.
37243 * conf/common.rmk: Generate update-grub_lib and install it in
37244 $(lib_DATA).
37245 * Makefile.in: Add install routine for $(lib_DATA).
37246
37247 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37248 function provided by update-grub_lib to support arbitrary paths of
37249 unifont.pff.
37250 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37251 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37252
5beb2291 372532007-05-19 Robert Millan <rmh@aybabtu.com>
37254
37255 * commands/i386/cpuid.c: New module.
37256 * DISTLIST: Add it.
37257 * conf/i386-efi.rmk: Enable cpuid.mod.
37258 * conf/i386-pc.rmk: Likewise.
37259
7262eca1 372602007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37261
37262 * kern/disk.c (grub_disk_read): Check return value of
37263 grub_realloc().
37264
260ba823 372652007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37266
37267 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37268 arrays.
37269 * disk/raid.c (grub_raid_open): Likewise.
37270
1ecb6cf2 372712007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37272
37273 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37274 stack instead of on the heap.
37275
37276 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37277 before doing a read on it.
37278
37279 * configure.ac: Only use -fno-stack-protector for the target
37280 environment.
f19dbdb7 37281
21c8cbb1 372822007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37283
37284 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37285 __attribute_ ((unused)) to mode_type argument.
37286
37287 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37288
21c8cbb1 37289 * kern/misc.c (memcmp): Fix prototype.
37290
37291 * include/grub/partition.h [GRUB_UTIL]
37292 (grub_gpt_partition_map_init): Add prototype.
37293 (grub_gpt_partition_map_fini): Likewise.
37294
37295 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37296 at the right place.
37297
37298 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37299 (grub_fat_read_data): Likewise.
37300 (grub_fat_find_dir): Likewise.
37301
37302 * font/manager.c (find_glyph): Make table a const.
37303 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37304
849d55d3 373052007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37306
37307 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37308 code, first search for device in /dev/mapper, then in /dev.
37309 (grub_util_get_grub_dev): New function.
37310 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37311 prototype.
37312 * util/grub-probe.c (probe): Remove check for RAID, call
37313 grub_util_get_grub_dev() instead of
37314 grub_util_biosdisk_get_grub_dev().
37315 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37316 grub_util_biosdisk_get_grub_dev().
37317 * util/i386/pc/grub-setup.c (main): Likewise.
37318
8fff7c2f 373192007-05-16 Robert Millan <rmh@aybabtu.com>
37320
37321 * DISTLIST: Update for the latest changes.
37322 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37323 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37324 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37325 grub/util/biosdisk.h.
37326 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37327 grub/util/biosdisk.h.
37328
48e12b52 373292007-05-16 Robert Millan <rmh@aybabtu.com>
37330
37331 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37332
46b9d128 373332007-05-16 Robert Millan <rmh@aybabtu.com>
37334
37335 * util/i386/efi/grub-install.in: New.
37336 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37337 newly added grub-install.
37338 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37339 include.
37340 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37341 grub/util/biosdisk.h.
37342 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37343 grub/util/biosdisk.h.
37344
2d1a40a9 373452007-05-16 Robert Millan <rmh@aybabtu.com>
37346
37347 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37348 * include/grub/util/biosdisk.h: ... here.
37349 * util/i386/pc/biosdisk.c: Moved to ...
37350 * util/biosdisk.c: ... here.
37351 * util/i386/pc/getroot.c: Moved to ...
37352 * util/getroot.c: ... here.
37353 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37354 * util/grub-mkdevicemap.c: ... here.
37355 * util/i386/pc/grub-probe.c: Moved to ...
37356 * util/grub-probe.c: ... here.
37357
9e26e3bc 373582007-05-15 Robert Millan <rmh@aybabtu.com>
37359
37360 * util/update-grub.in: Remove duplicated line in grub.cfg header
37361 message.
37362
57f96397 373632007-05-13 Robert Millan <rmh@aybabtu.com>
37364
37365 * util/update-grub.in: Fix a few assumptions about the devices holding
37366 /, /boot and /boot/grub being the same.
37367 * util/grub.d/00_header.in: Likewise.
37368 * util/grub.d/10_hurd.in: Likewise.
37369 * util/grub.d/10_linux.in: Likewise.
37370
37371 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37372 patterns. Use that to define the `.old' suffix as older than `'.
37373
37374 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37375
37376 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37377 the grub.cfg header message.
37378
2e610d62 373792007-05-11 Robert Millan <rmh@aybabtu.com>
37380
37381 * util/update-grub.in: Create device.map if it doesn't already exist,
37382 before attempting to run grub-probe.
37383 Check for grub-probe and grub-mkdevicemap with the same code
37384 grub-install is using.
37385 Remove test mode.
37386
3f6a10ef 373872007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37388
37389 * Makefile.in: Add the datarootdir autoconf variable.
37390
02e7b75e 373912007-05-09 Robert Millan <rmh@aybabtu.com>
37392
37393 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37394 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37395
75f396cc 373962007-05-07 Robert Millan <rmh@aybabtu.com>
37397
37398 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37399 determine partition map module.
37400 * util/i386/pc/grub-install.in: Use this feature to decide which
37401 partition module to load, instead of hardcoding pc and gpt.
37402
da65cb36 374032007-05-07 Robert Millan <rmh@aybabtu.com>
37404
37405 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37406 source directory differs from build directory.
37407
b57d6a91 374082007-05-05 Robert Millan <rmh@aybabtu.com>
37409
37410 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37411 initialisation.
37412
509d00f1 374132007-05-05 Robert Millan <rmh@aybabtu.com>
37414
37415 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37416
c48f23ef 374172007-05-05 Robert Millan <rmh@aybabtu.com>
37418
37419 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37420 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37421
20b97658 374222007-05-05 Robert Millan <rmh@aybabtu.com>
37423
37424 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37425 (grub_probe_SOURCES): Likewise.
37426 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37427 GPT and initialize dos_part and bsd_part accordingly.
37428 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37429 install_bsd_part.
37430 (main): Activate gpt module for use during partition identification,
37431 and deactivate it afterwards.
37432 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37433 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37434 partition identification, and deactivate it afterwards.
37435
99123174 374362007-05-05 Robert Millan <rmh@aybabtu.com>
37437
37438 * term/i386/pc/console.c (grub_console_fini): Call
37439 grub_term_set_current() before grub_term_unregister().
37440
ebd97f6e 374412007-05-04 Robert Millan <rmh@aybabtu.com>
37442
37443 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37444 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37445 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37446 and update-grub_DATA.
37447 * conf/common.rmk: Build and install update-grub components.
37448 * conf/common.mk: Regenerate.
37449 * util/update-grub.in: New. Core of update-grub.
37450 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37451 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37452 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37453 * util/grub.d/README: New. Document grub.d directory layout.
37454
b06a264d 374552007-05-01 Robert Millan <rmh@aybabtu.com>
37456
37457 * util/grub-emu.c: Move initialization functions
37458 grub_util_biosdisk_init() and grub_init_all() before
37459 grub_util_biosdisk_get_grub_dev(), which relies on them.
37460
41f0050e 374612007-04-19 Robert Millan <rmh@aybabtu.com>
37462
37463 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37464 it is used later.
37465
04582bb3 374662007-04-18 Jerone Young <jerone@gmail.com>
37467
f19dbdb7 37468 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37469 stanza.
37470
08db4632 374712007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37472
08db4632 37473 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37474 continue on and look for device node with real device name.
37475
801b76be 374762007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37477
fe6b695a 37478 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37479 ability.
37480 * Makefile.in: Add autoconf package transformation code.
37481 * util/i386/pc/grub-install.in: Likewise.
37482 * util/powerpc/ieee1275/grub-install.in: Likewise.
37483
6795c4e1 374842007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37485
37486 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37487 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37488 (EXT2_REVISION): Likewise.
37489 (EXT2_INODE_SIZE): Likewise.
37490 (struct grub_ext2_block_group): Added a missing member
37491 "used_dirs".
37492 (grub_ext2_read_inode): Divide by the inode size in a superblock
37493 instead of 128 to obtain INODES_PER_BLOCK.
37494 Use the macro EXT2_INODE_SIZE instead of directly using
37495 SBLOCK->INODE_SIZE.
37496
d70af616 374972007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37498
37499 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37500 superblock instead of the structure size to compute an
37501 offset. This fixes the problem that GRUB could not read a
37502 filesystem when inode size is different from 128-byte.
37503
3b801603 375042007-03-05 Marco Gerards <marco@gnu.org>
37505
37506 * normal/main.c (read_config_file): When "menu" is not set, create
37507 an initial context.
37508
4785bfe4 375092007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37510
37511 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37512 (HEAP_LIMIT): New macro.
37513 (grub_claim_heap): Claim memory up to `heaplimit'.
37514
a0cbb023 375152007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37516
37517 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37518 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37519 (_start): Likewise.
37520 (grub_arch_modules_addr): Return address after `_end'.
37521 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37522 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37523 (add_segments): Calculate `_end' from phdr size and location.
37524 (ALIGN_UP): Moved to ...
37525 * include/grub/misc.h: here.
37526 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37527 New macro.
37528 (GRUB_IEEE1275_MODULE_BASE): Removed.
37529
fd7d8eba 375302007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37531
37532 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37533 loop boundary.
37534
9b09e6fc 375352007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37536
37537 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37538 All users updated.
37539 (grub_elf64_load_hook_t): Likewise.
37540 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37541 debug output.
37542
3ce27299 375432007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37544
37545 * kern/mm.c: Update copyright.
37546 (grub_mm_debug): Correct syntax error.
37547 (grub_mm_dump_free): New function.
37548 (grub_debug_free): Call `grub_free'.
37549 * include/grub/mm.h: Update copyright.
37550 (grub_mm_dump_free): Add declaration.
37551
077d5fee 375522007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37553
37554 * include/grub/ieee1275/ieee1275.h: Update copyright.
37555 * kern/powerpc/ieee1275/init.c: Likewise.
37556 * kern/powerpc/ieee1275/openfw.c: Likewise.
37557
37558 * loader/powerpc/ieee1275/linux.c: Likewise.
37559 * include/grub/elfload.h: Likewise.
37560 * kern/elf.c: Likewise.
37561 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37562 callers.
37563 (grub_elf64_load): Likewise.
37564 (grub_elf32_load_segment): Move to a nested function.
37565 (grub_elf64_load_segment): Likewise.
37566
dc946850 375672007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37568
37569 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37570 prototype.
37571 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37572 (grub_heap_len): Likewise.
37573 (HEAP_SIZE): New macro.
37574 (grub_claim_heap): New function.
37575 (grub_machine_init): Don't claim heap directly. Call
37576 `grub_claim_heap'.
37577 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37578 (grub_available_iterate): New function.
37579
baa2a121 375802007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37581
37582 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37583 * configure.ac: Use it for testing the HOST and TARGET compilers.
37584
4fe9862e 375852006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37586
37587 * Makefile.in (enable_grub_emu): New variable.
37588 * configure.ac (--enable-grub-emu): New option.
37589 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37590 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37591 * conf/i386-pc.rmk: Likewise.
37592 * conf/powerpc-ieee1275.rmk: Likewise.
37593 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37594
a8aa5762 375952006-12-12 Marco Gerards <marco@gnu.org>
37596
37597 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37598
37599 * kern/env.c (grub_env_unset): Don't free the member `value' when
37600 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37601 pointer.
37602
37603 * normal/main.c (current_menu): Removed.
37604 (free_menu): Unset the `menu' environment variable.
37605 (grub_normal_menu_addentry): Make use of the environment variable
37606 `menu', instead of using the global `current_menu'. Allocate
37607 memory for the sourcecode of this entry.
37608 (read_config_file): New argument `nested', changed all callers.
37609 Only in the case of a new context, initialize a new menu. Set the
37610 `menu' environment variable.
37611 (grub_normal_execute): Don't set and unset the environment
37612 variable `menu' here anymore. Only free the menu when leaving the
37613 context.
37614
37615 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37616 leak.
37617
957b3a3e 376182006-12-11 Marco Gerards <marco@gnu.org>
37619
37620 * normal/menu_entry.c (run): Fix off by one bug so the last line
37621 is executed. Move the loader check to outside the loop.
37622
ef875714 376232006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37624
37625 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37626
4e739985 376272006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37628
37629 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37630 the number of sectors. Reported by Andrey Shuvikov
37631 <mr_hyro@yahoo.com>.
f19dbdb7 37632
790707f2 376332006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37634
37635 * kern/disk.c (grub_disk_read): When there is a read error, always
37636 try to read only the necessary data.
f19dbdb7 37637
790707f2 37638 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37639 disk/raid.c.
37640 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37641 prototype.
37642 [GRUB_UTIL] (grub_raid_fini): Likewise.
37643 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37644 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37645 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37646 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37647 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37648 and grub_raid_fini().
f19dbdb7 37649
03e58196 376502006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37651
37652 * include/grub/types.h (__unused): Rename to UNUSED.
37653 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37654 (grub_elf64_size): Likewise.
f19dbdb7 37655
ae4f23bf 376562006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37657
37658 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37659 grub_error_push and grub_error_pop in the error-handling path.
37660 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37661 length.
37662
2166cc83 376632006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37664
37665 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37666 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37668 (kernel_elf_SOURCES): Likewise.
37669 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37670 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37671 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37672 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37673 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37674 (elf_mod_SOURCES): New variable.
37675 (elf_mod_CFLAGS): Likewise.
37676 (elf_mod_LDFLAGS): Likewise.
37677 * include/grub/types.h (__unused): New macro.
37678 * include/grub/elfload.h: New file.
37679 * kern/elf.c: Likewise.
37680 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37681 (ELF32_LOADMASK): New macro.
37682 (ELF64_LOADMASK): Likewise.
37683 (vmlinux): Removed.
37684 (grub_linux_load32): New function.
37685 (grub_linux_load64): Likewise.
37686 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37687 Use grub_elf_t instead of grub_file_t.
37688
a09d5aa5 376892006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37690
37691 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37692 `catch_result' to struct set_color_args.
37693
d976fc51 376942006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37695
37696 * normal/menu.c: Include grub/script.h.
37697 * normal/menu_entry.c: Likewise.
37698 * include/grub/normal.h: Do not include grub/script.h.
37699
67507549 377002006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37701
37702 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37703
69203a99 377042006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37705
37706 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37707 disk.
37708 (grub_disk_close): Print debug messages when closing a disk.
37709 (grub_disk_read): Print debug messages when disk read fails.
37710 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37711 filesystem type.
37712 * kern/partition.c: Include misc.h.
37713 (grub_partition_iterate): Print debug messages when detecting
37714 partition type.
37715
e2b8278c 377162006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37717
37718 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37719 is negative.
37720 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37721
97b2f2ff 377222006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37723
37724 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37725 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37726
6555d655 377272006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37728
37729 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37730 instead of sizeof(lv). Patch by Michael Guntsche.
37731
4d42b77f 377322006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37733
37734 * disk/lvm.c: Rename VGS to VG_LIST.
37735 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37736 (grub_lvm_open): Likewise.
37737 Thanks to Michael Guntsche for finding this bug.
37738
5d74d927 377392006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37740
37741 * configure.ac (AC_INIT): Bumped to 1.95.
37742
a1bb27e4 377432006-10-14 Robert Millan <rmh@aybabtu.com>
37744
37745 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37746 with "/dev/.static/dev/md".
37747
e0994b8b 377482006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37749
37750 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37751 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37752 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37753 DRIVE_NAME are always freed.
37754
37755 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37756 DOS_PART, as a DOS partition is counted from one instead of zero
37757 now. Reported by Robert Millan.
37758
ddd5cee9 377592006-10-14 Robert Millan <rmh@aybabtu.com>
37760
37761 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37762 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37763 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37764 string returned by grub_guess_root_device.
37765 * util/i386/pc/grub-setup.c: Likewise.
37766 * util/i386/pc/grub-probefs.c: Likewise.
37767
37768 * util/i386/pc/grub-probefs.c: Rename to ...
37769 * util/i386/pc/grub-probe.c: ... this.
37770 * DISTLIST: Remove grub-probefs, add grub-probe.
37771 * conf/i386-efi.rmk: Likewise.
37772 * conf/i386-pc.rmk: Likewise.
37773 * util/i386/pc/grub-install.in: Likewise.
37774
37775 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37776 choose which information we want to print.
37777
2b002173 377782006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37779
37780 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37781 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37782 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37783 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37784 video/readers/tga.c and video/i386/pc/vbeutil.c.
37785
377862006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37787
37788 Added support for RAID and LVM.
f19dbdb7 37789
2b002173 37790 * disk/lvm.c: New file.
37791 * disk/raid.c: Likewise.
37792 * include/grub/lvm.h: Likewise.
f19dbdb7 37793 * include/grub/raid.h: Likewise.
2b002173 37794 * include/grub/util/lvm.h: Likewise.
37795 * include/grub/util/raid.h: Likewise.
37796 * util/lvm.c: Likewise.
37797 * util/raid.c: Likewise.
37798
37799 * include/grub/disk.h (grub_disk_dev_id): Add
37800 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37801 (grub_disk_get_size): New prototype.
37802 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37803 returns a partition.
37804 (grub_disk_get_size): New function.
f19dbdb7 37805
2b002173 37806 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37807 verbatim if grub_install_dos_part is -2.
37808
37809 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37810 and LVM devices.
37811
37812 * util/i386/pc/grub-setup.c (setup): New argument
37813 MUST_EMBED. Force embedding of GRUB when the argument is
37814 true. Close FILE before returning.
37815 (main): Add support for RAID and LVM.
f19dbdb7 37816
2b002173 37817 * conf/common.rmk: Add RAID and LVM modules.
37818 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37819 util/lvm.c.
37820 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37821
37822 * kern/misc.c (grub_strstr): New function.
37823 * include/grub/misc.h (grub_strstr): New prototype.
37824
050548d0 378252006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37826
37827 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37828
da849d2d 378292006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37830
37831 * kern/misc.c (grub_strtoull): Guess the base only if not
37832 specified.
37833
97b2f2ff 378342006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37835
37836 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37837 PowerMac support.
37838
97b2f2ff 378392006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37840
37841 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37842
37843 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37844 Remove `flags' argument. All callers changed.
37845 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37846 (IEEE1275_IHANDLE_INVALID): New variable.
37847 (IEEE1275_CELL_INVALID): New variable.
37848 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37849 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37850 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37851 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37852 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37853 codes from Open Firmware. All callers updated.
37854 (grub_ieee1275_next_property): Directly return Open Firmware return
37855 code.
37856 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37857 Standardize error checking from `grub_ieee1275_get_property'.
37858 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37859 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37860
97b2f2ff 378612006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37862
37863 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37864 `instance_to_package_args' to `instance_to_path_args'.
37865
37866 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37867 `grub_ieee1275_chosen'.
37868
37869 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37870 `grub_ieee1275_interpret'.
37871
97b2f2ff 378722006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37873
37874 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37875
97b2f2ff 378762006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37877
37878 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37879 (__cmpdi): Likewise.
37880
37881 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37882 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37883 `grub_ssize_t'.
37884
02bb8acc 37885 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37886
37887 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37888 to type `grub_ssize_t'.
37889 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37890
7f9a8531 378912006-09-22 Marco Gerards <marco@gnu.org>
37892
37893 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37894 newlines.
37895
b5ef1102 378962006-09-22 Marco Gerards <marco@gnu.org>
37897
37898 * commands/echo.c: New file.
37899
37900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37901
37902 * conf/common.rmk (echo_mod_SOURCES): New variable.
37903 (echo_mod_CFLAGS): Likewise.
37904 (echo_mod_LDFLAGS): Likewise.
37905
2cff3677 379062006-09-22 Marco Gerards <marco@gnu.org>
37907
37908 * normal/main.c (get_line): Malloc memory instead of using
37909 preallocated memory. Removed the arguments `cmdline' and
37910 `max_len'. Updated all callers.
37911
6ba4688b 379122006-09-22 Marco Gerards <marco@gnu.org>
37913
37914 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37915 (normal_mod_DEPENDENCIES): Likewise.
37916
37917 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37918 (normal_mod_DEPENDENCIES): Likewise.
37919
37920 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37921
e02ac02c 379222006-09-22 Johan Rydberg <jrydberg@gnu.org>
37923
37924 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37925 programs.
37926 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37927 (normal_mod_DEPENDENCIES): Likewise.
37928 * conf/i386-pc.mk: Regenerate.
37929 * conf/i386-efi.mk: Likewise
37930 * conf/common.mk: Likewise.
37931 * conf/powerpc-ieee1275.mk: Likewise.
37932 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37933
8d252e44 379342006-09-22 Robert Millan <rmh@aybabtu.com>
37935
37936 Sync with i386 version.
37937 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37938 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37939
209bf7ac 379402006-09-21 Robert Millan <rmh@aybabtu.com>
37941
37942 Import from GRUB Legacy (lib/device.c):
37943 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37944 (init_device_map) [__linux__]: Add support for I2O devices.
37945
6b146090 379462006-09-14 Marco Gerards <marco@gnu.org>
37947
37948 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37949 `-melf_i386'.
37950
e38600a8 379512006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37952
37953 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37954 /boot/grub/*.lst.
78fa1790 37955
2952da5d 37956 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37957
2952da5d 37958 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37959 before adding it to device.map.
37960
01b82a64 379612006-08-15 Johan Rydberg <jrydberg@gnu.org>
37962
fe6b695a 37963 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37964 compiles a file; using the -MD option.
37965 * conf/common.mk: Regenerate.
37966 * conf/i386-pc.mk: Likewise.
37967 * conf/i386-efi.mk: Likewise.
37968 * conf/powerpc-ieee1275.mk: Likewise.
37969 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37970
1064790d 379712006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37972
37973 Move the prototypes of grub_setjmp and grub_longjmp to
37974 cpu/setjmp.h, so that each architecture may specify different
37975 attributes.
f19dbdb7 37976
1064790d 37977 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37978 (grub_longjmp): Likewise.
37979 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37980 (grub_longjmp): Likewise.
37981 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37982 (grub_longjmp): Likewise.
37983
37984 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37985 [!GRUB_UTIL] (grub_longjmp): Removed.
37986
29dda3ed 379872006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37988
37989 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37990 "color!" method does not return any value.
37991
ad2a06ed 379922006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37993
37994 * include/grub/bitmap.h: New file.
37995
37996 * include/grub/i386/pc/vbeutil.h: Likewise.
37997
37998 * video/bitmap.c: Likewise.
37999
38000 * video/readers/tga.c: Likewise.
38001
38002 * video/i386/pc/vbeutil.c: Likewise.
38003
38004 * commands/videotest.c: Code cleanup and updated to reflect to new
38005 video API.
38006
38007 * term/gfxterm.c: Likewise.
38008
38009 * video/video.c: Likewise.
38010
38011 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38012 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38013 (bitmap_mod_SOURCES): New entry.
38014 (bitmap_mod_CFLAGS): Likewise.
38015 (bitmap_mod_LDFLAGS): Likewise.
38016 (tga_mod_SOURCES): Likewise.
38017 (tga_mod_CFLAGS): Likewise.
38018 (tga_mod_LDFLAGS): Likewise.
38019
38020 * include/grub/video.h (grub_video_blit_operators): New enum type.
38021 (grub_video_render_target): Changed as forward declaration and moved
38022 actual definition to be video driver specific.
38023 (grub_video_adapter.blit_bitmap): Added blitting operator.
38024 (grub_video_adapter.blit_render_target): Likewise.
38025 (grub_video_blit_bitmap): Likewise.
38026 (grub_video_blit_render_target): Likewise.
38027
38028 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38029 driver specific render target definition.
38030 (grub_video_vbe_map_rgba): Added driver internal helper.
38031 (grub_video_vbe_unmap_color): Updated to use
38032 grub_video_i386_vbeblit_info.
38033 (grub_video_vbe_get_video_ptr): Likewise.
38034
38035 * include/grub/i386/pc/vbeblit.h
38036 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38037 grub_video_i386_vbeblit_info.
38038 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38039 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38040 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38041 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38042 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38043 (grub_video_i386_vbeblit_index_index): Likewise.
38044 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38045 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38046 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38047 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38048 operator.
38049 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38050 operator.
38051
38052 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38053 include/grub/i386/pc/vbeblit.h.
38054
38055 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38056 Updated to use grub_video_i386_vbeblit_info.
38057 (grub_video_i386_vbefill_R8G8B8): Likewise.
38058 (grub_video_i386_vbefill_index): Likewise.
38059 (grub_video_i386_vbefill): Added generic filler.
38060
38061 * video/i386/pc/vbefill.c: Updated to reflect changes on
38062 include/grub/i386/pc/vbefill.h.
38063
38064 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38065 grub_video_i386_vbeblit_info.
38066 (grub_video_vbe_unmap_color): Likewise.
38067 (grub_video_vbe_blit_glyph): Likewise.
38068 (grub_video_vbe_scroll): Likewise.
38069 (grub_video_vbe_draw_pixel): Removed function.
38070 (grub_video_vbe_get_pixel): Likewise.
38071 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38072 updated code to use it.
38073 (common_blitter): Added common blitter for render target and bitmap.
38074 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38075 (grub_video_vbe_blit_render_target): Likewise.
38076
bc8c036d 380772006-07-30 Johan Rydberg <jrydberg@gnu.org>
38078
38079 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38080 is in text mode if there is no console control protocol instance
38081 available.
38082
684a8eff 380832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38084
38085 * include/grub/video.h: Code cleanup.
38086
38087 * include/grub/i386/pc/vbe.h: Likewise.
38088
38089 * video/i386/pc/vbe.c: Likewise.
38090
38091 * video/i386/pc/vbeblit.c: Likewise.
38092
38093 * video/i386/pc/vbefill.c: Likewise.
38094
38095 * video/video.c: Likewise. Also added more comments.
38096
5915059b 380972006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38098
38099 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38100 (struct grub_biosdisk_dap): Likewise.
38101
38102 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38103 linkage settings for all functions.
38104
90ce5d56 381052006-07-12 Marco Gerards <marco@gnu.org>
38106
38107 * configure.ac (--enable-mm-debug): Fix typo.
38108
38109 * genkernsyms.sh.in: Use proper quoting for `CC'.
38110
43e7f879 381112006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38112
38113 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38114 (normal_mod_ASFLAGS): Remove "-m32".
38115
4889bdec 381162006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38117
38118 * util/misc.c: Include config.h.
38119 [!HAVE_MEMALIGN]: Do not include malloc.h.
38120 (grub_memalign): Use posix_memalign, if present. Then, use
38121 memalign, if present. Otherwise, emit an error.
38122
38123 * util/grub-emu.c: Do not include malloc.h.
38124
38125 * include/grub/util/misc.h: Include unistd.h. This is required for
38126 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38127 D. Eades III <hde@foobar-qux.org>.
38128
38129 * configure.ac (AC_GNU_SOURCE): Added.
38130 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38131 type.
38132
fd39d4da 381332006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38134
38135 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38136 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38137
b786f3b5 381382006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38139
38140 * include/grub/types.h (grub_host_addr_t): Rename to
38141 grub_target_addr_t.
38142 (grub_host_off_t): Rename to grub_target_off_t.
38143 (grub_host_size_t): Rename to grub_target_size_t.
38144 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38145 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38146
38147 * include/grub/kernel.h (struct grub_module_header): Change type
38148 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38149 (grub_module_info): Likewise.
f19dbdb7 38150
051988bb 381512006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38152
38153 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38154 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38155 Velazquez <jesus.velazquez@gmail.com>.
38156
deae281b 381572006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38158
38159 Count partitions from 1 instead of 0 in the string representation
38160 of partitions. Still use 0-based internally.
f19dbdb7 38161
deae281b 38162 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38163 (sun_partition_map_iterate): Use grub_partition_t instead of
38164 struct grub_partition *. Cast DESC->START_CYLINDER to
38165 grub_uint64_t after converting the endian.
38166 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38167 (sun_partition_map_get_name): Add 1 to P->INDEX.
38168
38169 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38170 PCDATA->DOS_PART.
38171 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38172
38173 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38174 zero instead of one.
38175 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38176 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38177
38178 * partmap/apple.c (apple_partition_map_iterate): Change the type
38179 of POS to unsigned.
38180 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38181 (apple_partition_map_get_name): Add 1 into P->INDEX.
38182
38183 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38184 of POS to unsigned.
38185 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38186 calculate the offset of a partition.
38187 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38188 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38189
38190 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38191 SECTOR to grub_disk_addr_t.
38192 (acorn_partition_map_iterate): Likewise.
38193 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38194 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38195 top.
38196 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38197
38198 * kern/i386/pc/init.c (make_install_device): Add 1 into
38199 GRUB_INSTALL_DOS_PART.
38200
38201 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38202 conditional.
38203
524a1e6a 382042006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38205
38206 Clean up the code to support 64-bit addressing in disks and
38207 files. This change is not enough for filesystems yet.
f19dbdb7 38208
524a1e6a 38209 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38210 type of "start" to grub_uint64_t.
38211 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38212 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38213 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38214 convert addresses.
38215
38216 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38217 to grub_disk_addr_t.
38218
38219 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38220 string.
38221
38222 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38223
38224 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38225 to char *.
38226
38227 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38228
38229 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38230
38231 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38232
38233 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38234 to grub_off_t, to detect an error from grub_file_seek.
38235 (grub_multiboot_load_elf32): Likewise.
38236
38237 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38238 maximum unsigned long value when an overflow is detected.
38239 (grub_strtoull): New function.
38240 (grub_divmod64): Likewise.
38241 (grub_lltoa): use grub_divmod64.
38242
38243 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38244 grub_disk_addr_t.
38245 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38246 the pointer to next character. Use grub_strtoull instead of
38247 grub_strtoul.
38248 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38249 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38250 respectively.
38251
fe6b695a 38252 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38253 return value is signed.
38254 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38255 test if OFFSET is less than zero, as OFFSET is unsigned now.
38256
38257 * kern/disk.c (struct grub_disk_cache): Change the type of
38258 "sector" to grub_disk_addr_t.
38259 (grub_disk_cache_get_index): Change the type of SECTOR to
38260 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38261 unsigned after shifting.
38262 (grub_disk_cache_invalidate): Change the type of SECTOR to
38263 grub_disk_addr_t.
38264 (grub_disk_cache_unlock): Likewise.
38265 (grub_disk_cache_store): Likewise.
38266 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38267 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38268 grub_disk_addr_t and grub_uint64_t, respectively.
38269 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38270 body, as the value of OFFSET is tweaked by
38271 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38272 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38273 respectively.
38274 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38275 body, as the value of OFFSET is tweaked by
38276 grub_disk_check_range. Change the types of LEN and N to
38277 grub_size_t.
38278
38279 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38280 and "saved_offset" to grub_off_t.
38281 (test_header): Cast BUF to char *.
38282 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38283 to char *.
38284 (grub_gzio_read): Change the types of OFFSET and SIZE to
38285 grub_off_t and grub_size_t, respectively.
38286
38287 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38288 Removed.
38289 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38290 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38291 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38292 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38293 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38294
38295 * include/grub/types.h (grub_off_t): Unconditionally set to
38296 grub_uint64_t.
38297 (grub_disk_addr_t): Changed to grub_uint64_t.
38298
38299 * include/grub/partition.h (struct grub_partition): Change the
38300 types of "start", "len" and "offset" to grub_disk_addr_t,
38301 grub_uint64_t and grub_disk_addr_t, respectively.
38302 (grub_partition_get_start): Return grub_disk_addr_t.
38303 (grub_partition_get_len): Return grub_uint64_t.
38304
38305 * include/grub/misc.h (grub_strtoull): New prototype.
38306 (grub_divmod64): Likewise.
38307
38308 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38309 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38310 grub_off_t, respectively.
38311 All callers and references changed.
38312
38313 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38314 grub_size_t in "read".
38315 All callers and references changed.
38316
38317 * include/grub/file.h (struct grub_file): Change the types of
38318 "offset" and "size" to grub_off_t and grub_off_t,
38319 respectively. Change the type of SECTOR to grub_disk_addr_t in
38320 "read_hook".
38321 (grub_file_read): Change the type of LEN to grub_size_t.
38322 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38323 grub_off_t.
38324 (grub_file_size): Return grub_off_t.
38325 (grub_file_tell): Likewise.
38326 All callers and references changed.
38327
38328 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38329 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38330 "write".
38331 (struct grub_disk): Change the type of "total_sectors" to
38332 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38333 "read_hook".
524a1e6a 38334 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38335 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38336 (grub_disk_write): Likewise.
38337 All callers and references changed.
38338
38339 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38340 char * for grub_strncmp to silence gcc.
38341 (grub_iso9660_mount): Likewise.
38342 (grub_iso9660_mount): Likewise.
38343 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38344 return statement.
38345 (grub_iso9660_iterate_dir): Likewise.
38346 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38347
38348 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38349 LEN to grub_disk_addr_t and grub_size_t, respectively.
38350
38351 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38352
38353 * fs/jfs.c (grub_jfs_read_file): Likewise.
38354
38355 * fs/minix.c (grub_jfs_read_file): Likewise.
38356
38357 * fs/sfs.c (grub_jfs_read_file): Likewise.
38358
38359 * fs/ufs.c (grub_jfs_read_file): Likewise.
38360
38361 * fs/xfs.c (grub_jfs_read_file): Likewise.
38362
38363 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38364 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38365 respectively.
38366
38367 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38368 BLKNR to -1 instead of returning GRUB_ERRNO.
38369 (grub_ext2_read_file): Change the types of SECTOR and
38370 LEN to grub_disk_addr_t and grub_size_t, respectively.
38371
38372 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38373 LEN to grub_disk_addr_t and grub_size_t, respectively.
38374
38375 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38376 grub_file_read.
38377
38378 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38379 string. Do not cast SECTOR explicitly.
38380
38381 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38382 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38383 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38384 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38385 over 2TB and LBA mode is not supported, raise an error.
38386 (get_safe_sectors): New function.
38387 (grub_biosdisk_read): Use get_safe_sectors.
38388 (grub_biosdisk_write): Likewise.
38389
38390 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38391 (grub_efidisk_write): Likewise.
38392
38393 * disk/loopback.c (delete_loopback): Cosmetic changes.
38394 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38395 correctly.
38396 (grub_loopback_open): Likewise.
38397 (grub_loopback_read): Likewise. Also, change the type of POS to
38398 grub_off_t, and fix the usage of grub_memset.
38399
38400 * commands/i386/pc/play.c: Include grub/machine/time.h.
38401
38402 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38403 print FILE->SIZE.
38404
38405 * commands/configfile.c: Include grub/env.h.
38406
38407 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38408 GRUB_ERRNO directly instead. Change the type of POS to
38409 grub_off_t. Follow the coding standard.
38410
38411 * commands/blocklist.c: Include grub/partition.h.
38412 (grub_cmd_blocklist): Return an error if the underlying device is
38413 not a disk. Take the starting sector of a partition into account,
38414 if a partition is used.
38415
38416 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38417 a length field.
38418 (lba_mode): Support 64-bit addresses.
38419 (chs_mode): Likewise.
38420 (copy_buffer): Adapted to the new offsets of a length field and a
38421 segment field.
38422 (blocklist_default_start): Allocate 64-bit space.
38423
38424 * boot/i386/pc/boot.S (force_lba): Removed.
38425 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38426 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38427 space.
38428 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38429 is useless.
38430 (lba_mode): Refactored to support a 64-bit address. More size
38431 optimization.
38432 (setup_sectors): Likewise.
38433
53af98ad 384342006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38435
38436 * DISTLIST: Added include/grub/i386/linux.h. Removed
38437 include/grub/i386/pc/linux.h
38438
38439 * configure.ac (AC_INIT): Bumped to 1.94.
38440
38441 * config.guess: Updated from gnulib.
38442 * config.sub: Likewise.
38443 * install-sh: Likewise.
38444 * mkinstalldirs: Likewise.
38445
b4c1940a 384462006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38447
38448 * conf/common.rmk (grub_modules_init.lst): Depended on
38449 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38450 MODSRCFILES.
38451
38452 * genmk.rb (PModule::rule): Reverted the previous change.
38453
cfca1cfd 384542006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38455
38456 * conf/common.rmk (grub_modules_init.lst): Depends on
38457 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38458 that the target does not exist before producing.
38459 (grub_modules_init.h): Remove the target before generating.
38460 (grub_emu_init.c): Likewise.
38461
38462 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38463
aa6d7826 384642006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38465
38466 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38467 for the target-specific tests. Make sure that we also have the
38468 up-to-date target variables for those tests.
38469
26c607b9 384702006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38471
38472 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38473 (PModule::rule): Likewise.
38474
0162321a 384752006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38476
38477 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38478 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38479 target-specific flags should be prefixed.
38480 (PModule::rule): Likewise.
38481
6c826348 384822006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38483
38484 * configure.ac (CMP): Check if cmp is available explicitly.
38485
b977bf01 384862006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38487
38488 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38489 (target_cpu): New variable.
38490 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38491
b977bf01 38492 * util/i386/pc/grub-install.in (host_cpu): Removed.
38493 (target_cpu): New variable.
38494 (pkglibdir): Use target_cpu instead of host_cpu.
38495
38496 * util/genmoddep.c: Removed.
f19dbdb7 38497
b977bf01 38498 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38499 instead of GRUB_HOST_SIZEOF_VOID_P.
38500 * kern/dl.c: Likewise.
38501
38502 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38503 ...
38504 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38505 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38506 (GRUB_TARGET_SIZEOF_LONG): ... this.
38507 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38508 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38509 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38510 to ...
38511 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38512 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38513 (GRUB_TARGET_SIZEOF_LONG): ... this.
38514 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38515 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38516 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38517 to ...
38518 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38519 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38520 (GRUB_TARGET_SIZEOF_LONG): ... this.
38521 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38522 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38523
38524 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38525 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38526 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38527 instead of GRUB_HOST_SIZEOF_LONG.
38528 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38529 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38530 GRUB_CPU_WORDS_BIGENDIAN.
38531 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38532 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38533 grub_host_ssize_t.
38534
38535 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38536 (genmoddep_SOURCES): Likewise.
38537 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38538 (genmoddep_SOURCES): Likewise.
38539 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38540 (genmoddep_SOURCES): Likewise.
38541 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38542 Likewise.
38543 (genmoddep_SOURCES): Likewise.
38544
38545 * genmoddep.awk: New file.
38546
38547 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38548 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38549 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38550 (PModule::rule): Likewise.
38551 (Program::rule): Likewise.
38552 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38553 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38554 respectively.
38555
38556 * configure.ac: Rewritten intensively to use host and target
38557 instead of build and host, respectively.
38558
38559 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38560 (host_cpu): Removed.
38561 (target_cpu): New variable.
38562 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38563 (BUILD_CC): Removed.
38564 (BUILD_CFLAGS): Likewise.
38565 (BUILD_CPPFLAGS): Likewise.
38566 (TARGET_CC): New variable.
38567 (TARGET_CFLAGS): Likewise.
38568 (TARGET_CPPFLAGS): Likewise.
38569 (TARGET_LDFLAGS): Likewise.
38570 (AWK): Likewise.
38571 (include): Use target_cpu instead of host_cpu.
38572 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38573
b977bf01 38574 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38575
f09771a1 385762006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38577
38578 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38579 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38580 field 'false' to 'exec_on_false'.
38581 (grub_script_create_cmdif): Renamed argument names to reflect above
38582 changes.
38583
38584 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38585
38586 * normal/script.c (grub_script_create_cmdif): Likewise.
38587
118f4fb3 385882006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38589
38590 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38591 top.
38592 (grub_hfsplus_btree_recptr): Likewise.
38593 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38594 FILEBLOCK both to pass a block number and store next block
38595 number.
38596 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38597 overflow file correctly. Specify errors appropriately, because
38598 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38599 grub_hfsplus_btree_recptr to get the pointer to a found key.
38600 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38601 is found.
38602
38603 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38604 linux.mod.
38605 (_linux_mod_SOURCES): New variable.
38606 (_linux_mod_CFLAGS): Likewise.
38607 (_linux_mod_LDFLAGS): Likewise.
38608 (linux_mod_SOURCES): Likewise.
38609 (linux_mod_CFLAGS): Likewise.
38610 (linux_mod_LDFLAGS): Likewise.
38611
38612 * DISTLIST: Added loader/i386/efi/linux.c,
38613 loader/i386/efi/linux_normal.c and
38614 include/grub/i386/efi/loader.h.
38615
38616 * loader/i386/efi/linux.c: New file.
38617 * loader/i386/efi/linux_normal.c: Likewise.
38618 * include/grub/i386/efi/loader.h: Likewise.
38619
89a7d726 386202006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38621
38622 * commands/blocklist.c: New file.
38623
38624 * DISTLIST: Added commands/blocklist.c.
38625
38626 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38627 color for the background, and a darker color for the foreground.
89a7d726 38628 (grub_console_checkkey): Return READ_KEY.
38629 (grub_console_cls): Set the background to
38630 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38631
38632 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38633
38634 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38635 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38636
38637 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38638 prototype.
38639
38640 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38641 BG. The spec is wrong again.
38642
38643 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38644 prototype.
38645 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38646
38647 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38648 commands/blocklist.c.
38649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38650
89a7d726 38651 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38652 (blocklist_mod_SOURCES): New variable.
38653 (blocklist_mod_CFLAGS): Likewise.
38654 (blocklist_mod_LDFLAGS): Likewise.
38655
75c8f258 386562006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38657
38658 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38659 duplication.
38660 (lba_mode): Use %eax more intensively to reduce the code size.
38661
da2eb181 386622006-05-20 Marco Gerards <marco@gnu.org>
38663
38664 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38665
38666 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38667 for `menuentry'.
38668 (script): Accept leading newlines.
38669 (newlines): New rule to describe 0 or more newlines.
38670 (commands): Accept `command' with trailing newline. Fixed the
38671 order in which arguments were passed to `grub_script_add_cmd'.
38672 Accept commands separated by newlines.
38673 (function): Changed to accept newlines.
38674 (menuentry) Rewritten.
38675
38676 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38677 front of the list, instead of to the end.
38678
577b4050 386792006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38680
38681 * util/i386/pc/grub-install.in (bindir): New variable.
38682 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38683 Shaver <lbgwjl@gmail.com>.
38684
0d6e1189 386852006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38686
38687 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38688 grub/machine/linux.h
38689 * loader/i386/pc/linux.c: Likewise.
38690
38691 * include/grub/i386/pc/linux.h: Moved to ...
38692 * include/grub/i386/linux.h: ... here.
38693
38694 * include/grub/i386/linux.h (struct linux_kernel_params): New
38695 struct.
f19dbdb7 38696
31b86e9f 386972006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38698
38699 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38700 checking.
38701 (grub_video_vbe_blit_glyph): Likewise.
38702 (grub_video_vbe_blit_bitmap): Likewise.
38703 (grub_video_vbe_blit_render_target): Likewise.
38704
83b984de 387052006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38706
38707 * configure.ac (--with-platform): Properly quote the square
38708 brackets.
38709
5f0413bd 387102006-05-08 Marco Gerards <marco@gnu.org>
38711
38712 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38713 this...
38714 (kernel_elf_HEADERS): ...to this. Updated all users.
38715 (grubof_symlist.c): Renamed from this...
38716 (kernel_elf_symlist.c): ...to this. Updated all users.
38717 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38718 (grubof_SOURCES): Renamed from this...
38719 (kernel_elf_SOURCES): ...to this.
38720 (grubof_HEADERS): Renamed from this...
38721 (kernel_elf_HEADERS): ...to this.
38722 (grubof_CFLAGS): Renamed from this...
38723 (kernel_elf_CFLAGS): ...to this.
38724 (grubof_ASFLAGS): Renamed from this...
38725 (kernel_elf_ASFLAGS): ...to this.
38726 (grubof_LDFLAGS): Renamed from this...
38727 (kernel_elf_LDFLAGS): ...to this.
38728
38729 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38730 this...
38731 (kernel_elf_HEADERS): ...to this. Updated all users.
38732 (grubof_symlist.c): Renamed from this...
38733 (kernel_elf_symlist.c): ...to this. Updated all users.
38734 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38735 (grubof_SOURCES): Renamed from this...
38736 (kernel_elf_SOURCES): ...to this.
38737 (grubof_HEADERS): Renamed from this...
38738 (kernel_elf_HEADERS): ...to this.
38739 (grubof_CFLAGS): Renamed from this...
38740 (kernel_elf_CFLAGS): ...to this.
38741 (grubof_ASFLAGS): Renamed from this...
38742 (kernel_elf_ASFLAGS): ...to this.
38743 (grubof_LDFLAGS): Renamed from this...
38744 (kernel_elf_LDFLAGS): ...to this.
38745
38746 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38747 `kernel.elf' instead of `grubof'.
38748
05568c2e 387492006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38750
38751 Add --with-platform to configure. Use pkglibdir instead of
38752 pkgdatadir. This is reported by Roger Leigh.
38753
38754 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38755 (host_vendor): Likewise.
38756 (host_os): Likewise.
38757 (pkgdatadir): Likewise.
38758 (platform): New variable.
38759 (pkglibdir): Likewise.
38760 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38761
05568c2e 38762 * util/i386/pc/grub-install.in (datadir): Removed.
38763 (host_vendor): Likewise.
38764 (host_os): Likewise.
38765 (pkgdatadir): Likewise.
38766 (platform): New variable.
38767 (pkglibdir): Likewise.
38768 Use PKGLIBDIR instead of PKGDATADIR.
38769
38770 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38771 instead of GRUB_DATADIR.
38772 (main): Likewise.
38773 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38774 (main): Likewise.
38775 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38776 (main): Likewise.
38777
38778 * configure.ac (--with-platform): New option.
38779 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38780
38781 * Makefile.in: Include a makefile based on PLATFORM instead of
38782 HOST_VENDOR.
38783 (pkgdatadir): Not appended by the machine type.
38784 (pkglibdir): Appended by the machine type.
38785 (host_vendor): Removed.
38786 (platform): New variable.
38787 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38788 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38789 (uninstall): Likewise.
38790
4e93851c 387912006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38792
38793 Use the environment context in the menu. Remove the commands
38794 "default" and "timeout", and use variables instead.
f19dbdb7 38795
4e93851c 38796 * normal/menu.c: Include grub/env.h.
38797 (print_entry): Cast TITLE to silence gcc.
38798 (get_timeout): New function.
38799 (set_timeout): Likewise.
38800 (get_entry_number): Likewise.
38801 (run_menu): Use a default entry, a fallback entry and a timeout
38802 in the environment variables "default", "fallback" and
38803 "timeout". Also, tweak the default entry if it is not within the
38804 current menu entries.
38805 (grub_menu_run): Use a fallback entry in the environment variable
38806 "fallback".
38807
38808 * normal/main.c (read_config_file): Do not initialize
38809 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38810 NEWMENU->TIMEOUT.
38811 (grub_normal_execute): Use a data slot to store the menu.
38812
38813 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38814 fallback_entry and timeout.
38815 (struct grub_menu_list): Removed.
38816 (grub_menu_list_t): Likewise.
38817 (struct grub_context): Likewise.
38818 (grub_context_t): Likewise.
38819 (grub_context_get): Likewise.
38820 (grub_context_get_current_menu): Likewise.
38821 (grub_context_push_menu): Likewise.
38822 (grub_context_pop_menu): Likewise.
38823 (grub_default_init): Likewise.
38824 (grub_default_fini): Likewise.
38825 (grub_timeout_init): Likewise.
38826 (grub_timeout_fini): Likewise.
38827
38828 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38829 and timeout.mod.
38830 (normal_mod_SOURCES): Removed normal/context.c.
38831
38832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38833 commands/default.c, commands/timeout.c and normal/context.c.
38834 (normal_mod_SOURCES): Removed normal/context.c.
38835
38836 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38837 commands/timeout.c and normal/context.c.
38838 (normal_mod_SOURCES): Removed normal/context.c.
38839
38840 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38841 commands/default.c, commands/timeout.c and normal/context.c.
38842 (normal_mod_SOURCES): Removed normal/context.c.
38843
38844 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38845 timeout.mod.
38846 (default_mod_SOURCES): Removed.
38847 (default_mod_CFLAGS): Likewise.
38848 (default_mod_LDFLAGS): Likewise.
38849 (timeout_mod_SOURCES): Removed.
38850 (timeout_mod_CFLAGS): Likewise.
38851 (timeout_mod_LDFLAGS): Likewise.
38852
38853 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38854 normal/context.c.
38855
38856 * commands/default.c: Removed.
38857 * commands/timeout.c: Likewise.
38858 * normal/context.c: Likewise.
38859
1eb9cc1d 388602006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38861
38862 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38863
385bd9c1 388642006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38865
38866 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38867 "next" to "prev" for readability.
38868 (struct grub_env_sorted_var): New struct.
38869 (grub_env_context): Renamed to ...
38870 (initial_context): ... this.
38871 (grub_env_var_context): Renamed to ...
38872 (current_context): ... this.
38873 (grub_env_find): Look only at CURRENT_CONTEXT.
38874 (grub_env_context_open): Rewritten to copy exported variables from
38875 previous context.
38876 (grub_env_context_close): Rewritten according to the new
38877 scheme. Also, add an assertion to prevent the initial context from
38878 removed.
38879 (grub_env_insert): Removed the code for the sorted list.
38880 (grub_env_remove): Likewise.
38881 (grub_env_export): Simply mark the variable with
38882 GRUB_ENV_VAR_GLOBAL.
38883 (grub_env_set): A cosmetic change for naming consistency.
38884 (grub_env_get): Likewise.
38885 (grub_env_unset): Likewise.
38886 (grub_env_iterate): Rewritten to sort variables within this
38887 function.
38888 (grub_register_variable_hook): Fixed for naming consistency. Call
38889 grub_env_find again, only if NAME is not found at the first time.
38890 (mangle_data_slot_name): New function.
38891 (grub_env_set_data_slot): Likewise.
38892 (grub_env_get_data_slot): Likewise.
38893 (grub_env_unset_data_slot): Likewise.
38894
38895 * include/grub/env.h (grub_env_var_type): New enum.
38896 (GRUB_ENV_VAR_LOCAL): New constant.
38897 (GRUB_ENV_VAR_GLOBAL): Likewise.
38898 (GRUB_ENV_VAR_DATA): Likewise.
38899 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38900 "type".
38901 (grub_env_set): Replace VAR with NAME for consistency.
38902 (grub_register_variable_hook): Likewise.
38903 (grub_env_export): Specify the name of the argument.
38904 (grub_env_set_data_slot): New prototype.
38905 (grub_env_get_data_slot): Likewise.
38906 (grub_env_unset_data_slot): Likewise.
38907
7f362539 389082006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38909
38910 Extend the loader so that GRUB can accept a loader which comes
38911 back to GRUB when a loaded image exits. Also, this change adds
38912 support for a chainloader on EFI.
f19dbdb7 38913
7f362539 38914 * term/efi/console.c: Include grub/misc.h.
38915 (grub_console_checkkey): Display a scan code on the top for
38916 debugging. This will be removed once the EFI port gets stable.
38917 Correct the scan code mapping.
38918
38919 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38920 allocate memory from larger regions, in order to reduce the number
38921 of allocated regions. Otherwise, the MacOSX loader panics.
38922 (filter_memory_map): Avoid less than 1MB for compatibility with
38923 other loaders.
38924 (add_memory_regions): Allocate from the tail of a region, if
38925 possible, to avoid allocating a region near to 1MB, for the MacOSX
38926 loader.
38927
38928 * kern/efi/init.c (grub_efi_set_prefix): Specify
38929 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38930
38931 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38932 argument IMAGE_HANDLE and specify it to get a loaded image.
38933 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38934 grub_efi_get_loaded_image.
fe6b695a 38935 (grub_efi_get_filename): Divide the length by the size of
7f362539 38936 grub_efi_char16_t.
38937 (grub_efi_get_device_path): New function.
38938 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38939 the length by the size of grub_efi_char16_t for a file path device
38940 path node.
38941
38942 * kern/loader.c (grub_loader_noreturn): New variable.
38943 (grub_loader_set): Accept a new argument NORETURN. Set
38944 GRUB_LOADER_NORETURN to NORETURN.
38945 All callers changed.
38946 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38947 grub_machine_fini.
38948
38949 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38950 prototype.
38951 (grub_efi_get_loaded_image): Take an argument to specify an image
38952 handle.
38953
38954 * include/grub/loader.h (grub_loader_set): Added one more argument
38955 NORETURN.
38956
38957 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38958 instead of grub_efi_open_protocol.
38959 (grub_efidisk_get_device_name): Likewise.
38960 (grub_efidisk_close): Print a newline.
38961 (grub_efidisk_get_device_handle): Fixed to use
38962 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38963 GRUB_EFI_DEVICE_PATH_TYPE.
38964
38965 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38966 * kern/efi/efi.c (device_path_guid): ... here.
38967
38968 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38969 chain.mod.
38970 (kernel_mod_HEADERS): Added efi/disk.h.
38971 (_chain_mod_SOURCES): New variable.
38972 (_chain_mod_CFLAGS): Likewise.
38973 (_chain_mod_LDFLAGS): Likewise.
38974 (chain_mod_SOURCES): Likewise.
38975 (chain_mod_CFLAGS): Likewise.
38976 (chain_mod_LDFLAGS): Likewise.
38977
38978 * DISTLIST: Added include/grub/efi/chainloader.h,
38979 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38980
38981 * include/grub/efi/chainloader.h: New file.
38982 * loader/efi/chainloader.c: Likewise.
38983 * loader/efi/chainloader_normal.c: Likewise.
38984
c0111d6e 389852006-04-30 Marco Gerards <marco@gnu.org>
38986
38987 * commands/configfile.c (grub_cmd_source): New function.
38988 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38989 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38990
df5341da 389912006-04-30 Marco Gerards <marco@gnu.org>
38992
38993 * normal/execute.c (grub_script_execute_cmd): Change the return
38994 type to `grub_err_t'. Correctly return the error.
38995 (grub_script_execute_cmdline): In case a command line is not a
38996 command or a function, try to interpret it as an assignment.
38997
f85934bd 389982006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38999
39000 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39001 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39002 skip a node whose name is obviously invalid as UTF-16,
39003 i.e. contains a NUL character. Stop the iteration when the last
39004 directory entry is found. Instead of using the return value of
39005 grub_hfsplus_btree_iterate_node, store the value in RET and use
39006 it, because the iterator can be stopped by the last directory
39007 entry.
39008
8f8a2cf8 390092006-04-30 Marco Gerards <marco@gnu.org>
39010
39011 * include/grub/env.h (grub_env_export): New prototype. Reported
39012 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39013
a27e84ce 390142006-04-30 Marco Gerards <marco@gnu.org>
39015
39016 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39017 size of the extents in a catalog file record.
39018
eaef0553 390192006-04-29 Marco Gerards <marco@gnu.org>
39020
39021 * commands/configfile.c (grub_cmd_configfile): Execute the
39022 configfile within its own context.
39023
39024 * include/grub/env.h (grub_env_context_open): New prototype.
39025 (grub_env_context_close): Likewise.
39026
39027 * kern/env.c (grub_env): Removed.
39028 (grub_env_sorted): Likewise.
39029 (grub_env_context): New variable.
39030 (grub_env_var_context): Likewise.
39031 (grub_env_find): Search both the active context and the global
39032 context.
39033 (grub_env_context_open): New function.
39034 (grub_env_context_close): Likewise.
39035 (grub_env_insert): Likewise.
39036 (grub_env_remove): Likewise.
39037 (grub_env_export): Likewise.
39038 (grub_env_set): Changed to use helper functions to avoid code
39039 duplication.
39040 (grub_env_iterate): Rewritten so both the current context and the
39041 global context are being used.
39042
39043 * normal/command.c (export_command): New function.
39044 (grub_command_init): Register the `export' function.
39045
7b455f4d 390462006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39047
39048 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39049 explicitly to suppress gcc's warnings.
39050 * fs/fat.c (grub_fat_find_dir): Likewise.
39051 (grub_fat_label): Likewise.
39052 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39053 (grub_xfs_mount): Likewise.
39054 (grub_xfs_label): Likewise.
39055 * fs/affs.c (grub_affs_mount): Likewise.
39056 (grub_affs_label): Likewise.
39057 (grub_affs_iterate_dir): Likewise.
39058 * fs/sfs.c (grub_sfs_mount): Likewise.
39059 (grub_sfs_iterate_dir): Likewise.
39060 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39061 * fs/hfs.c (grub_hfs_mount): Likewise.
39062 (grub_hfs_cmp_catkeys): Likewise.
39063 (grub_hfs_find_dir): Likewise.
39064 (grub_hfs_dir): Likewise.
39065 (grub_hfs_label): Likewise.
39066 * fs/jfs.c (grub_jfs_mount): Likewise.
39067 (grub_jfs_opendir): Likewise.
39068 (grub_jfs_getent): Likewise.
39069 (grub_jfs_lookup_symlink): Likewise.
39070 (grub_jfs_label): Likewise.
39071 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39072 (grub_hfsplus_iterate_dir): Likewise.
39073 (grub_hfsplus_btree_iterate_node): Made static.
39074
39075 * util/grub-emu.c (prefix): New variable.
39076 (grub_machine_set_prefix): New function.
39077 (main): Do not set the environment variable "prefix" here. Only
39078 set PREFIX, which is used later by grub_machine_set_prefix.
39079
39080 * include/grub/video.h: Do not include grub/symbol.h.
39081 (grub_video_register): Not exported. This symbol is not defined in
39082 the kernel.
39083 (grub_video_unregister): Likewise.
39084 (grub_video_iterate): Likewise.
39085 (grub_video_setup): Likewise.
39086 (grub_video_restore): Likewise.
39087 (grub_video_get_info): Likewise.
39088 (grub_video_get_blit_format): Likewise.
39089 (grub_video_set_palette): Likewise.
39090 (grub_video_get_palette): Likewise.
39091 (grub_video_set_viewport): Likewise.
39092 (grub_video_get_viewport): Likewise.
39093 (grub_video_map_color): Likewise.
39094 (grub_video_map_rgb): Likewise.
39095 (grub_video_map_rgba): Likewise.
39096 (grub_video_fill_rect): Likewise.
39097 (grub_video_blit_glyph): Likewise.
39098 (grub_video_blit_bitmap): Likewise.
39099 (grub_video_blit_render_target): Likewise.
39100 (grub_video_scroll): Likewise.
39101 (grub_video_swap_buffers): Likewise.
39102 (grub_video_create_render_target): Likewise.
39103 (grub_video_delete_render_target): Likewise.
39104 (grub_video_set_active_render_target): Likewise.
39105
39106 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39107 Undefined.
39108 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39109
39110 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39111 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39112 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39113 instead of $(srcdir)/genkernsyms.sh.
39114
39115 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39116 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39117 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39118 instead of $(srcdir)/genkernsyms.sh.
39119
39120 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39121 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39122 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39123 instead of $(srcdir)/genkernsyms.sh.
39124
39125 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39126 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39127 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39128 instead of $(srcdir)/genkernsyms.sh.
39129
39130 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39131 genkernsyms.sh.
39132
39133 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39134 genkernsyms.sh.
39135 (gensymlist.sh): New target.
39136 (genkernsyms.sh): Likewise.
39137
39138 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39139 genkernsyms.sh.in and gensymlist.sh.in.
39140
39141 * genkernsyms.sh: Removed.
39142 * gensymlist.sh: Likewise.
f19dbdb7 39143
7b455f4d 39144 * genkernsyms.sh.in: New file.
39145 * gensymlist.sh.in: Likewise.
39146
1885bb27 391472006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39148
39149 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39150 clobber "prefix", since we may have already set it manually.
39151
71538dff 391522006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39153
39154 * kern/misc.c (abort): New alias for grub_abort.
39155
2965c7cc 391562006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39157
39158 A new machine-specific function "grub_machine_set_prefix" is
39159 defined. This is called after loading modules, so that a prefix
39160 initialization can use modules. Also, this change adds an
39161 intensive debugging feature for the memory manager via the
39162 configure option "--enable-mm-debug".
f19dbdb7 39163
2965c7cc 39164 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39165 PART.LEN.
39166
39167 * kern/sparc64/ieee1275/init.c (abort): Removed.
39168 (grub_stop): Likewise.
39169 (grub_exit): New function.
39170 (grub_set_prefix): Renamed to ...
39171 (grub_machine_set_prefix): ... this.
39172 (grub_machine_init): Do not call grub_set_prefix.
39173
39174 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39175 (grub_machine_set_prefix): ... this.
39176 (grub_machine_init): Do not call grub_set_prefix.
39177
39178 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39179 (grub_machine_init): Do not set the prefix here.
39180
39181 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39182
39183 * kern/efi/init.c: Include grub/mm.h.
39184 (grub_efi_set_prefix): New function.
39185
39186 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39187 (grub_efi_get_filename): New function.
39188 (grub_print_device_path): Renamed to ...
39189 (grub_efi_print_device_path): ... this.
39190
39191 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39192 [MM_DEBUG] (grub_realloc): Likewise.
39193 [MM_DEBUG] (grub_free): Likewise.
39194 [MM_DEBUG] (grub_memalign): Likewise.
39195 [MM_DEBUG] (grub_mm_debug): New variable.
39196 [MM_DEBUG] (grub_debug_malloc): New function.
39197 [MM_DEBUG] (grub_debug_free): New function.
39198 [MM_DEBUG] (grub_debug_realloc): New function.
39199 [MM_DEBUG] (grub_debug_memalign): New function.
39200
39201 * kern/misc.c (grub_abort): Print a newline to distinguish
39202 the message.
39203
39204 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39205 grub_set_root_dev after loading modules. This is necessary when
39206 setting a prefix depends on modules.
39207
39208 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39209 (grub_efi_print_device_path): ... this.
39210 (grub_efi_get_filename): New prototype.
39211 (grub_efi_set_prefix): Likewise.
39212
39213 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39214 and grub/disk.h.
39215 (grub_efidisk_get_device_handle): New prototype.
39216 (grub_efidisk_get_device_name): Likewise.
39217
39218 * include/grub/mm.h: Include config.h.
39219 (MM_DEBUG): Removed.
39220 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39221 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39222 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39223 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39224 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39225 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39226 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39227 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39228 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39229
39230 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39231
39232 * disk/efi/efidisk.c: Include grub/partition.h.
39233 (iterate_child_devices): New function.
39234 (add_device): First, compare only last device path nodes, so that
39235 devices are sorted by the types.
39236 (grub_efidisk_get_device_handle): New function.
39237 (grub_efidisk_get_device_name): Likewise.
39238
39239 * configure.ac (--enable-mm-debug): New option to enable the
39240 memory manager debugging feature. This makes the binary much
39241 bigger, so is disabled by default.
39242
9cacaa17 392432006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39244
39245 Use grub_abort instead of grub_stop, and grub_exit must be
39246 define in each architecture now. Also, this change adds support
39247 for EFI disks.
f19dbdb7 39248
9cacaa17 39249 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39250 (grub_getkey): New function.
39251 (grub_term_get_current): Likewise.
39252
39253 * util/i386/pc/grub-setup.c: Include grub/term.h.
39254 (grub_getkey): New function.
39255 (grub_term_get_current): Likewise.
39256
39257 * util/misc.c (grub_stop): Renamed to ...
39258 (grub_exit): ... this.
39259
39260 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39261 (grub_exit): ... this.
39262 (grub_machine_init): Use grub_abort instead of abort.
39263 (grub_stop): Removed.
39264
39265 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39266 abort.
39267
39268 * kern/i386/pc/startup.S (grub_exit): New function.
39269 (cold_reboot): New label.
39270
39271 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39272 (grub_efi_init): Call grub_efidisk_init.
39273 (grub_efi_fini): Call grub_efidisk_fini.
39274
39275 * kern/efi/efi.c: Include grub/mm.h.
39276 (grub_efi_console_control_guid): Renamed to ...
39277 (console_control_guid): ... this.
39278 (grub_efi_loaded_image_guid): Renamed to ...
39279 (loaded_image_guid): ... this.
39280 (grub_efi_locate_handle): New function.
39281 (grub_efi_open_protocol): Likewise.
39282 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39283 GRUB_EFI_CONSOLE_CONTROL_GUID.
39284 (grub_efi_exit): Removed.
39285 (grub_stop): Likewise.
39286 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39287 (grub_exit): New function.
39288 (grub_print_device_path): Likewise.
39289
39290 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39291 (grub_enter_rescue_mode): Register "exit".
39292
39293 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39294 (grub_abort): New function.
39295
39296 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39297
39298 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39299
39300 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39301
39302 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39303 (grub_print_device_path): New prototype.
39304 (grub_efi_locate_handle): Likewise.
39305 (grub_efi_open_protocol): Likewise.
39306
39307 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39308 * disk/efi/efidisk.c: Likewise.
39309
39310 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39311
39312 * include/grub/efi/console_control.h
39313 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39314
39315 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39316 last 8 bytes as an array.
39317 (GRUB_EFI_DISK_IO_GUID): New macro.
39318 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39319 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39320 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39321 grub_uint8_t.
39322 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39323 (struct grub_efi_device_path): Rename the member "sub_type" to
39324 "subtype".
39325 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39326 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39327 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39328 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39329 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39330 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39331 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39332 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39333 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39334 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39335 (struct grub_efi_pci_device_path): New structure.
39336 (grub_efi_pci_device_path_t): New type.
39337 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39338 (struct grub_efi_pccard_device_path): New structure.
39339 (grub_efi_pccard_device_path_t): New type.
39340 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39341 (struct grub_efi_memory_mapped_device_path): New structure.
39342 (grub_efi_memory_mapped_device_path_t): New type.
39343 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39344 (struct grub_efi_vendor_device_path): New structure.
39345 (grub_efi_vendor_device_path_t): New type.
39346 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39347 (struct grub_efi_controller_device_path): New structure.
39348 (grub_efi_controller_device_path_t): New type.
39349 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39350 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39351 (struct grub_efi_acpi_device_path): New structure.
39352 (grub_efi_acpi_device_path_t): New type.
39353 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39354 (struct grub_efi_expanded_acpi_device_path): New structure.
39355 (grub_efi_expanded_acpi_device_path_t): New type.
39356 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39357 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39358 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39359 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39360 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39361 (struct grub_efi_atapi_device_path): New structure.
39362 (grub_efi_atapi_device_path_t): New type.
39363 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39364 (struct grub_efi_fibre_channel_device_path): New structure.
39365 (grub_efi_fibre_channel_device_path_t): New type.
39366 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39367 (struct grub_efi_1394_device_path): New structure.
39368 (grub_efi_1394_device_path_t): New type.
39369 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39370 (struct grub_efi_usb_device_path): New structure.
39371 (grub_efi_usb_device_path_t): New type.
39372 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39373 (struct grub_efi_usb_class_device_path): New structure.
39374 (grub_efi_usb_class_device_path_t): New type.
39375 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39376 (struct grub_efi_i2o_device_path): New structure.
39377 (grub_efi_i2o_device_path_t): New type.
39378 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39379 (struct grub_efi_mac_address_device_path): New structure.
39380 (grub_efi_mac_address_device_path_t): New type.
39381 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39382 (struct grub_efi_ipv4_device_path): New structure.
39383 (grub_efi_ipv4_device_path_t): New type.
39384 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39385 (struct grub_efi_ipv6_device_path): New structure.
39386 (grub_efi_ipv6_device_path_t): New type.
39387 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39388 (struct grub_efi_infiniband_device_path): New structure.
39389 (grub_efi_infiniband_device_path_t): New type.
39390 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39391 (struct grub_efi_uart_device_path): New structure.
39392 (grub_efi_uart_device_path_t): New type.
39393 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39394 (struct grub_efi_vendor_messaging_device_path): New structure.
39395 (grub_efi_vendor_messaging_device_path_t): New type.
39396 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39397 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39398 (struct grub_efi_hard_drive_device_path): New structure.
39399 (grub_efi_hard_drive_device_path_t): New type.
39400 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39401 (struct grub_efi_cdrom_device_path): New structure.
39402 (grub_efi_cdrom_device_path_t): New type.
39403 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39404 (struct grub_efi_vendor_media_device_path): New structure.
39405 (grub_efi_vendor_media_device_path_t): New type.
39406 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39407 (struct grub_efi_file_path_device_path): New structure.
39408 (grub_efi_file_path_device_path_t): New type.
39409 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39410 (struct grub_efi_protocol_device_path): New structure.
39411 (grub_efi_protocol_device_path_t): New type.
39412 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39413 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39414 (struct grub_efi_bios_device_path): New structure.
39415 (grub_efi_bios_device_path_t): New type.
39416 (struct grub_efi_disk_io): New structure.
39417 (grub_efi_disk_io_t): New type.
39418 (struct grub_efi_block_io_media): New structure.
39419 (grub_efi_block_io_media_t): New type.
39420 (struct grub_efi_block_io): New structure.
39421 (grub_efi_block_io_t): New type.
39422
39423 * include/grub/misc.h (grub_stop): Removed.
39424 (grub_exit): New prototype.
39425 (grub_abort): Likewise.
39426
39427 * include/grub/disk.h (enum grub_disk_dev_id): Added
39428 GRUB_DISK_DEVICE_EFIDISK_ID.
39429
39430 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39431 disk/efi/efidisk.c.
39432 (kernel_syms.lst): Remove the target if an error occurs.
39433
49986a9f 394342006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39435
39436 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39437 as it was simply too buggy.
39438
970d3b8a 394392006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39440
39441 * kern/misc.c (grub_lltoa): New function.
39442 (grub_vsprintf): Added support for the long long suffix,
39443 i.e. "ll".
39444
ff04ec24 394452006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39446
39447 * Makefile.in (LDFLAGS): Add variable.
39448 (LD): Remove variable.
39449 * configure.ac: Add -m32 to LDFLAGS.
39450 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39451 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39452 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39453 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39454 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39455 variables.
39456 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39457 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39458 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39459
37e5e1a4 394602006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39461
39462 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39463 length for unknown glyph.
39464
c352d8dd 394652006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39466
2eab1c0d 39467 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39468
2eab1c0d 39469 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39470 completely. Accept one more argument DIR. The caller has changed.
39471
39472 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39473
39474 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39475 (grub_efi_loaded_image_guid): New variable.
39476 (grub_efi_get_loaded_image): New function.
39477 (grub_arch_modules_addr): Likewise.
39478
39479 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39480 prototype.
39481
39482 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39483 (struct grub_efi_loaded_image): New structure.
39484 (grub_efi_loaded_image_t): New type.
39485
394862006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39487
c352d8dd 39488 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39489 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39490 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39491
6d01d6b4 394922006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39493
39494 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39495
976a4ea0 394962006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39497
39498 * DISTLIST: Added include/grub/efi/console.h,
39499 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39500 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39501
39502 * include/grub/efi/console.h: New file.
39503 * include/grub/efi/time.h: Likewise.
39504 * include/grub/i386/efi/kernel.h: Likewise.
39505 * kern/efi/init.c: Likewise.
39506 * kern/efi/mm.c: Likewise.
39507 * term/efi/console.c: Likewise.
f19dbdb7 39508
976a4ea0 39509 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39510 (grub_stop): Removed.
39511 (grub_get_rtc): Likewise.
39512 (grub_machine_init): Simply call grub_efi_init.
39513 (grub_machine_fini): Call grub_efi_fini.
39514
39515 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39516 (grub_efi_output_string): Removed.
39517 (grub_efi_stall): New function.
39518 (grub_stop): Likewise.
39519 (grub_get_rtc): Likewise.
39520
39521 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39522 (grub_efi_stall): New prototype.
39523 (grub_efi_allocate_pages): Likewise.
39524 (grub_efi_free_pages): Likewise.
39525 (grub_efi_get_memory_map): Likewise.
39526 (grub_efi_mm_init): Likewise.
39527 (grub_efi_mm_fini): Likewise.
39528 (grub_efi_init): Likewise.
39529 (grub_efi_fini): Likewise.
39530
39531 * include/grub/i386/efi/time.h: Do not include
39532 grub/symbol.h. Include grub/efi/time.h.
39533 (GRUB_TICKS_PER_SECOND): Removed.
39534 (grub_get_rtc): Likewise.
39535
39536 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39537 Added padding. The EFI spec is buggy.
39538 (GRUB_EFI_BLACK): New macro.
39539 (GRUB_EFI_BLUE): Likewise.
39540 (GRUB_EFI_GREEN): Likewise.
39541 (GRUB_EFI_CYAN): Likewise.
39542 (GRUB_EFI_RED): Likewise.
39543 (GRUB_EFI_MAGENTA): Likewise.
39544 (GRUB_EFI_BROWN): Likewise.
39545 (GRUB_EFI_LIGHTGRAY): Likewise.
39546 (GRUB_EFI_BRIGHT): Likewise.
39547 (GRUB_EFI_DARKGRAY): Likewise.
39548 (GRUB_EFI_LIGHTBLUE): Likewise.
39549 (GRUB_EFI_LIGHTGREEN): Likewise.
39550 (GRUB_EFI_LIGHTCYAN): Likewise.
39551 (GRUB_EFI_LIGHTRED): Likewise.
39552 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39553 (GRUB_EFI_YELLOW): Likewise.
39554 (GRUB_EFI_WHITE): Likewise.
39555 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39556 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39557 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39558 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39559 (GRUB_EFI_BACKGROUND_RED): Likewise.
39560 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39561 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39562 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39563 (GRUB_EFI_TEXT_ATTR): Likewise.
39564
39565 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39566 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39567 (kernel_mod_HEADERS): Added efi/time.h.
39568
83709125 395692006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39570
39571 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39572 include/grub/efi/api.h, include/grub/efi/console_control.h,
39573 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39574 include/grub/i386/efi/time.h, kern/efi/efi.c,
39575 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39576 and util/i386/efi/grub-mkimage.c.
39577
39578 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39579
39580 * genmk.rb (PModule#rule): Do not export symbols if
39581 #{prefix}_EXPORTS is set to "no".
39582
39583 * conf/i386-efi.mk: New file.
39584 * conf/i386-efi.rmk: Likewise.
39585 * include/grub/efi/api.h: Likewise.
39586 * include/grub/efi/console_control.h: Likewise.
39587 * include/grub/efi/efi.h: Likewise.
39588 * include/grub/efi/pe32.h: Likewise.
39589 * include/grub/i386/efi/time.h: Likewise.
39590 * kern/efi/efi.c: Likewise.
39591 * kern/i386/efi/init.c: Likewise.
39592 * kern/i386/efi/startup.S: Likewise.
39593 * util/i386/efi/grub-mkimage.c: Likewise.
39594
395952006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39596
39597 * include/grub/script.h: Include <grub/parser.h> and
39598 "grub_script.tab.h".
39599 (struct grub_lexer_param): New struct.
39600 (struct grub_parser_param): Likewise.
39601 (grub_script_create_arglist): Pass the state in an argument.
39602 (grub_script_add_arglist): Likewise.
39603 (grub_script_create_cmdline): Likewise.
39604 (grub_script_create_cmdblock): Likewise.
39605 (grub_script_create_cmdif): Likewise.
39606 (grub_script_create_cmdmenu): Likewise.
39607 (grub_script_add_cmd): Likewise.
39608 (grub_script_arg_add): Likewise.
39609 (grub_script_lexer_ref): Likewise.
39610 (grub_script_lexer_deref): Likewise.
39611 (grub_script_lexer_record_start): Likewise.
39612 (grub_script_lexer_record_stop): Likewise.
39613 (grub_script_mem_record): Likewise.
39614 (grub_script_mem_record_stop): Likewise.
39615 (grub_script_malloc): Likewise.
39616 (grub_script_yylex): Likewise.
39617 (grub_script_yyparse): Likewise.
39618 (grub_script_yyerror): Likewise.
39619 (grub_script_yylex): Likewise.
39620 (grub_script_lexer_init): Return the state.
39621
39622 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39623 (grub_script_lexer_done): Likewise.
39624 (grub_script_lexer_getline): Likewise.
39625 (grub_script_lexer_refs): Likewise.
39626 (script): Likewise.
39627 (newscript): Likewise.
39628 (record): Likewise.
39629 (recording): Likewise.
39630 (recordpos): Likewise.
39631 (recordlen): Likewise.
39632 (grub_script_lexer_init): Return the state instead of setting
39633 global variables.
39634 (grub_script_lexer_ref): Use the newly added argument for state
39635 instead of globals.
39636 (grub_script_lexer_deref): Likewise.
39637 (grub_script_lexer_record_start): Likewise.
39638 (grub_script_lexer_record_stop): Likewise.
39639 (recordchar): Likewise.
39640 (nextchar): Likewise.
39641 (grub_script_yylex2): Likewise.
39642 (grub_script_yylex): Likewise.
39643 (grub_script_yyerror): Likewise.
39644
39645 * normal/parser.y (func_mem): Removed variable.
39646 (menu_entry): Likewise.
39647 (err): Likewise.
39648 (%lex-param): New parser option.
39649 (%parse-param): Likewise.
39650 (script): Always return the AST.
39651 (argument): Pass the state around.
39652 (arguments): Likewise.
39653 (grubcmd): Likewise.
39654 (commands): Likewise.
39655 (function): Likewise.
39656 (menuentry): Likewise.
39657 (if_statement): Likewise.
39658 (if): Likewise.
39659
39660 * normal/script.c (grub_script_memused): Removed variable.
39661 (grub_script_parsed): Likewise.
39662 (grub_script_malloc): Added a state argument. Use that instead of
39663 global variables.
39664 (grub_script_mem_record): Likewise.
39665 (grub_script_mem_record_stop): Likewise.
39666 (grub_script_arg_add): Likewise.
39667 (grub_script_add_arglist): Likewise.
39668 (grub_script_create_cmdline): Likewise.
39669 (grub_script_create_cmdif): Likewise.
39670 (grub_script_create_cmdmenu): Likewise.
39671 (grub_script_add_cmd): Likewise.
39672 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39673
e2a8c904 396742006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39675
39676 * normal/command.c (grub_command_init): Remove the title command.
39677
39678 * normal/lexer.c (grub_script_yylex): Renamed from this...
39679 (grub_script_yylex2): ... to this.
39680 (grub_script_yylex): New function. Temporary
39681 introduced to filter some tokens.
39682 (grub_script_yyerror): Print a newline.
39683
39684 * normal/main.c (read_config_file): Output information about the
39685 lines that contain errors. Wait for a key after all lines have
39686 been processed. Don't return an empty menu.
39687
39688 * normal/parser.y (func_mem): Don't initialize.
39689 (menu_entry): Likewise.
39690 (err): New variable.
39691 (script): Don't return anything when an error was encountered.
39692 (ws, returns): Removed rules.
39693 (argument): Disabled concatenated variable support.
39694 (arguments): Remove explicit separators.
39695 (grubcmd): Likewise.
39696 (function): Likewise.
39697 (menuentry): Likewise.
39698 (if): Likewise.
39699 (commands): Likewise. Add error handling.
39700
39701 * normal/script.c (grub_script_create_cmdline): If
39702 `grub_script_parsed' is 0, assume the parser encountered an error.
39703
c9a86192 397042006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39705
39706 * configure.ac: Add support for EFI. Fix the typo
39707 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39708
70f3b243 397092006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39710
39711 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39712 foreign multibyte characters should be shown correctly.
39713
65f201ad 397142006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39715
39716 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39717 calculation.
39718 (read_config_file): Made it to close file before returning.
39719
b4b93674 397202006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39721
39722 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39723 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39724 video/i386/pc/vbefill.c.
39725
39726 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39727 video/i386/pc/vbefill.c.
39728
39729 * include/grub/video.h (grub_video_blit_format): New enum.
39730 (grub_video_mode_info): Added new member blit_format.
39731 (grub_video_get_blit_format): New function prototype.
39732
39733 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39734 function prototype.
39735 (grub_video_vbe_map_rgb): Likewise.
39736 (grub_video_vbe_unmap_color): Likewise.
39737
39738 * include/grub/i386/pc/vbeblit.h: New file.
39739
39740 * include/grub/i386/pc/vbefill.h: New file.
39741
39742 * video/video.c (grub_video_get_blit_format): New function.
39743 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39744 (grub_video_vbe_map_rgb): Likewise.
39745 (grub_video_vbe_unmap_color): Likewise.
39746
39747 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39748 optimized fills.
39749 (grub_video_vbe_blit_render_target): Changed to use more optimized
39750 blits.
39751 (grub_video_vbe_setup): Added detection for optimized settings.
39752 (grub_video_vbe_create_render_target): Likewise.
39753
39754 * video/i386/pc/vbeblit.c: New file.
39755
39756 * video/i386/pc/vbefill.c: New file.
39757
c2379b9c 397582006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39759
39760 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39761 here...
39762
39763 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39764 parsing to support both hex and dec ranges. If filename was missing
39765 show usage information.
39766
bd0d7896 397672006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39768
39769 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39770 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39771
39772 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39773 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39774 (video_mod_SOURCES): Added.
39775 (video_mod_CFLAGS): Likewise.
39776 (video_mod_LDFLAGS): Likewise.
39777 (gfxterm_mod_SOURCES): Likewise.
39778 (gfxterm_mod_CFLAGS): Likewise.
39779 (gfxterm_mod_LDFLAGS): Likewise.
39780 (videotest_mod_SOURCES): Likewise.
39781 (videotest_mod_CFLAGS): Likewise.
39782 (videotest_mod_LDFLAGS): Likewise.
39783 (vesafb_mod_SOURCES): Removed.
39784 (vesafb_mod_CFLAGS): Likewise.
39785 (vesafb_mod_LDFLAGS): Likewise.
39786 (vga_mod_SOURCES): Likewise.
39787 (vga_mod_CFLAGS): Likewise.
39788 (vga_mod_LDFLAGS): Likewise.
39789
39790 * commands/videotest.c: New file.
39791
39792 * font/manager.c (fill_with_default_glyph): Modified to use
39793 grub_font_glyph.
39794 (grub_font_get_glyph): Likewise.
39795 (fontmanager): Renamed from this...
39796 (font_manager): ... to this.
39797
39798 * include/grub/font.h (grub_font_glyph): Added new structure.
39799 (grub_font_get_glyph): Modified to use grub_font_glyph.
39800
39801 * include/grub/misc.h (grub_abs): Added as inline function.
39802
39803 * include/grub/video.h: New file.
39804
39805 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39806 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39807 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39808 (grub_vbe_get_controller_info): Renamed from this...
39809 (grub_vbe_bios_get_controller_info): ... to this.
39810 (grub_vbe_get_mode_info): Renamed from this...
39811 (grub_vbe_bios_get_mode_info): ... to this.
39812 (grub_vbe_set_mode): Renamed from this...
39813 (grub_vbe_bios_set_mode): ... to this.
39814 (grub_vbe_get_mode): Renamed from this...
39815 (grub_vbe_bios_get_mode): ... to this.
39816 (grub_vbe_set_memory_window): Renamed from this...
39817 (grub_vbe_bios_set_memory_window): ... to this.
39818 (grub_vbe_get_memory_window): Renamed from this...
39819 (grub_vbe_bios_get_memory_window): ... to this.
39820 (grub_vbe_set_scanline_length): Renamed from this...
39821 (grub_vbe_set_scanline_length): ... to this.
39822 (grub_vbe_get_scanline_length): Renamed from this...
39823 (grub_vbe_bios_get_scanline_length): ... to this.
39824 (grub_vbe_set_display_start): Renamed from this...
39825 (grub_vbe_bios_set_display_start): ... to this.
39826 (grub_vbe_get_display_start): Renamed from this...
39827 (grub_vbe_bios_get_display_start): ... to this.
39828 (grub_vbe_set_palette_data): Renamed from this...
39829 (grub_vbe_bios_set_palette_data): ... to this.
39830 (grub_vbe_set_pixel_rgb): Removed.
39831 (grub_vbe_set_pixel_index): Likewise.
39832
39833 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39834 from this...
39835 (grub_vbe_bios_get_controller_info): ... to this.
39836 (grub_vbe_get_mode_info): Renamed from this...
39837 (grub_vbe_bios_get_mode_info): ... to this.
39838 (grub_vbe_set_mode): Renamed from this...
39839 (grub_vbe_bios_set_mode): ... to this.
39840 (grub_vbe_get_mode): Renamed from this...
39841 (grub_vbe_bios_get_mode): ... to this.
39842 (grub_vbe_set_memory_window): Renamed from this...
39843 (grub_vbe_bios_set_memory_window): ... to this.
39844 (grub_vbe_get_memory_window): Renamed from this...
39845 (grub_vbe_bios_get_memory_window): ... to this.
39846 (grub_vbe_set_scanline_length): Renamed from this...
39847 (grub_vbe_set_scanline_length): ... to this.
39848 (grub_vbe_get_scanline_length): Renamed from this...
39849 (grub_vbe_bios_get_scanline_length): ... to this.
39850 (grub_vbe_set_display_start): Renamed from this...
39851 (grub_vbe_bios_set_display_start): ... to this.
39852 (grub_vbe_get_display_start): Renamed from this...
39853 (grub_vbe_bios_get_display_start): ... to this.
39854 (grub_vbe_set_palette_data): Renamed from this...
39855 (grub_vbe_bios_set_palette_data): ... to this.
39856 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39857 getting corrupted after calling it. Added more pushes and pops.
39858 (grub_vbe_bios_set_mode): Likewise.
39859 (grub_vbe_bios_get_mode): Likewise.
39860 (grub_vbe_bios_get_memory_window): Likewise.
39861 (grub_vbe_bios_set_scanline_length): Likewise.
39862 (grub_vbe_bios_get_scanline_length): Likewise.
39863 (grub_vbe_bios_get_display_start): Likewise.
39864 (grub_vbe_bios_set_palette_data): Likewise.
39865
39866 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39867 (cl_insert): Likewise.
39868 (cl_delete): Likewise.
39869
39870 * term/gfxterm.c: New file.
39871
39872 * term/i386/pc/vesafb.c: Removed file.
39873
39874 * video/video.c: New file.
39875
39876 * video/i386/pc/vbe.c (real2pm): Added new function.
39877 (grub_video_vbe_draw_pixel): Likewise.
39878 (grub_video_vbe_get_video_ptr): Likewise.
39879 (grub_video_vbe_get_pixel): Likewise
39880 (grub_video_vbe_init): Likewise.
39881 (grub_video_vbe_fini): Likewise.
39882 (grub_video_vbe_setup): Likewise.
39883 (grub_video_vbe_get_info): Likewise.
39884 (grub_video_vbe_set_palette): Likewise.
39885 (grub_video_vbe_get_palette): Likewise.
39886 (grub_video_vbe_set_viewport): Likewise.
39887 (grub_video_vbe_get_viewport): Likewise.
39888 (grub_video_vbe_map_color): Likewise.
39889 (grub_video_vbe_map_rgb): Likewise.
39890 (grub_video_vbe_map_rgba): Likewise.
39891 (grub_video_vbe_unmap_color): Likewise.
39892 (grub_video_vbe_fill_rect): Likewise.
39893 (grub_video_vbe_blit_glyph): Likewise.
39894 (grub_video_vbe_blit_bitmap): Likewise.
39895 (grub_video_vbe_blit_render_target): Likewise.
39896 (grub_video_vbe_scroll): Likewise.
39897 (grub_video_vbe_swap_buffers): Likewise.
39898 (grub_video_vbe_create_render_target): Likewise.
39899 (grub_video_vbe_delete_render_target): Likewise.
39900 (grub_video_vbe_set_active_render_target): Likewise.
39901 (grub_vbe_set_pixel_rgb): Remove function.
39902 (grub_vbe_set_pixel_index): Likewise.
39903 (index_color_mode): Remove static variable.
39904 (active_mode): Likewise.
39905 (framebuffer): Likewise.
39906 (bytes_per_scan_line): Likewise.
39907 (grub_video_vbe_adapter): Added new static variable.
39908 (framebuffer): Likewise.
39909 (render_target): Likewise.
39910 (initial_mode): Likewise.
39911 (mode_in_use): Likewise.
39912 (mode_list): Likewise.
39913
5f97350b 399142006-03-10 Marco Gerards <marco@gnu.org>
39915
39916 * configure.ac (AC_INIT): Bumped to 1.93.
39917
39918 * DISTLIST: Added `include/grub/hfs.h'.
39919
a3c5c6f8 399202006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39921
39922 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39923 18H, which might help the BIOS falling back to next boot media.
39924
6de53d26 399252006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39926
39927 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39928 Poe Chen <poe.poechen@gmail.com>.
39929
77c4a393 399302006-01-17 Marco Gerards <marco@gnu.org>
39931
39932 * include/grub/normal.h: Include <grub/script.h>.
39933 (grub_command_list): Removed struct.
39934 (grub_command_list_t): Removed type.
39935 (grub_menu_entry): Remove members `num' and `command_list'. Add
39936 members `commands' and `sourcecode'.
39937 * include/grub/script.h: Add inclusion guards.
39938 (grub_script_cmd_menuentry): New struct.
39939 (grub_script_execute_menuentry): New prototype.
39940 (grub_script_lexer_record_start): Likewise.
39941 (grub_script_lexer_record_stop): Likewise.
39942 * normal/execute.c (grub_script_execute_menuentry): New function.
39943 * normal/lexer.c (record, recording, recordpos, recordlen): New
39944 variables.
39945 (grub_script_lexer_record_start): New function.
39946 (grub_script_lexer_record_stop): Likewise.
39947 (recordchar): Likewise.
39948 (nextchar): Likewise.
39949 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39950 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39951 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39952 (current_menu): New variable.
39953 (free_menu): Mainly rewritten.
39954 (grub_normal_menu_addentry): New function.
39955 (read_config_file): Rewritten.
39956 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39957 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39958 the menu entry.
39959 (run): Mainly rewritten.
39960 * normal/parser.y (menu_entry): New variable.
39961 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39962 (menuentry): New rule.
39963 (command): Add `menuentry'.
39964 (if_statement): Allow additional returns before `fi'.
39965 * normal/script.c (grub_script_create_cmdmenu): New function.
39966
144f1f98 399672006-01-03 Marco Gerards <marco@gnu.org>
39968
39969 * INSTALL: GNU Bison is required.
39970 * configure.ac: Rewritten the test to detect Bison.
39971 * Makefile.in (YACC): New variable. Reported by Xun Sun
39972 <xun.sun.cn@gmail.com>.
39973
af4b2d89 399742006-01-03 Marco Gerards <marco@gnu.org>
39975
39976 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39977 the HFS+ filesystem to filesystem blocks.
39978 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39979 GCC warning is silenced.
39980
15643b71 399812006-01-03 Marco Gerards <marco@gnu.org>
39982
39983 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39984 read from disk from big endian to host byte order.
39985
00905879 399862006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39987
39988 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39989 documentation.
39990 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39991 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39992 embedded HFS+ filesystem.
39993 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39994 (grub_hfs_sblock): Move from here...
39995 * include/grub/hfs.h: To here... New file.
39996 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39997 documentation.
39998 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39999 New macros.
40000 (grub_hfsplus_volheader): Change type of member `magic' to
40001 `grub_uint16_t'.
40002 (grub_hfsplus_data): Add new member `embedded_offset'.
40003 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40004 returned block.
40005 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40006 Calculate the offset.
40007
8899bc3e 400082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40009
40010 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40011 Removed.
40012 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40013
ae8c0277 400142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40015
40016 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40017 ENV->NAME is NULL after allocating ENV->VALUE.
40018
07084456 400192005-12-25 Marco Gerards <marco@gnu.org>
40020
40021 * kern/env.c (grub_env_set): Rewritten the error handling code.
40022
4750f5f1 400232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40024
40025 * geninit.sh: Made more robust, and more portable.
40026
50214199 400272005-12-25 Marco Gerards <marco@gnu.org>
40028
40029 Add support for Apple HFS+ filesystems.
f19dbdb7 40030
50214199 40031 * fs/hfsplus.c: New file.
40032
40033 * DISTLIST: Added `fs/hfsplus.c'.
40034
40035 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40036 (hfsplus_mod_SOURCES): New variable.
40037 (hfsplus_mod_CFLAGS): Likewise.
40038 (hfsplus_mod_LDFLAGS): Likewise.
40039 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40040 (grub_setup_SOURCES): Likewise.
40041 (grub_mkdevicemap_SOURCES): Likewise.
40042 (grub_emu_SOURCES): Likewise.
40043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40044
40045 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40046
40047 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40048
befaed6c 400492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40050
40051 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40052 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40053 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40054 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40055 normal/lexer.c, normal/parser.y, normal/script.c, and
40056 partmap/gpt.c.
40057 Removed kern/sparc64/cache.c.
40058
40059 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40060 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40061 grub_emu_init.c.
40062
40063 * configure.ac (AC_INIT): Bumped to 1.92.
40064
6a124103 400652005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40066
40067 * kern/err.c (grub_error_push): Added new function to support error
40068 stacks.
40069 (grub_error_pop): Likewise.
40070 (grub_error_stack_items): New local variable to support error stacks.
40071 (grub_error_stack_pos): Likewise.
40072 (grub_error_stack_assert): Likewise.
40073 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40074 stack depth.
40075 (grub_print_error): Added support to print errors from error stack.
40076
40077 * include/grub/err.h (grub_error_push): Added function prototype.
40078 (grub_error_pop): Likewise.
40079
be973c1b 400802005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40081
40082 * configure.ac: Accept `powerpc64' as host_cpu.
40083 (amd64): Rename to `biarch32'.
40084
40085 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40086 non-cacheline-aligned addresses.
40087
40088 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40089 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40090 if `size' is non-zero.
40091
b04216ab 400922005-12-03 Marco Gerards <mgerards@xs4all.nl>
40093
40094 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40095 and `cd' to make sure the filename is not prefixed with a
40096 directory name.
40097 (pkgdata_MODULES): Add `gpt.mod'.
40098 (gpt_mod_SOURCES): New variable.
40099 (gpt_mod_CFLAGS): Likewise.
40100 (gpt_mod_LDFLAGS): Likewise.
40101
40102 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40103
40104 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40105 New macro.
40106
40107 * partmap/gpt.c: New file.
40108
40109 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40110 GPT partition map is detected.
40111
41730ed9 401122005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40113
40114 * commands/i386/pc/play.c: New file.
40115 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40116 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40117 macros.
f19dbdb7 40118
95dc3643 401192005-11-27 Marco Gerards <mgerards@xs4all.nl>
40120
40121 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40122 ((unused))' to silence gcc warning.
40123
1569ec51 401242005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40125
40126 * configure.ac: Correct `AC_PROG_YACC' test.
40127
9abde152 401282005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40129
40130 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40131 check before installing files.
40132
44b83271 401332005-11-22 Mike Small <smallm@panix.com>
40134
40135 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40136 number regex so multidigit numbers are recognized correctly.
40137
401382005-11-22 Mike Small <smallm@panix.com>
40139
40140 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40141 debugging message before attempting to claim memory.
40142 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40143 multiple addresses in case of failure.
40144
9c12956b 401452005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40146
40147 * term/tparm.c (get_space): Remove empty `if' statement.
40148
40149 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40150
40151 * kern/parser.c (check_varstate): Rename `state' to 's'.
40152
aeaf81d9 401532005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40154
40155 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40156 variable definitions to the beginning of each function. Sort stack
40157 variables by size.
40158 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40159 `buf' argument to `char *'.
40160
79bbb63f 401612005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40162
40163 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40164 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40165 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40166 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40167 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40168 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40169 configfile.mod, search.mod, gzio.mod and test.mod.
40170 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40171 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40172 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40173 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40174 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40175 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40176 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40177 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40178 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40179 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40180 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40181 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40182 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40183 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40184 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40185 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40186 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40187 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40188 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40189 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40190 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40191 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40192 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40193
40194 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40195 `grep --include'.
40196 (pkgdata_MODULES): Add test.mod.
40197
233b1628 401982005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40199
40200 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40201 appending to variables with "+=".
40202 (PModule): Use full pathname to generate *.lst filenames.
40203
40204 * Makefile.in: Fixed list rules moved from genmk.rb.
40205 (.DELETE_ON_ERROR): New special target.
40206 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40207
40208 * conf/i386-pc.rmk: Include conf/common.mk.
40209 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40210 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40211 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40212 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40213 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40214 configfile.mod, search.mod, gzio.mod and test.mod.
40215 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40216 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40217 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40218 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40219 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40220 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40221 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40222 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40223 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40224 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40225 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40226 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40227 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40228 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40229 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40230 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40231 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40232 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40233 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40234 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40235 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40236 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40237 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40238 here...
40239 * conf/common.rmk: ... to here. New file.
40240
40241 * conf/common.mk: New file.
40242
16f820c8 402432005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40244
40245 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40246 (grub_script.tab.c): ... here.
40247
40248 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40249 (grub_script.tab.c): ... here.
40250
40251 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40252 (grub_script.tab.c): ... here.
40253
40254 * normal/command.c (grub_command_find): Fixed a memory leak of
40255 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40256
63ba1554 402572005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40258
40259 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40260 "@" which marks the start of a comment on ARM.
40261 (VARIABLE): Likewise.
40262
7f67dc13 402632005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40264
79bbb63f 40265 Add support for Linux/ADFS partition tables.
7f67dc13 40266
40267 * partmap/acorn.c: New file.
40268
40269 * include/grub/acorn_filecore.h: Likewise.
40270
40271 * DISTLIST: Added `partmap/acorn.c' and
40272 `include/grub/acorn_filecore.h'.
f19dbdb7 40273
7f67dc13 40274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40275 `partmap/acorn.c'.
40276 (pkgdata_MODULES): Add `acorn.mod'.
40277 (acorn_mod_SOURCES): New variable.
40278 (acorn_mod_CFLAGS): Likewise.
40279
40280 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40281 `partmap/acorn.c'.
40282 (pkgdata_MODULES): Add `acorn.mod'.
40283 (acorn_mod_SOURCES): New variable.
40284 (acorn_mod_CFLAGS): Likewise.
40285
40286 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40287 (pkgdata_MODULES): Add `acorn.mod'.
40288 (acorn_mod_SOURCES): New variable.
40289 (acorn_mod_CFLAGS): Likewise.
40290 (acorn_mod_LDFLAGS): Likewise.
40291
40292 * include/types.h (grub_disk_addr_t): New typedef.
40293
6d099807 402942005-11-13 Marco Gerards <mgerards@xs4all.nl>
40295
40296 * geninit.sh: New file.
40297
40298 * geninitheader.sh: Likewise.
40299
40300 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40301 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40302 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40303 * commands/configfile.c (grub_configfile_init)
40304 (grub_configfile_fini): Likewise.
40305 * commands/default.c (grub_default_init, grub_default_fini):
40306 Likewise.
40307 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40308 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40309 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40310 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40311 Likewise.
40312 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40313 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40314 Likewise.
40315 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40316 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40317 Likewise.
40318 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40319 Likewise.
fe6b695a 40320 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40321 Likewise.
40322 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40323 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40324 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40325 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40326 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40327 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40328 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40329 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40330 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40331 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40332 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40333 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40334 * partmap/amiga.c (grub_amiga_partition_map_init)
40335 (grub_amiga_partition_map_fini): Likewise.
40336 * partmap/apple.c (grub_apple_partition_map_init)
40337 (grub_apple_partition_map_fini): Likewise.
40338 * partmap/pc.c (grub_pc_partition_map_init)
40339 (grub_pc_partition_map_fini): Likewise.
40340 * partmap/sun.c (grub_sun_partition_map_init,
40341 grub_sun_partition_map_fini): Likewise.
40342 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40343 Likewise.
40344
40345 * util/grub-emu.c: Include <grub_modules_init.h>.
40346 (main): Don't initialize and de-initialize any modules directly,
40347 use `grub_init_all' and `grub_fini_all' instead.
40348
40349 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40350 `grub_vesafb_mod_init'.
40351 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40352 all users.
40353 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40354 `grub_vga_mod_init'. Updated all users.
40355 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40356
6d099807 40357 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40358 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40359 rules.
40360
40361 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40362 Generate a function to initialize the module in utilities.
40363 Updated all callers.
40364 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40365 initialize the module in utilities. Updated all callers.
40366
9046bcf0 403672005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40368
40369 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40370 escape sequence and a literal ^L to clear the screen.
40371
40372 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40373 when returning from Open Firmware.
40374
d13ea639 403752005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40376
40377 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40378 (grub_ofconsole_height): Likewise.
40379 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40380 manually insert a '\n'.
40381 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40382 `grub_ofconsole_height'. Return early if these are already set.
40383
a8fcf206 403842005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40385
40386 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40387 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40388 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40389 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40390 and `normal/script.c'.
40391 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40392 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40393 (test_mod_SOURCES): New variable.
40394 (test_mod_CFLAGS): Likewise.
40395 (test_mod_LDFLAGS): Likewise.
40396 (pkgdata_MODULES): Add `test.mod'.
40397 (grub_script.tab.c): New rule.
40398 (grub_script.tab.h): Likewise.
40399
b6b32745 404002005-11-07 Marco Gerards <mgerards@xs4all.nl>
40401
40402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40403 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40404 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40405 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40406 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40407 (test_mod_SOURCES): New variable.
40408 (test_mod_CFLAGS): Likewise.
40409 (pkgdata_MODULES): Add `test.mod'.
40410 (grub_script.tab.c): New rule.
40411 (grub_script.tab.h): Likewise.
40412
daac212a 404132005-11-06 Marco Gerards <mgerards@xs4all.nl>
40414
40415 Add initial scripting support.
40416
40417 * commands/test.c: New file.
40418 * include/grub/script.h: Likewise.
40419 * normal/execute.c: Likewise.
40420 * normal/function.c: Likewise.
40421 * normal/lexer.c: Likewise.
40422 * normal/parser.y: Likewise.
40423 * normal/script.c: Likewise.
40424
40425 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40426
daac212a 40427 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40428 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40429 `normal/function.c' and `normal/script.c'.
40430 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40431 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40432 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40433 variables.
daac212a 40434 (pkgdata_MODULES): Add `test.mod'.
40435 (grub_script.tab.c): New rule.
40436 (grub_script.tab.h): Likewise.
40437
40438 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40439
40440 * include/grub/normal.h (grub_test_init): New prototype.
40441 (grub_test_fini): Likewise.
f19dbdb7 40442
daac212a 40443 * normal/command.c: Include <grub/script.h>.
40444 (grub_command_execute): Rewritten.
f19dbdb7 40445
daac212a 40446 * util/grub-emu.c (main): Call `grub_test_init' and
40447 `grub_test_fini'.
40448
77500b2b 404492005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40450
40451 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40452 to 0.
40453 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40454 there are no pending characters.
40455
e45deb9e 404562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40457
40458 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40459 `grub_strndup' to drop device arguments. Replace unnecessary
40460 `grub_strndup' with `grub_strdup'.
40461
4ce32619 404622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40463
40464 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40465 `debug' environment variable has been set.
40466
404672005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40468
4ce32619 40469 * Makefile.in (install-local): Use $(DATA).
40470 (uninstall): Likewise.
40471 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40472 (sbin_UTILITIES): ... to here.
40473 (sbin_SCRIPTS): New variable.
40474 (grub_install_SOURCES): New variable.
40475 * util/powerpc/ieee1275/grub-install.in: New file.
40476 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40477 variable.
40478 (add_segments): Call `grub_util_get_path'.
40479
25fe6f03 404802005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40481
40482 From Timothy Baldwin:
40483 * commands/ls.c (grub_ls_list_files): Close FILE with
40484 grub_file_close.
40485 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40486
04ccf3ec 404872005-10-24 Marco Gerards <mgerards@xs4all.nl>
40488
40489 * include/grub/parser.h: New file.
40490
40491 * kern/parser.c: Likewise.
40492
40493 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40494 (grub_setup_SOURCES): Likewise.
40495 (grub_probefs_SOURCES): Likewise.
40496 (grub_emu_SOURCES): Likewise.
40497 (kernel_img_HEADERS): Add `parser.h'.
40498
40499 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40500 (grub_emu_SOURCES): Add `kern/parser.c'.
40501 (grubof_SOURCES): Likewise.
40502
40503 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40504 (grubof_SOURCES): Add `kern/parser.c'.
40505
40506 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40507
40508 * kern/misc.c (grub_split_cmdline): Removed function.
40509
40510 * kern/rescue.c: Include <grub/parser.h>.
40511 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40512 of `grub_split_cmdline'.
40513
40514 * normal/command.c: Include <grub/parser.h>.
40515 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40516 of `grub_split_cmdline'.
40517
40518 * normal/completion.c: Include <grub/parser.h>.
40519 (cmdline_state): New variable.
40520 (iterate_dir): End the filename with a quote depending on the
40521 command line state.
40522 (get_state): new function.
40523 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40524 split the arguments and determine the current argument. When the
40525 argument string is not quoted, escape all spaces.
40526
6d8f4b0e 405272005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40528
40529 * normal/sparc64/setjmp.S: New file.
40530
15cf03ed 405312005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40532
40533 * include/grub/sparc64/libgcc.h: New file.
40534 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40535 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40536 normal/sparc64/setjmp.c.
40537
03e8661a 405382005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40539
40540 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40541 * kern/sparc64/cache.S: New file.
40542 * kern/sparc64/cache.c: Removed.
40543 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40544 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40545 -mtune=ultrasparc.
40546 (COMMON_LDFLAGS): Add -melf64_sparc.
40547 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40548 (grubof_SOURCES): Use cache.S instead of cache.c.
40549 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40550 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40551 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40552 commented though.
40553 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40554 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40555 (linux_mod_CFLAGS): Commented out.
40556 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40557 out because module isn't built.
40558 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40559 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40560 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40561 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40562 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40563 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40564 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40565 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40566 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40567 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40568 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40569 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40570 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40571 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40572
34eeec8a 405732005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40574
40575 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40576 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40577 longer, because HFS should not be used on PC.
40578
708367a3 405792005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40580
40581 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40582 consistently within the loop.
40583
6fa1251a 405842005-10-15 Marco Gerards <mgerards@xs4all.nl>
40585
40586 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40587 directory can not be read.
40588
4801580b 405892005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40590
40591 * configure.ac (AC_INIT): Increase the version number to 1.91.
40592
40593 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40594 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40595 term/i386/pc/serial.c.
40596
219ad426 405972005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40598
40599 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40600 file size must be permitted.
40601
40602 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40603 between %ah and %al.
40604
688e5699 406052005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40606
40607 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40608 grub_uint64_t.
40609 Call the hook with a NUL-terminated filename.
40610 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40611 grub_cpu_to_be32.
40612
40613 * kern/term.c (cursor_state): New variable.
40614 (grub_term_set_current): Reset the cursor state on a new
40615 terminal.
40616 (grub_setcursor): Rewritten to use CURSOR_STATE.
40617 (grub_getcursor): New function.
40618
40619 * include/grub/term.h (grub_getcursor): New prototype.
40620
40621 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40622 integers on ARM. Reported by Timothy Baldwin
40623 <T.E.Baldwin99@members.leeds.ac.uk>.
40624
bb34586c 406252005-10-11 Marco Gerards <mgerards@xs4all.nl>
40626
40627 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40628 allocated.
40629 (grub_sfs_dir): Likewise.
40630
9a909877 406312005-10-09 Marco Gerards <mgerards@xs4all.nl>
40632
40633 Add support for the SFS filesystem.
40634
40635 * fs/sfs.c: New file.
40636
40637 * DISTLIST: Added `fs/sfs.c'.
40638
40639 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40640 (grub_probefs_SOURCES): Likewise.
40641 (grub_emu_SOURCES): Likewise.
40642 (pkgdata_MODULES): Add `sfs.mod'.
40643 (sfs_mod_SOURCES): New variable.
40644 (sfs_mod_CFLAGS): Likewise.
40645 (sfs_mod_LDFLAGS): Likewise.
40646
40647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40648 (pkgdata_MODULES): Add `sfs.mod'.
40649 (sfs_mod_SOURCES): New variable.
40650 (sfs_mod_CFLAGS): Likewise.
40651
40652 * util/grub-emu.c (main): Call `grub_sfs_init' and
40653 `grub_sfs_fini'.
40654
40655 * include/grub/fs.h (grub_sfs_init): New prototype.
40656 (grub_sfs_fini): Likewise.
40657
57bdbde3 406582005-10-07 Marco Gerards <mgerards@xs4all.nl>
40659
40660 Add support for the AFFS filesystem.
40661
40662 * fs/affs.c: New file.
40663
40664 * DISTLIST: Added `fs/affs.c'.
40665
40666 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40667 (grub_probefs_SOURCES): Likewise.
40668 (grub_emu_SOURCES): Likewise.
40669 (pkgdata_MODULES): Add `affs.mod'.
40670 (affs_mod_SOURCES): New variable.
40671 (affs_mod_CFLAGS): Likewise.
40672 (affs_mod_LDFLAGS): Likewise.
40673
40674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40675 (pkgdata_MODULES): Add `affs.mod'.
40676 (affs_mod_SOURCES): New variable.
40677 (affs_mod_CFLAGS): Likewise.
40678
40679 * util/grub-emu.c (main): Call `grub_affs_init' and
40680 `grub_affs_fini'.
40681
40682 * include/grub/fs.h (grub_affs_init): New prototype.
40683 (grub_affs_fini): Likewise.
40684
047b67e0 406852005-10-01 Marco Gerards <mgerards@xs4all.nl>
40686
40687 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40688
59b8208a 406892005-10-01 Marco Gerards <mgerards@xs4all.nl>
40690
40691 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40692 `-m32' to CFLAGS.
40693
40694 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40695 linking.
f19dbdb7 40696
59b8208a 40697 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40698 (COMMON_LDFLAGS): New variable.
40699 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40700 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40701 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40702 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40703 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40704 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40705 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40706 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40707 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40708 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40709 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40710 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40711 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40712 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40713 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40714 variables.
40715 (normal_mod_ASFLAGS): Add `-m32'.
40716
40717 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40718 (grub_host_size_t, grub_host_ssize_t): New types.
40719 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40720 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40721 `GRUB_HOST_SIZEOF_VOID_P'.
40722
40723 * include/grub/kernel.h (struct grub_module_header): Type of
40724 member offset changed to `grub_host_off_t'. Type of member size
40725 changed to `grub_host_size_t'.
40726 (struct grub_module_info): Type of member offset changed to
40727 `grub_host_off_t'. Type of member size changed to
40728 `grub_host_size_t'.
40729
b4093103 407302005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40731
40732 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40733
b4093103 40734 * kern/i386/pc/startup.S (multiboot_header): New label.
40735 (multiboot_entry): Likewise.
40736 (multiboot_trampoline): Likewise.
40737
40738 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40739 Increased to 0x4A0.
40740
40741 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40742 put parentheses after a question mark.
40743 [!GRUB_UTIL] (my_mod): New variable.
40744
40745 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40746
b2499b29 407472005-09-28 Marco Gerards <mgerards@xs4all.nl>
40748
40749 Adds support for the XFS filesystem. Btrees are not supported
40750 yet.
40751
40752 * fs/xfs.c: New file.
40753
40754 * DISTLIST: Added `fs/xfs.c'.
40755
40756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40757 (grub_probefs_SOURCES): Likewise.
40758 (grub_emu_SOURCES): Likewise.
40759 (pkgdata_MODULES): Add `xfs.mod'.
40760 (xfs_mod_SOURCES): New variable.
40761 (xfs_mod_CFLAGS): Likewise.
40762
40763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40764 (pkgdata_MODULES): Add `xfs.mod'.
40765 (xfs_mod_SOURCES): New variable.
40766 (xfs_mod_CFLAGS): Likewise.
40767
40768 * util/grub-emu.c (main): Call `grub_xfs_init' and
40769 `grub_xfs_fini'.
40770
40771 * include/grub/fs.h (grub_xfs_init): New prototype.
40772 (grub_xfs_fini): Likewise.
40773
f19dbdb7 40774
83d37a62 407752005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40776
40777 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40778 color modes, allow greater than 16 colors to be configured as
40779 a default palette.
40780
47d2d65e 407812005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40782
40783 * normal/completion.c (complete_arguments): Add the qualifier
40784 const into OPTIONS.
40785
40786 From Omniflux <omniflux+lists@omniflux.com>:
40787 * include/grub/terminfo.h: New file.
40788 * include/grub/tparm.h: Likewise.
40789 * include/grub/i386/pc/serial.h: Likewise.
40790 * term/terminfo.c: Likewise.
40791 * term/tparm.c: Likewise.
40792 * term/i386/pc/serial.c: Likewise.
40793 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40794 serial.mod.
40795 (terminfo_mod_SOURCES): New variable.
40796 (terminfo_mod_CFLAGS): Likewise.
40797 (serial_mod_SOURCES): Likewise.
40798 (serial_mod_CFLAGS): Likewise.
40799
48b671ff 408002005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40801
40802 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40803 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40804 and kern/powerpc/ieee1275/cmain.c, respectively.
40805
40806 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40807 * kern/powerpc/ieee1275/crt0.S: ... here.
40808
40809 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40810 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40811
48b671ff 40812 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40813 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40814 instead of boot/powerpc/ieee1275/crt0.S and
40815 boot/powerpc/ieee1275/cmain.c, respectively.
40816
40817 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40818 sectors. It was not used anyway.
40819
09fc77a7 408202005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40821
40822 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40823 `unused parameter' warning.
40824
003789c7 408252005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40826
40827 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40828 function.
40829 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40830 getcharwidth.
40831
67f44c86 408322005-08-28 Marco Gerards <metgerards@student.han.nl>
40833
40834 * include/grub/normal.h (enum grub_completion_type): Added
40835 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40836
40837 * normal/cmdline.c (print_completion): Handle
40838 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40839 * normal/menu_entry.c (store_completion): Likewise.
40840
40841 * normal/completion.c (complete_arguments): New function.
40842 (grub_normal_do_completion): Call `complete_arguments' when the
40843 current words start with a dash.
40844
0b5abe02 408452005-08-27 Marco Gerards <metgerards@student.han.nl>
40846
40847 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40848 `gzio.mod' instead of `io.mod').
40849
d9864ee1 408502005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40851
40852 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40853 (DISTDIRS): Added io and video.
40854 Rewrite the search routine to make an output consistently.
40855
40856 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40857 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40858 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40859 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40860 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40861 util/powerpc/ieee1275/misc.c.
f19dbdb7 40862
d9864ee1 40863 * include/grub/gzio.h: New file.
40864 * io/gzio.c: Likewise.
f19dbdb7 40865
d9864ee1 40866 * kern/file.c (grub_file_close): Call grub_device_close only if
40867 FILE->DEVICE is not NULL.
40868
40869 * include/grub/mm.h [!NULL] (NULL): New macro.
40870
40871 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40872
40873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40874 (pkgdata_MODULES): Added gzio.mod.
40875 (gzio_mod_SOURCES): New variable.
40876 (gzio_mod_CFLAGS): Likewise.
40877
40878 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40879 (pkgdata_MODULES): Added gzio.mod.
40880 (gzio_mod_SOURCES): New variable.
40881 (gzio_mod_CFLAGS): Likewise.
40882
40883 * commands/cat.c: Include grub/gzio.h.
40884 (grub_cmd_cat): Use grub_gzfile_open instead of
40885 grub_file_open.
f19dbdb7 40886
d9864ee1 40887 * commands/cmp.c: Include grub/gzio.h.
40888 (grub_cmd_cmp): Use grub_gzfile_open instead of
40889 grub_file_open.
40890
40891 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40892 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40893 grub_file_open.
40894 (grub_rescue_cmd_module): Likewise.
40895
fa46f4b5 408962005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40897
40898 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40899 kern/sparc64/ieee1275/init.c because it contains _start.
40900 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40901
e9211b5d 409022005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40903
40904 * configure.ac: Add support for sparc64 host with ieee1275
40905 firmware.
40906 * configure: Generated from configure.ac.
40907 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40908 instead of int.
40909 (grub_ofdisk_read): Likewise.
40910 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40911 pointers as (void *) to remove a warning.
40912 (grub_ofdisk_close): Likewise.
40913 (grub_ofdisk_read): Likewise.
40914 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40915 returns, so make it return void to remove a warning.
40916 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40917 Corresponding prototype change.
40918 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40919 values, and cast the pointers as (void *) to remove a warning.
40920 (grub_mm_dump): Likewise.
40921 * conf/sparc64-ieee1275.mk: New file.
40922 * conf/sparc64-ieee1275.rmk: Likewise.
40923 * include/grub/sparc64/setjmp.h: Likewise.
40924 * include/grub/sparc64/types.h: Likewise.
40925 * include/grub/sparc64/ieee1275/console.h: Likewise.
40926 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40927 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40928 * include/grub/sparc64/ieee1275/time.h: Likewise.
40929 * kern/sparc64/cache.c: Likewise.
40930 * kern/sparc64/dl.c: Likewise.
40931 * kern/sparc64/ieee1275/init.c: Likewise.
40932 * kern/sparc64/ieee1275/openfw.c: Likewise.
40933
385c6a92 409342005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40935
40936 * util/console.c (grub_ncurses_putchar): If C is greater than
40937 0x7f, set C to a question mark.
40938 (grub_ncurses_getcharwidth): New function.
40939 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40940 getcharwidth.
40941
40942 * normal/menu.c (print_entry): Made aware of Unicode. First,
40943 convert TITLE to UCS-4, and predict the cursor position by
40944 grub_getcharwidth.
40945
40946 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40947 const to SRC.
40948 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40949
16ccb8b1 409502005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40951
40952 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40953 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40954 grub_strcat.
40955
40956 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40957 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40958 grub_strcpy and grub_strlen. Take it into account that a space
40959 character is inserted as a delimiter.
40960
6a85ce79 409612005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40962
40963 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40964 invalid magic in the error.
6a85ce79 40965
40966 * commands/search.c: New file.
f19dbdb7 40967
6a85ce79 40968 * util/grub-emu.c (main): Call grub_search_init and
40969 grub_search_fini.
40970
40971 * kern/rescue.c (grub_rescue_print_disks): Removed.
40972 (grub_rescue_print_devices): New function.
40973 (grub_rescue_cmd_ls): Use grub_device_iterate with
40974 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40975 grub_rescue_print_disks.
40976
40977 * kern/partition.c (grub_partition_iterate): Return the result of
40978 PARTMAP->ITERATE instead of GRUB_ERRNO.
40979
40980 * kern/device.c: Include grub/partition.h.
40981 (grub_device_iterate): New function.
40982
40983 * include/grub/partition.h (grub_partition_iterate): Return int
40984 instead of grub_err_t.
40985
40986 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40987 prototype.
40988 [GRUB_UTIL] (grub_search_fini): Likewise.
40989
40990 * include/grub/device.h (grub_device_iterate): New prototype.
40991
40992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40993 commands/search.c.
40994 (pkgdata_MODULES): Added search.mod.
40995 (search_mod_SOURCES): New variable.
40996 (search_mod_CFLAGS): Likewise.
40997
40998 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40999 (pkgdata_MODULES): Added search.mod.
41000 (search_mod_SOURCES): New variable.
41001 (search_mod_CFLAGS): Likewise.
41002
41003 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41004 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41005 All callers changed.
41006
41007 * DISTLIST: Added commands/search.c.
41008
ef095434 410092005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41010
41011 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41012 conversion.
41013 (grub_getcharwidth): New function.
41014
41015 * kern/misc.c (grub_utf8_to_ucs4): New function.
41016
41017 * include/grub/term.h (struct grub_term): Added a new member
41018 "getcharwidth".
41019 (grub_getcharwidth): New prototype.
41020
41021 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41022
41023 * term/i386/pc/console.c (map_char): New function. Segregated from
41024 grub_console_putchar.
41025 (grub_console_putchar): Use map_char.
41026 (grub_console_getcharwidth): New function.
41027 (grub_console_term): Specified grub_console_getcharwidth as
41028 getcharwidth.
41029
41030 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41031 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41032
41033 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41034 GRUB_ERRNO.
41035 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41036 on grub_strtoul completely.
41037 (write_char): Declare local variables in the beginning of the
41038 function.
41039 (grub_vesafb_getcharwidth): New function.
41040 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41041 getcharwidth.
41042
1f0a95e4 410432005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41044
41045 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41046 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41047 commands/i386/pc/vbetest.c.
41048
41049 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41050 call grub_vbe_get_controller_info again, because the returned
41051 information is volatile.
41052 (grub_vbe_set_video_mode): Mostly rewritten.
41053 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41054 grub_vbe_status_t correctly.
41055 (grub_vbe_get_video_mode_info): Likewise.
41056 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41057 several if statements.
41058
41059 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41060 * commands/i386/pc/vbeinfo.c: ... this.
41061
41062 * commands/i386/pc/vbe_test.c: Renamed to ...
41063 * commands/i386/pc/vbetest.c: ... this.
41064
41065 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41066 ...
41067 (grub_cmd_vbeinfo): ... this. Save video modes before
41068 iterating. Skip a video mode, if it is not available, not enough
41069 information is given or it is monochrome. Show the memory
41070 model. Leave the interpretation of MODEVAR to grub_strtoul
41071 completely.
41072 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41073 (GRUB_MOD_FINI): Likewise.
41074
41075 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41076 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41077 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41078 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41079 grub_strtoul completely.
41080 (real2pm): Removed.
41081 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41082 (GRUB_MOD_FINI): Likewise.
41083
41084 * normal/misc.c: Include grub/mm.h.
41085
41086 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41087 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41088 (vbe_list_modes_mod_SOURCES): Removed.
41089 (vbe_list_modes_mod_CFLAGS): Likewise.
41090 (vbe_test_mod_SOURCES): Likewise.
41091 (vbe_test_mod_CFLAGS): Likewise.
41092 (vbeinfo_mod_SOURCES): New variable.
41093 (vbeinfo_mod_CFLAGS): Likewise.
41094 (vbetest_mod_SOURCES): Likewise.
41095 (vbetest_mod_CFLAGS): Likewise.
41096
992ffbbe 410972005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41098
41099 * normal/misc.c: New file.
41100
41101 * DISTLIST: Added normal/misc.c.
f19dbdb7 41102
992ffbbe 41103 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41104 DISK to HOOK. Call HOOK with DISK.
41105 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41106 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41107 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41108
41109 * normal/menu_entry.c (struct screen): Added a new member
41110 "completion_shown".
41111 (completion_buffer): New global variable.
41112 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41113 (store_completion): New function.
41114 (complete): Likewise.
41115 (clear_completions): Likewise.
41116 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41117 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41118 a tab, call complete.
41119
41120 * normal/completion.c (disk_dev): Removed.
41121 (print_simple_completion): Likewise.
41122 (print_partition_completion): Likewise.
41123 (print_func): New global variable.
41124 (add_completion): Do not take the arguments WHAT or PRINT any
41125 longer. Added a new argument TYPE. Instead of printing directly,
41126 call PRINT_FUNC if not NULL.
41127 All callers changed.
41128 (complete_device): Use a local variable DEV instead of
41129 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41130 (grub_normal_do_completion): Take a new argument HOOK. Do not
41131 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41132 empty string, return NULL instead.
41133 All callers changed.
41134
41135 * normal/cmdline.c (print_completion): New function.
41136
41137 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41138 to HOOK.
41139 All callers changed.
41140
41141 * kern/disk.c (grub_print_partinfo): Removed.
41142
41143 * include/grub/partition.h (struct grub_partition_map): Add a new
41144 argument DISK into HOOK of ITERATE.
41145 (grub_partition_iterate): Add a new argument DISK to HOOK.
41146
41147 * include/grub/normal.h (enum grub_completion_type): New enum.
41148 (grub_completion_type_t): New type.
41149 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41150 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41151 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41152 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41153 (grub_normal_do_completion): Added a new argument HOOK.
41154 (grub_normal_print_device_info): New prototype.
41155
41156 * include/grub/disk.h (grub_print_partinfo): Removed.
41157
41158 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41159 (normal_mod_SOURCES): Likewise.
41160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41161 (normal_mod_SOURCES): Likewise.
41162
41163 * commands/ls.c (grub_ls_list_disks): Use
41164 grub_normal_print_device_info instead of grub_print_partinfo. Free
41165 PNAME.
41166 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41167 duplicating the code.
41168
0bd41162 411692005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41170
41171 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41172 follow GCS more precisely.
41173 * commands/i386/pc/vbe_test.c: Likewise.
41174 * include/grub/i386/pc/vbe.h: Likewise.
41175 * term/i386/pc/vesafb.c: Likewise.
41176 * video/i386/pc/vbe.c: Likewise.
0bd41162 41177
6323696a 411782005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41179
41180 * DISTLIST: Added term/i386/pc/vesafb.c
41181 DISTLIST: Added video/i386/pc/vbe.c
41182 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41183 DISTLIST: Added commands/i386/pc/vbe_test.c.
41184 * commands/i386/pc/vbe_list_modes.c: New file.
41185 * commands/i386/pc/vbe_test.c: Likewise.
41186 * term/i386/pc/vesafb.c: Likewise.
41187 * video/i386/pc/vbe.c: Likewise.
41188 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41189 (grub_vbe_probe) Added prototype.
41190 (grub_vbe_set_video_mode) Likewise.
41191 (grub_vbe_get_video_mode) Likewise.
41192 (grub_vbe_get_video_mode_info) Likewise.
41193 (grub_vbe_set_pixel_rgb) Likewise.
41194 (grub_vbe_set_pixel_index) Likewise.
41195 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41196 (pkgdata_MODULES): Added vesafb.mod.
41197 (pkgdata_MODULES): Added vbe_list_modes.mod.
41198 (pkgdata_MODULES): Added vbe_test.mod.
41199 (vbe_mod_SOURCES): Added.
41200 (vbe_mod_CFLAGS): Likewise.
41201 (vesafb_mod_SOURCES): Likewise.
41202 (vesafb_mod_CFLAGS): Likewise.
41203 (vbe_list_modes_mod_SOURCES): Likewise.
41204 (vbe_list_modes_mod_CFLAGS): Likewise.
41205 (vbe_test_mod_SOURCES): Likewise.
41206 (vbe_test_mod_CFLAGS): Likewise.
41207
0a74e62f 412082005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41209
0a74e62f 41210 * normal/command.c (grub_command_execute): If INTERACTIVE is
41211 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41212 CMDLINE. Disable the pager if INTERACTIVE is true.
41213 All callers are changed.
41214
41215 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41216 before reading a config file.
41217 * normal/main.c (read_config_file): Even if a command is not
41218 found, register it if it is within an entry.
41219
41220 * util/grub-emu.c: Include sys/types.h and unistd.h.
41221 (options): Added --hold.
41222 (struct arguments): Added a new member "hold".
41223 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41224 missing.
41225 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41226 cleared by a debugger, if it is not zero.
41227
41228 * include/grub/normal.h (grub_command_execute): Add an argument
41229 INTERACTIVE.
41230
e51f85ae 412312005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41232
41233 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41234
e9c6f39b 412352005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41236
41237 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41238 program with another one, because the old one didn't detect a bug
41239 in gcc-3.4. Always use regparm 2, because the new test is still
41240 not enough for gcc-4.0. Someone must investigate a simple test
41241 case which detects a bug in gcc-4.0.
41242
8de3495c 412432005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41244
41245 * DISTLIST: Added normal/completion.c.
41246
41247 * normal/completion.c: New file.
f19dbdb7 41248
8de3495c 41249 * term/i386/pc/console.c (grub_console_getwh): New function.
41250 (grub_console_term): Assign grub_console_getwh to getwh.
41251
41252 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41253 function is defined in normal/completion.c as
41254 grub_normal_do_completion.
41255 (grub_cmdline_get): Use grub_normal_do_completion instead of
41256 grub_tab_complete.
41257
41258 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41259 returns non-zero, otherwise return 0.
41260 (grub_partition_iterate): First, probe the partition map. Then,
41261 call ITERATE only for this partition map.
41262
41263 * kern/misc.c (grub_strncmp): Rewritten.
41264
41265 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41266 returns non-zero. Otherwise return 0.
41267
41268 * include/grub/partition.h (grub_partition_map_iterate): Return
41269 int instead of void.
41270
41271 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41272
41273 * include/grub/misc.h (grub_strncmp): Change the type of N to
41274 grub_size_t.
41275
41276 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41277 of void.
41278
41279 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41280 unsigned explicitly before comparing it with I.
8de3495c 41281
41282 * kern/main.c (grub_env_write_root): Add the attribute unused into
41283 VAR.
41284
41285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41286 normal/completion.c.
41287 (normal_mod_SOURCES): Likewise.
41288 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41289 (normal_mod_SOURCES): Likewise.
41290
41291 * normal/command.c (grub_iterate_commands): If ITERATE returns
41292 non-zero, return one immediately.
41293
e85e144b 412942005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41295
41296 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41297 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41298 descriptions.
41299 (grub_vbe_get_controller_info): New function.
41300 (grub_vbe_get_mode_info): Likewise.
41301 (grub_vbe_set_mode): Likewise.
41302 (grub_vbe_get_mode): Likewise.
41303 (grub_vbe_set_memory_window): Likewise.
41304 (grub_vbe_get_memory_window): Likewise.
41305 (grub_vbe_set_scanline_length): Likewise.
41306 (grub_vbe_get_scanline_length): Likewise.
41307 (grub_vbe_set_display_start): Likewise.
41308 (grub_vbe_get_display_start): Likewise.
41309 (grub_vbe_set_palette_data): Likewise.
41310 * include/grub/i386/pc/vbe.h: New file.
41311
c46153d2 413122005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41313
41314 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41315 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41316 * DISTLIST: Likewise.
41317 * kern/ieee1275/of.c: Moved to ...
41318 * kern/ieee1275/ieee1275.c: ... here.
41319
0cb90c45 413202005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41321
41322 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41323 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41324 Pass 0 as `end' parameter to grub_strtoul().
41325
a19fb360 413262005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41327
41328 * include/grub/powerpc/ieee1275/console.h: Do not include
41329 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41330 ifdef.
41331 (grub_console_cur_color): Remove i386-specific prototype.
41332 (grub_console_real_putchar): Likewise.
41333 (grub_console_checkkey): Likewise.
41334 (grub_console_getkey): Likewise.
41335 (grub_console_getxy): Likewise.
41336 (grub_console_gotoxy): Likewise.
41337 (grub_console_cls): Likewise.
41338 (grub_console_setcursor): Likewise.
41339 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41340 Include <grub/machine/console.h>.
41341 * term/ieee1275/ofconsole.c: Likewise.
41342
4ac9bd04 413432005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41344
41345 * Makefile.in (LIBLZO): New variable.
41346
41347 * configure.ac: Check for LZO version 2.
41348
41349 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41350 lzo/lzo1x.h instead of lzo1x.h.
41351
41352 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41353 of -llzo.
41354
41355 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41356 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41357
41358 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41359 copying the data from PARTITION to P.
41360
f4917dfd 413612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41362
41363 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41364 negative, unload the module.
41365
41366 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41367 map is "pc_partition_map" but not "pc".
41368 (usage): Fix the description. The options are --boot-image and
41369 --core-image but not --boot-file or --core-file.
41370 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41371 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41372 DEFAULT_DIRECTORY.
41373
41374 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41375 --core-file. Specify INSTALL_DEVICE as an argument.
41376
41377 * util/console.c: Include config.h.
41378 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41379 [HAVE_NCURSES_H]: Include ncurses.h.
41380 [HAVE_CURSES_H]: Include curses.h.
41381 [!A_NORMAL] (A_NORMAL): Defined as zero.
41382 [!A_STANDOUT] (A_STANDOUT): Likewise.
41383
41384 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41385 -lncurses.
41386 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41387
41388 * configure.ac: Check for curses libraries and headers.
41389
41390 * Makefile.in (LIBCURSES): New variable.
41391
41392 * genmk.rb (Script::rule): Set the executable bits.
41393
41394 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41395 name of the PC partition map is "pc_partition_map" but not "pc".
41396
0e143073 413972005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41398
41399 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41400 (modules): Likewise.
41401 (usage): Added descriptions for --modules and --grub-probefs.
41402 Handle --modules and --grub-probefs. Save the arguments in MODULES
41403 and GRUB_PROBEFS, respectively.
41404 Auto-detect a filesystem module against GRUBDIR. If the result is
41405 empty and modules are not specified explicitly, abort the
41406 installation. Add the result to MODULES.
41407
41408 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41409 disk/powerpc/ieee1275/ofdisk.c,
41410 include/grub/powerpc/ieee1275/init.h and
41411 term/powerpc/ieee1275/ofconsole.c.
41412 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41413 term/ieee1275/ofconsole.c.
41414
41415 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41416
41417 * COPYING: Upgraded to the latest version. Only the address of the
41418 FSF office has changed.
f19dbdb7 41419
efd6e6d5 414202005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41421
41422 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41423 kern/ieee1275.c with kern/ieee1275/of.c.
41424
41425 * kern/ieee1275.c: Moved to ...
41426 * kern/ieee1275/of.c: ... here.
41427
8ceafda2 414282005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41429
41430 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41431 readability.
8ceafda2 41432
41433 * config.guess: Updated to the latest version from gnulib.
41434 * config.sub: Likewise.
41435 * install.sh: Likewise.
41436 * mkinstalldirs: Likewise.
41437
41438 * include/grub/console.h: Removed. This file is arch-specific. Do
41439 not put this in include/grub.
41440
41441 * include/grub/i386/pc/console.h: Resurrected.
41442
41443 * util/console.c: Include grub/machine/console.h instead of
41444 grub/console.h.
41445 * util/grub-emu.c: Likewise.
41446
267f6cd9 414472005-08-04 Marco Gerards <metgerards@student.han.nl>
41448
41449 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41450 hardcoded value.
f19dbdb7 41451
267f6cd9 41452 From Vincent Pelletier <subdino2004@yahoo.fr>
41453 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41454 Redefined to use grub_getwh.
41455 (grub_term): New member named getwh.
41456 (grub_getwh): New prototype.
41457 * kern/term.c (grub_getwh): New function.
41458 * term/i386/pc/console.c (grub_console_getwh): New function.
41459 (grub_console_term): New member `getwh'.
41460 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41461 (grub_vga_term): New member `getwh'.
0b5abe02 41462 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41463 grub_ssize_t.
41464 (grub_ofconsole_getw): New function.
41465 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41466 (grub_ofconsole_term): New field named getwh and new initial
41467 value.
41468
3be7266d 414692005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41470
41471 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41472 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41473 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41474 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41475 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41476 of <grub/machine/ieee1275.h>.
41477 * commands/ieee1275/reboot.c: Likewise.
41478 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41479 * kern/ieee1275.c: ... to here. All users updated. Change all
41480 parameter structs to use new type `grub_ieee1275_cell_t'.
41481 * term/powerpc/ieee1275/ofconsole.c: Move ...
41482 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41483 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41484 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41485 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41486 to return int.
41487 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41488 Remove unused prototypes. All users updated.
41489 * include/grub/powerpc/ieee1275/console.h: Removed.
41490 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41491 `grub_ieee1275_cell_t'.
41492 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41493 Cast comparisons with -1 to the correct type.
41494 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41495 type to match `grub_ieee1275_entry_fn'.
41496
8b5f3938 414972005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41498
41499 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41500
41501 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41502 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41503 partmap/sun.c.
41504 (grub_probefs_SOURCES): New variable.
41505
41506 * util/i386/pc/grub-probefs.c: New file.
41507
41508 * util/i386/pc/grub-setup.c (main): Call
41509 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41510 grub_hfs_init and grub_jfs_init to initialize the system. Call
41511 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41512 grub_pc_partition_map_fini to finish the system.
41513
ea409713 415142005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41515
41516 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41517 function.
41518 (grub_multiboot_load_elf32): Likewise.
41519 (grub_multiboot_is_elf64): Likewise.
41520 (grub_multiboot_load_elf64): Likewise.
41521 (grub_multiboot_load_elf): Likewise.
41522 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41523 an ELF32 or ELF64 file.
41524 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41525
41526 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41527 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41528 NULL before calling FS->LABEL.
41529 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41530 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41531 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41532 before calling FS->LABEL.
41533
141a288b 415342005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41535
41536 * util/i386/pc/grub-install.in (datadir): New variable.
41537 (libdir): Removed.
41538 (pkgdatadir): New variable.
41539 (pkglibdir): Removed.
41540
0d5f8a54 415412005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41542
41543 * DISTLIST: Added util/i386/pc/grub-install.in.
41544
41545 * util/i386/pc/grub-install.in: New file.
41546
41547 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41548 (grub_install_SOURCES): Likewise.
41549
41550 * genmk.rb: Added support for scripts.
41551 (Script): New class.
41552 (scripts): New variable.
41553
41554 * Makefile.in (install-local): Install sbin_SCRIPTS by
41555 INSTALL_SCRIPT.
41556 (uninstall): Remove sbin_SCRIPTS.
41557
41558 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41559 device, try to get a GRUB device by
41560 grub_util_biosdisk_get_grub_dev.
41561 Free DEST_DEV.
41562
41563 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41564 description for --device-map.
41565
5f968e1e 415662005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41567
41568 Change the semantics of variable hooks. They now return strings
41569 instead of error values.
f19dbdb7 41570
5f968e1e 41571 * util/i386/pc/grub-setup.c: Include grub/env.h.
41572 (setup): Use grub_device_set_root instead of grub_env_set.
41573
41574 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41575 grub_env_get instead of grub_device_set_root and
41576 grub_device_get_root, respectively.
41577
41578 * kern/main.c (grub_env_write_root): New function.
41579 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41580 grub_env_set instead of grub_device_set_root.
41581
41582 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41583 many variables.
41584 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41585 rather than calling ENV->WRITE_HOOK afterwards.
41586 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41587 passing a pointer of a pointer.
41588 (grub_register_variable_hook): Change the types of "read_hook" and
41589 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41590 respectively.
41591 Allocate the default empty string on the heap, because this string
41592 may be freed later.
41593
41594 * kern/device.c: Include grub/env.h.
41595 (grub_device_set_root): Removed.
41596 (grub_device_get_root): Likewise.
41597 (grub_device_open): Use grub_env_get instead of
41598 grub_device_get_root.
41599
41600 * include/grub/env.h (grub_env_read_hook_t): New type.
41601 (grub_env_write_hook_t): Likewise.
41602 (grub_env_var): Change the types of "read_hook" and "write_hook"
41603 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41604 (grub_register_variable_hook): Likewise.
41605
41606 * include/grub/device.h (grub_device_set_root): Removed.
41607 (grub_device_set_root): Likewise.
41608
41609 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41610 make sure that DIRNAME terminates with '/', so that
41611 grub_fat_find_dir will fail if PATH is not a directory.
41612
41613 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41614 from DIRNAME.
41615 Use the qualifier auto for print_files and print_files_long.
41616 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41617 as a regular file.
41618 Put a newline only if there is no error.
41619 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41620 used.
41621
896f0afd 416222005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41623
41624 * kern/partition.c (grub_partition_probe): Initialize PART to
41625 NULL. Otherwise, when no partition map is registered, this returns
41626 a garbage.
41627
b28b81b2 416282005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41629
41630 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41631 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41632 valid.
41633
5f3607e0 416342005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41635
41636 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41637 information on each device, if it does not have partitions. Print
41638 "Device" instead of "Disk", because this function is not specific
41639 to disk devices.
41640
41641 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41642 static to ensure that it is put on the memory rather than a
41643 register.
41644
502c87e8 416452005-07-17 Yoshinori Okuji <okuji@enbug.org>
41646
41647 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41648 (grub_cat_init): Likewise.
41649 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41650 (options): Likewise.
41651 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41652 (grub_configfile_init): Likewise.
41653 * font/manager.c (GRUB_MOD_INIT): Likewise.
41654 * commands/help.c (GRUB_MOD_INIT): Likewise.
41655 (grub_help_init): Likewise.
41656 * normal/command.c (grub_command_init): Likewise.
41657 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41658 * disk/loopback.c (grub_loop_init): Likewise.
41659 (GRUB_MOD_INIT): Likewise.
41660 * commands/ls.c (grub_ls_init): Likewise.
41661 (GRUB_MOD_INIT): Likewise.
41662 (options): Likewise.
41663 * commands/boot.c (grub_boot_init): Likewise.
41664 (GRUB_MOD_INIT): Likewise.
41665 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41666 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41667 (GRUB_MOD_INIT): Likewise.
41668 * commands/cmp.c (grub_cmp_init): Likewise.
41669 (GRUB_MOD_INIT): Likewise.
41670
41671 * normal/arg.c: Use <> instead of "" to include header files.
41672 (SHORT_ARG_HELP): New macro.
41673 (SHORT_ARG_USAGE): Likewise.
41674 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41675 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41676 descriptions.
41677 (find_short): Check if C is 'h' or 'u' explicitly.
41678 (grub_arg_show_help): Use space characters instead of tabs. Treat
41679 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41680 are shown with --help and --usage only if they are not used for
41681 the command itself.
41682 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41683 'h' and 'u'.
41684
41685 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41686 const into "longarg". Change the type of "shortarg" to int.
41687
f806d18e 416882005-07-17 Yoshinori Okuji <okuji@enbug.org>
41689
41690 * boot/i386/pc/boot.S (boot_drive_check): New label.
41691
41692 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41693 macro.
41694
41695 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41696 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41697
e293232b 416982005-07-17 Yoshinori Okuji <okuji@enbug.org>
41699
41700 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41701 When turning off Gate A20, skip the check and return immediately,
41702 because this is not fatal usually.
41703
ebedfd00 417042005-07-17 Yoshinori Okuji <okuji@enbug.org>
41705
41706 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41707 be 0x7C00 instead of 0x8000.
41708
41709 * boot/i386/pc/pxeboot.S: Rewritten.
41710
41711 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41712 EXT_C.
41713 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41714 result.
41715
654fc59f 417162005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41717
41718 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41719 robustness. This routine now supports a BIOS call and System
41720 Control Port A to modify the gate A20.
41721
41722 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41723 Increased to 0x440.
41724
09f9923f 417252005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41726
41727 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41728 device path and resulting ihandle.
41729 (grub_ofdisk_close): dprintf the ihandle being closed.
41730 (grub_ofdisk_read): dprintf function parameters.
41731 * kern/mm.c (grub_mm_init_region): Likewise.
41732 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41733 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41734 size, and boot arguments.
41735 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41736 before loading into memory.
41737 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41738 before loading into memory.
41739
7ef504d8 417402005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41741
41742 * kern/mm.c: Added much documentation.
41743 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41744 8, set to 5 instead of 8.
41745
e0f050c2 417462005-07-10 Yoshinori Okuji <okuji@enbug.org>
41747
41748 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41749
41750 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41751 (grub_mkdevicemap_SOURCES): New variable.
41752
41753 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41754 lib/device.c of GRUB Legacy.
41755
7224189a 417562005-07-10 Yoshinori Okuji <okuji@enbug.org>
41757
41758 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41759 instead of PATH is NULL.
41760
68c864eb 417612005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41762
41763 * commands/cmp.c (BUFFER_SIZE): New macro.
41764 (grub_cmd_cmp): Close the right file at the right time. Compare
41765 only data just read. Don't report files of different size as
41766 identical. Dynamically allocate buffers. Move variable
41767 declarations at the beginning of function.
41768
e6f3e614 417692005-07-09 Yoshinori Okuji <okuji@enbug.org>
41770
41771 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41772 reverse.
41773
f8f1559a 417742004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41775
41776 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41777 when backspace is pressed at beginning of line.
41778
39c9d41d 417792005-07-03 Yoshinori Okuji <okuji@enbug.org>
41780
41781 * DISTLIST: Added genfslist.sh.
41782
41783 * normal/main.c (fs_module_list): New variable.
41784 (autoload_fs_module): New function.
41785 (read_fs_list): Likewise.
41786 (grub_normal_execute): Call read_fs_list.
41787
41788 * kern/fs.c (grub_fs_autoload_hook): New variable.
41789 (grub_fs_probe): Added support for auto-loading.
41790
41791 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41792 (grub_fs_module_list_t): New type.
41793
41794 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41795 (grub_fs_autoload_hook): New prototype.
41796
41797 * genfslist.sh: New file.
f19dbdb7 41798
39c9d41d 41799 * genmk.rb: Added a rule to generate a filesystem list.
41800
121c1d83 418012005-06-30 Marco Gerards <metgerards@student.han.nl>
41802
41803 * configure.ac: Fix the test for cross-compiling.
41804
41805 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41806 define GRUB_UTIL anymore.
41807
41808 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41809 so this function works on other systems than just big endian.
41810 (load_modules): Likewise.
41811 (add_segments): Likewise.
41812
e75d76e1 418132005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41814
41815 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41816 contains `l' modifier, get a long from va_arg().
41817
50b5a0a7 418182005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41819
41820 * kern/mm.c (grub_free): If the next free block which is being
41821 merged is the first free block, set the first block to the block
41822 being freed.
41823 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41824
89371b20 418252005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41826
41827 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41828 `grub_ieee1275_chosen'.
41829
168d6e58 418302005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41831
41832 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41833 (grub_ieee1275_chosen): New variable.
41834 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41835 `chosen'.
41836 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41837 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41838 Rename first argument to `phandle' for consistency.
41839 (grub_ieee1275_get_property_length): Likewise.
41840 (grub_ieee1275_next_property): Likewise. Change type of first argument
41841 to grub_ieee1275_phandle_t.
41842 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41843 Move export next to declaration.
41844 (grub_ieee1275_chosen): New variable.
41845 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41846 Correct cosmetic typo.
41847 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41848 `grub_ieee1275_chosen'.
41849 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41850 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41851 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41852 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41853 `grub_ieee1275_chosen'.
41854
ca5baa3f 418552005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41856
41857 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41858 /chosen/bootargs.
41859 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41860 /chosen/bootargs as "variable=value" pairs.
41861
708b345f 418622005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41863
41864 * include/grub/misc.h (grub_dprintf): New macro.
41865 (grub_real_dprintf): New prototype.
41866 (grub_strword): Likewise.
41867 (grub_iswordseparator): Likewise.
41868 * kern/misc.c (grub_real_dprintf): New function.
41869 (grub_strword): Likewise.
41870 (grub_iswordseparator): Likewise.
41871
f4c5e67c 418722005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41873
41874 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41875 (roundup): Remove macro.
41876 (grub_ieee1275_flags): Make static.
41877 (grub_ieee1275_realmode): Remove.
41878 (grub_ieee1275_test_flag): New function.
41879 (grub_ieee1275_set_flag): Likewise.
41880 (find_options): Rename to `grub_ieee1275_find_options'; update
41881 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41882 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41883 (cmain): New prototype.
41884 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41885 `grub_ieee1275_flags' directly.
41886 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41887 machine/biosdisk.h.
41888 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41889 Don't include grub/machine/init.h.
41890 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41891 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41892 Remove prototype.
41893 (grub_ieee1275_realmode): Likewise.
41894 (grub_ieee1275_flag): New enum.
41895 (grub_ieee1275_test_flag): New prototype.
41896 (grub_ieee1275_set_flag): New prototype.
41897 * include/grub/powerpc/ieee1275/init.h: Remove file.
41898 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41899 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41900 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41901 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41902 comment.
41903 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41904 `grub_ieee1275_test_flag'.
41905 (grub_ieee1275_encode_devname): Likewise.
41906
ed16607e 419072005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41908
41909 * include/grub/powerpc/ieee1275/ieee1275.h
41910 (grub_ieee1275_encode_devname): New prototype.
41911 (grub_ieee1275_get_filename): Likewise.
41912 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41913 function.
41914 (grub_set_prefix): Likewise.
41915 (grub_machine_init): Call grub_set_prefix.
41916 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41917 (grub_parse_type): New enum.
41918 (grub_ieee1275_get_devargs): New function.
41919 (grub_ieee1275_get_devname): Likewise.
41920 (grub_ieee1275_parse_args): Likewise.
41921 (grub_ieee1275_get_filename): Likewise.
41922 (grub_ieee1275_encode_devname): Likewise.
41923
be369920 419242005-03-30 Marco Gerards <metgerards@student.han.nl>
41925
41926 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41927 `grub_loader_unset'.
41928
a5ce3a4a 419292005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41930
41931 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41932 instead of grub_ieee1275_interpret.
41933 (grub_halt_init): New function.
41934 (grub_halt_fini): Likewise.
41935 (GRUB_MOD_INIT): Correct message grammar.
41936 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41937 instead of grub_ieee1275_interpret.
41938 (grub_reboot_init): New function.
41939 (grub_reboot_fini): Likewise.
41940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41941 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41942 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41943 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41944 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41945 function.
41946 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41947 Add prototype.
41948 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41949 prototype.
41950 (grub_halt): Likewise.
41951 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41952 (cmain): Remove __attribute__((unused)).
41953 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41954 (grub_heap_len): Likewise.
41955 (grub_machine_fini): New function.
41956 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41957 (grub_halt): Likewise.
41958 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41959 function.
41960 * util/powerpc/ieee1275/misc.c: New file.
41961
0058f771 419622005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41963
41964 * DISTLIST: New file.
41965 * gendistlist.sh: Likewise.
f19dbdb7 41966
0058f771 41967 * Makefile.in (COMMON_DISTFILES): Removed.
41968 (BOOT_DISTFILES): Likewise.
41969 (CONF_DISTFILES): Likewise.
41970 (DISK_DISTFILES): Likewise.
41971 (FS_DISTFILES): Likewise.
41972 (INCLUDE_DISTFILES): Likewise.
41973 (KERN_DISTFILES): Likewise.
41974 (LOADER_DISTFILES): Likewise.
41975 (TERM_DISTFILES): Likewise.
41976 (UTIL_DISTFILES): Likewise.
41977 (DISTFILES): Likewise.
41978 (uninstall): Uninstall files in $(pkgdata_DATA).
41979 (DISTLIST): New target.
41980 (distdir): Use the contents of the file DISTLIST to get a list of
41981 distributed files.
41982
46b3b8a5 419832005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41984
41985 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41986 descriptor. This is ported from GRUB Legacy.
41987
41988 * gencmdlist.sh: Added an extra semicolon to make it work with
41989 old sed versions. Reported by Robert Bihlmeyer
41990 <robbe@orcus.priv.at>.
41991
5822ff87 419922005-03-08 Yoshinori Okuji <okuji@enbug.org>
41993
41994 Automatic loading of commands is supported.
f19dbdb7 41995
5822ff87 41996 * normal/main.c (read_command_list): New function.
41997 (grub_normal_execute): Call read_command_list.
41998
41999 * normal/command.c (grub_register_command): Return zero or CMD.
42000 Allocate CMD->NAME from the heap.
42001 Initialize CMD->MODULE_NAME to zero.
42002 Find the same name as well. If the same command is found and it is
42003 a dummy command, overwrite members. If it is not a dummy command,
42004 return zero.
42005 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42006 (grub_command_find): If a dummy command is found, load a module
42007 and retry to find a command only once.
42008
42009 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42010 make sure that each command is loaded.
42011
42012 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42013 macro.
42014 (struct grub_command): Remove const from the member `name'.
42015 Add a new member `module_name'.
42016 (grub_register_command): Return grub_command_t.
42017
42018 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42019 sure that each command is loaded.
42020
42021 * genmk.rb (PModule::rule): Specify a module name without the
42022 suffix ".mod" to gencmdlist.sh.
42023
7b1f4b57 420242005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42025
42026 * gencmdlist.sh: New file.
f19dbdb7 42027
7b1f4b57 42028 * genmk.rb (PModule::rule): Generate a rule for a command list.
42029 Clean command.lst.
42030 Generate command.lst from $(COMMANDFILES).
42031
42032 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42033 (DATA): Added $(pkgdata_DATA).
42034 (install-local): Install files in $(pkgdata_DATA).
42035
062aaf39 420362005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42037
42038 * term/i386/pc/vga.c (debug_command): Removed.
42039 (GRUB_MOD_INIT): Do not register the command "debug".
42040
42041 From Hollis Blanchard:
42042 * commands/configfile.c: New file.
42043 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42044 commands/configfile.c.
42045 (pkgdata_MODULES): Added configfile.mod.
42046 (configfile_mod_SOURCES): New variable.
42047 (configfile_mod_CFLAGS): Likewise.
42048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42049 commands/configfile.c.
42050 (pkgdata_MODULES): Added configfile.mod.
42051 (configfile_mod_SOURCES): New variable.
42052 (configfile_mod_CFLAGS): Likewise.
42053 * util/grub-emu.c (main): Call grub_configfile_init and
42054 grub_configfile_fini.
42055 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42056 prototype.
42057 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42058
cee01aa6 420592005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42060
42061 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42062 address.
42063
42064 * commands/help.c (grub_cmd_help): Do not print newlines after
42065 the last command in print_command_help.
42066
93f3a1d8 420672005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42068
42069 * commands/default.h: New file.
42070 * commands/timeout.h: Likewise.
42071 * normal/context.c: Likewise.
f19dbdb7 42072
93f3a1d8 42073 * util/misc.c: Do not include sys/times.h.
42074 Include sys/time.h and grub/machine/time.h.
42075 (grub_get_rtc): Rewritten with gettimeofday.
42076
42077 * util/grub-emu.c (main): Call grub_default_init and
42078 grub_timeout_init before grub_normal_init, and call
42079 grub_timeout_fini and grub_default_fini after grub_main.
42080
42081 * util/console.c (grub_ncurses_checkkey): Return the read
42082 character or -1.
42083
42084 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42085 timeouts.
42086
42087 * normal/main.c (read_config_file): Push MENU. If this fails,
42088 print an error and wait for a user input.
42089 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42090 If a menu is empty or an error occurs, pop MENU.
42091 (grub_normal_execute): Pop and free MENU after grub_menu_run
42092 returns.
42093
42094 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42095
42096 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42097 include time.h.
42098 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42099 without GRUB_UTIL.
42100 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42101 time.h.
42102 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42103 without GRUB_UTIL.
42104
42105 * include/grub/normal.h (struct grub_menu_list): New struct.
42106 (grub_menu_list_t): New type.
42107 (struct grub_context): New struct.
42108 (grub_context_t): New type.
42109 (grub_register_command): Got rid of EXPORT_FUNC.
42110 (grub_unregister_command): Likewise.
42111 (grub_context_get): New prototype.
42112 (grub_context_get_current_menu): Likewise.
42113 (grub_context_push_menu): Likewise.
42114 (grub_context_pop_menu): Likewise.
42115 [GRUB_UTIL] (grub_default_init): Likewise.
42116 [GRUB_UTIL] (grub_default_fini): Likewise.
42117 [GRUB_UTIL] (grub_timeout_init): Likewise.
42118 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42119
42120 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42121 commands/timeout.c and normal/context.c.
42122 (pkgdata_MODULES): Added default.mod and timeout.mod.
42123 (normal_mod_SOURCES): Added normal/context.c.
42124 (default_mod_SOURCES): New variable.
42125 (default_mod_CFLAGS): Likewise.
42126 (timeout_mod_SOURCES): Likewise.
42127 (timeout_mod_CFLAGS): Likewise.
42128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42129 conf/i386-pc.rmk.
42130 (pkgdata_MODULES): Added default.mod and timeout.mod.
42131 (normal_mod_SOURCES): Added normal/context.c.
42132 (default_mod_SOURCES): New variable.
42133 (default_mod_CFLAGS): Likewise.
42134 (timeout_mod_SOURCES): Likewise.
42135 (timeout_mod_CFLAGS): Likewise.
42136
42137 * Makefile.in (all-local): Added $(MKFILES).
42138
4ed2e1dd 421392005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42140
42141 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42142 (grub_emu_SOURCES): Likewise.
42143 (pkgdata_MODULES): Add `sun.mod'.
42144 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42146 `partmap/sun.c'.
42147 (pkgdata_MODULES): Add `sun.mod'.
42148 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42149 * include/grub/partition.h (grub_sun_partition_map_init): New
42150 prototype.
42151 (grub_sun_partition_map_fini): Likewise.
42152 * partmap/sun.c: New file.
42153 * util/grub-emu.c (main): Initialize and de-initialize the sun
42154 partitionmap support.
42155
4d4e372e 421562005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42157
42158 This implements an Emacs-like menu entry editor.
f19dbdb7 42159
4d4e372e 42160 * normal/menu_entry.c: New file.
f19dbdb7 42161
4d4e372e 42162 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42163 characters to ASCII.
42164 (saved_char): New variable.
42165 (grub_ncurses_checkkey): Rewritten completely.
42166 (grub_ncurses_getkey): Likewise.
42167 (grub_ncurses_init): Call raw instead of cbreak.
42168
42169 * normal/menu.c (print_entry): Do not put a space.
42170 (init_page): Renamed to ...
42171 (grub_menu_init_page): ... this. All callers changed.
42172 (edit_menu_entry): Removed.
42173 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42174
42175 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42176
42177 * kern/misc.c (grub_vprintf): Call grub_refresh.
42178
42179 * normal/menu.c (DISP_LEFT): Renamed to ...
42180 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42181 * normal/menu.c (DISP_UP): Renamed to ...
42182 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42183 * normal/menu.c (DISP_RIGHT): Renamed to ...
42184 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42185 * normal/menu.c (DISP_DOWN): Renamed to ...
42186 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42187 * normal/menu.c (DISP_HLINE): Renamed to ...
42188 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42189 * normal/menu.c (DISP_VLINE): Renamed to ...
42190 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42191 * normal/menu.c (DISP_UL): Renamed to ...
42192 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42193 * normal/menu.c (DISP_UR): Renamed to ...
42194 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42195 * normal/menu.c (DISP_LL): Renamed to ...
42196 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42197 * normal/menu.c (DISP_LR): Renamed to ...
42198 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42199 * normal/menu.c (TERM_WIDTH): Renamed to ...
42200 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42201 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42202 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42203 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42204 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42205 * normal/menu.c (TERM_MARGIN): Renamed to ...
42206 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42207 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42208 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42209 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42210 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42211 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42212 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42213 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42214 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42215 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42216 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42217 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42218 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42219 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42220 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42221 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42222 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42223 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42224 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42225 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42226 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42227 All callers changed.
42228
42229 * include/grub/normal.h: New prototype.
42230
42231 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42232 normal/menu_entry.c.
42233 (normal_mod_SOURCES): Likewise.
42234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42235 (normal_mod_SOURCES): Likewise.
42236
e6b92c8a 422372005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42238
42239 * include/grub/normal.h (grub_halt_init): New prototype.
42240 (grub_halt_fini): Likewise.
42241 (grub_reboot_init): Likewise.
42242 (grub_reboot_fini): Likewise.
42243
42244 * util/grub-emu.c: Include signal.h.
42245 (main_env): New global variable.
42246 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42247 catch C-c.
42248 (grub_machine_fini): New function.
42249 (main): Call grub_halt_init and grub_reboot_init before
42250 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42251 Call setjmp with MAIN_ENV to go back afterwards.
42252 Call grub_machine_fini right before return.
42253
42254 * include/grub/util/misc.h: Include setjmp.h.
42255 (main_env): New prototype.
42256
42257 * include/grub/kernel.h (grub_machine_fini): New prototype.
42258 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42259 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42260
42261 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42262 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42263 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42264
e6b92c8a 42265 * util/i386/pc/misc.c: New file.
f19dbdb7 42266
e6b92c8a 42267 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42268 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42269 commands/i386/pc/reboot.c.
42270
c642636f 422712005-02-14 Guillem Jover <guillem@hadrons.org>
42272
42273 * include/grub/dl.h (grub_dl_check_header): New prototype.
42274 (grub_arch_dl_check_header): Change return type to grub_err_t,
42275 remove size parameter and export function. Update all callers.
42276 * kern/dl.c (grub_dl_check_header): New function.
42277 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42278 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42279 are inside the core.
42280 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42281 independent ELF header checks.
42282 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42283 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42284 `grub_dl_check_header' instead of explicit checks. Check for the
42285 ELF type.
42286 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42287 `grub_dl_check_header' instead of explicit checks. Remove arch
42288 specific ELF header checks.
42289
e6b92c8a 42290 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42291 argument SIZE.
42292
5eabe94b 422932005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42294
42295 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42296 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42297
1b14a681 422982005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42299
42300 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42301 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42302 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42303 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42304 * partmap/amiga.c (amiga_partition_map_iterate): Return
42305 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42306 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42307
aca108aa 423082005-02-01 Guillem Jover <guillem@hadrons.org>
42309
42310 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42311 help info.
42312
c9f9c556 423132005-01-31 Marco Gerards <metgerards@student.han.nl>
42314
42315 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42316 Removed prototype.
42317 (grub_rescue_cmd_linux): New prototype.
42318 (grub_rescue_cmd_initrd): Likewise.
42319 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42320 `bi_rec'.
42321 (grub_linux_release_mem): Release the memory for the initrd.
42322 (grub_load_linux): Renamed from this...
42323 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42324 Changed `entry' not to be static. Loop over memory regions to
42325 find another one when the default fails.
42326 (grub_rescue_cmd_initrd): New function.
42327 (grub_linux_init): Remove function.
42328 (grub_linux_fini): Likewise.
42329 (GRUB_MOD_INIT): Register `initrd'.
42330 (GRUB_MOD_FINI): Unregister `initrd'.
42331 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42332 Function removed.
42333 (grub_linux_normal_fini): Likewise.
42334 (GRUB_MOD_INIT): Register `initrd'.
42335 (GRUB_MOD_FINI): Unregister `initrd'.
42336
990cf3aa 423372005-01-31 Marco Gerards <metgerards@student.han.nl>
42338
42339 * commands/help.c: New file.
42340 * normal/arg.c (show_help): Renamed to...
42341 (grub_arg_show_help): ... this.
42342 * commands/i386/pc/halt.c: New file.
42343 * commands/i386/pc/reboot.c: Likewise.
42344 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42345 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42346 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42347 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42348 variables.
42349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42350 `commands/help.c'.
42351 (pkgdata_MODULES): Add `help.mod'.
42352 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42353 * grub/i386/pc/init.h (grub_reboot): New prototype.
42354 (grub_halt): Likewise.
42355 * include/grub/normal.h (grub_arg_show_help): New prototype.
42356 (grub_help_init): Likewise.
42357 (grub_help_fini): Likewise.
42358 * util/grub-emu.c (main): Initialize and deinitialize the help
42359 command.
42360
42361 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42362
42363 * normal/command.c (grub_command_init): Fixed the description of
42364 the `set' and `unset' commands.
42365
423662005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42367
42368 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42369 function.
42370 * commands/ieee1275/halt.c: New file.
42371 * commands/ieee1275/reboot.c: Likewise.
42372 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42373 `__attribute__ ((unused))'. Some GCS related fixed.
42374 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42375 (grub_suspend_fini): Likewise.
42376 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42377 and `halt.mod'.
42378 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42379 (halt_mod_CFLAGS): New variables.
42380 * include/grub/powerpc/ieee1275/ieee1275.h
42381 (grub_ieee1275_interpret): New prototype.
42382
1ab09cc7 423832005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42384
42385 * include/grub/misc.h (memmove): New prototype.
42386 (memcpy): Likewise.
42387
8b8cbdb2 423882005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42389
42390 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42391 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42392
e3741a27 423932005-01-22 Marco Gerards <metgerards@student.han.nl>
42394
42395 * kern/misc.c (grub_strndup): Function rewritten.
42396
776bd780 423972005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42398
42399 * normal/menu.c (TERM_WIDTH): Macro redefined.
42400 (TERM_TOP_BORDER_Y): Likewise.
42401 (draw_border): Replaced while-loop by a for-loop. Make the number
42402 of lines consistent with the number of lines displayed in
42403 print_entries. Added a margin below the rectangle.
42404 (print_entry): Make the entry fit in the rectangle.
42405 (print_entries): Display the scroll arrows next to the right
42406 border.
42407
78026bce 424082005-01-21 Marco Gerards <metgerards@student.han.nl>
42409
42410 * fs/minix.c (grub_minix_find_file): Reserve more space for
42411 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42412 `grub_strncpy' to copy `path' into it.
42413
67bbaf0f 424142005-01-21 Marco Gerards <metgerards@student.han.nl>
42415
42416 Add the loopback device, a device via which files can be accessed
42417 as devices.
f19dbdb7 42418
67bbaf0f 42419 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42420 (pkgdata_MODULES): Add loopback.mod.
42421 (loopback_mod_SOURCES): New variable.
42422 (loopback_mod_CFLAGS): Likewise.
42423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42424 `disk/loopback.c'.
42425 (pkgdata_MODULES): Add loopback.mod.
42426 (loopback_mod_SOURCES): New variable.
42427 (loopback_mod_CFLAGS): Likewise.
42428 * disk/loopback.c: new file.
42429 * include/grub/normal.h (grub_loop_init): New prototype.
42430 (grub_loop_fini): New prototype.
42431 * util/grub-emu.c (main): Initialize and de-initialize loopback
42432 support.
42433 * include/grub/disk.h (grub_disk_dev_id): Add
42434 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42435
6f1c18bd 424362005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42437
42438 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42439 function.
42440 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42441 (suspend_mod_SOURCES): New variable.
42442 (suspend_mod_CFLAGS): Likewise.
42443 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42444 New prototype.
42445 * commands/ieee1275/suspend.c: New file.
42446
b38551da 424472005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42448
42449 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42450 ((unused))' to `__attribute__ ((used))'.
b38551da 42451 (GRUB_MOD_FINI): Likewise.
42452 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42453 * genmk.rb (PModule): Assign space to common symbols when linking
42454 modules.
42455
777aff39 424562005-01-20 Marco Gerards <metgerards@student.han.nl>
42457
42458 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42459 `unsigned' arguments to `grub_size_t'.
42460 (grub_malloc): Likewise.
42461 (grub_realloc): Likewise.
42462 (grub_memalign): Likewise.
42463 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42464 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42465 * util/misc.c (grub_malloc): Likewise.
42466 (grub_realloc): Likewise.
42467 * kern/mm.c (get_header_from_pointer): Change the casts to
42468 `unsigned' into a cast to `grub_size_t'.
42469
42470 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42471 point to `currnode' when `currnode' is changed.
42472
42473 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42474 Schottelius <nico-linux@schottelius.org>.
42475
d0ff18e1 424762005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42477
42478 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42479 (note_path): Remove variable.
42480 (GRUB_IEEE1275_NOTE_NAME): New macro.
42481 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42482 (grub_ieee1275_note_hdr): New structure.
42483 (grub_ieee1275_note_desc): Likewise.
42484 (grub_ieee1275_note): Likewise.
42485 (load_note): Remove `dir' argument. All callers updated. Remove
42486 `note_img' and `path'. Do not load a file from `note_path'.
42487 Initialize a struct grub_ieee1275_note and write that to `out'.
42488 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42489
4ca7004c 424902005-01-05 Marco Gerards <metgerards@student.han.nl>
42491
42492 * util/misc.c (grub_util_read_image): Revert last change. It
42493 called `grub_util_read_at', which seeks from the beginning of the
42494 file.
42495
0b412211 424962005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42497
42498 * TODO: Add note about endianness in grub-mkimage.
42499 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42500 section.
42501 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42502 (grub_mkimage_SOURCES): New target.
42503 * include/grub/kernel.h (grub_start_addr): Remove variable.
42504 (grub_end_addr): Likewise.
42505 (grub_total_module_size): Likewise.
42506 (grub_kernel_image_size): Likewise.
42507 (GRUB_MODULE_MAGIC): New constant.
42508 (grub_module_info): New structure.
42509 (grub_arch_modules_addr): New prototype.
42510 (grub_get_end_addr): Remove prototype.
42511 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42512 * include/grub/powerpc/ieee1275/kernel.h: New file.
42513 * include/grub/util/misc.h (grub_util_get_fp_size): New
42514 prototype.
42515 (grub_util_read_at): Likewise.
42516 (grub_util_write_image_at): Likewise.
42517 * kern/main.c (grub_get_end_addr): Remove function.
42518 (grub_load_modules): Call grub_arch_modules_addr instead of using
42519 grub_end_addr. Look for a grub_module_info struct in memory. Use
42520 the grub_module_info fields instead of calling grub_get_end_addr
42521 as loop conditions. Move grub_add_unused_region code here.
42522 (grub_add_unused_region): Remove function.
42523 * kern/i386/pc/init.c: Include grub/cache.h.
42524 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42525 one call to add_mem_region.
42526 (grub_arch_modules_addr): New function.
42527 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42528 (grub_total_module_size): Likewise.
42529 Include grub/machine/kernel.h.
42530 (grub_arch_modules_addr): New function.
42531 * util/grub-emu.c (grub_end_addr): Remove variable.
42532 (grub_total_module_size): Likewise.
42533 (grub_arch_modules_addr): New function.
42534 * util/misc.c: Include unistd.h.
42535 (grub_util_get_fp_size): New function.
42536 (grub_util_read_at): Likewise.
42537 (grub_util_write_image_at): Likewise.
42538 (grub_util_read_image): Call grub_util_read_at.
42539 (grub_util_write_image): Call grub_util_write_image_at.
42540 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42541 additional memory in kernel_img for a struct grub_module_info.
42542 Fill in that grub_module_info.
42543 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42544
458786f8 425452005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42546
42547 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42548 New function.
42549 * include/grub/powerpc/ieee1275/ieee1275.h
42550 (grub_ieee1275_milliseconds): New prototype.
42551 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42552 Change to 1000.
42553 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42554 grub_ieee1275_milliseconds.
42555
ac507d1b 425562005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42557
42558 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42559 variable.
42560 (find_options): New function.
42561 (cmain): Call find_options.
42562 * include/grub/powerpc/ieee1275/ieee1275.h
42563 (grub_ieee1275_realmode): New extern variable.
42564 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42565 grub_map if grub_ieee1275_realmode is false.
42566
6b8fd1c4 425672004-12-29 Marco Gerards <metgerards@student.han.nl>
42568
42569 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42570 lines are inserted and make it work like readline. Reported by
42571 Vincent Pelletier <subdino2004@yahoo.fr>.
42572
8514a1e0 425732004-12-28 Marco Gerards <metgerards@student.han.nl>
42574
42575 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42576
42577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42578 `kern/powerpc/cache.S'.
42579
924b6140 425802004-12-27 Marco Gerards <metgerards@student.han.nl>
42581
42582 * genmk.rb: Handle the `Program' class in the main loop. Written
42583 by Johan Rydberg <jrydberg@gnu.org>.
42584 (Program): New class.
42585 (programs): New variable.
42586 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42587 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42588 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42589 (help_arch): Function removed.
42590 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42591 `powerpc/libgcc.h' and `loader.h'.
42592 (pkgdata_PROGRAMS): New variable.
42593 (sbin_UTILITIES): Variable removed.
42594 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42595 (grubof_SOURCES): Variable re-defined so it only includes the
42596 core functionality.
42597 (grubof_CFLAGS): Remove `-DGRUBOF'.
42598 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42599 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42600 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42601 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42602 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42603 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42604 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42605 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42606 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42607 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42608 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42609 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42610 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42611 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42612 (pc_mod_CFLAGS): New variables.
42613 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42614 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42615 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42616 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42617 Moved from here...
42618 * include/grub/i386/pc/init.h (grub_os_area_addr)
42619 (rub_os_area_size): ... to here.
42620 * include/grub/powerpc/ieee1275/ieee1275.h
42621 (grub_ieee1275_entry_fn): Export symbol.
42622 * include/grub/powerpc/ieee1275/init.h: New file.
42623 * include/grub/powerpc/libgcc.h: Likewise.
42624 * include/grub/cache.h: Likewise.
42625 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42626 <hollis@penguinppc.org>.
42627 * kern/dl.c: Include <grub/cache.h>.
42628 (grub_dl_flush_cache): New function.
42629 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42630 for this module.
42631 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42632 (grub_console_init): Removed prototypes.
42633 (grub_machine_init): Don't initialize the modules anymore.
42634 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42635 static.
42636 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42637 Macro undef removed.
42638 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42639 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42640 relocation `R_PPC_REL32'. Return an error when the relocation is
42641 unknown.
42642 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42643 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42644 * util/misc.c (grub_arch_sync_caches): Likewise.
42645
e4b47e0c 426462004-12-19 Marco Gerards <metgerards@student.han.nl>
42647
42648 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42649 `symlist.c', add `grubof_symlist.c'.
42650 (symlist.c): Variable removed.
42651 (grubof_HEADERS): Variable added.
42652 (grubof_symlist.c): New target.
42653 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42654 `kernel_img_HEADERS'.
42655 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42656 * kern/powerpc/dl.c: New file.
42657 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42658 Function removed.
42659 (grub_arch_dl_relocate_symbols): Likewise.
42660 (grub_register_exported_symbols): Likewise.
42661
4ceb3636 426622004-12-13 Marco Gerards <metgerards@student.han.nl>
42663
42664 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42665 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42666 to fail instead. Reported by Vincent Pelletier
42667 <subdino2004@yahoo.fr>.
42668
42669 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42670 it is not allocated. Reported by Vincent Pelletier
42671 <subdino2004@yahoo.fr>.
42672
42673 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42674 output so the output looks better.
f19dbdb7 42675
3f1578fe 426762004-12-04 Marco Gerards <metgerards@student.han.nl>
42677
42678 Modulize the partition map support and add support for the amiga
42679 partition map.
f19dbdb7 42680
3f1578fe 42681 * commands/ls.c: Include <grub/partition.h> instead of
42682 <grub/machine/partition.h>.
42683 * kern/disk.c: Likewise.
42684 * kern/rescue.c: Likewise.
42685 * loader/i386/pc/chainloader.c: Likewise.
42686 * normal/cmdline.c: Likewise.
42687 * kern/powerpc/ieee1275/init.c: Likewise.
42688 (grub_machine_init): Call `grub_pc_partition_map_init',
42689 `grub_amiga_partition_map_init' and
42690 `grub_apple_partition_map_init'.
42691 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42692 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42693 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42694 `partition.h' and `pc_partition.h'.
42695 (grub_setup_SOURCES): Remove
42696 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42697 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42698 (grub_emu_SOURCES): Likewise.
42699 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42700 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42701 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42703 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42704 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42705 (grubof_SOURCES): Likewise.
42706 * disk/i386/pc/partition.c: File removed.
42707 * disk/powerpc/ieee1275/partition.c: Likewise.
42708 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42709 * include/grub/i386/pc/partition.h: Likewise.
42710 * kern/partition.c: New file.
42711 * partmap/amiga.c: Likewise.
42712 * partmap/apple.c: Likewise.
42713 * partmap/pc.c: Likewise.
42714 * include/grub/partition.h: Likewise..
42715 * include/grub/pc_partition.h: Likewise.
42716 * util/grub-emu.c: Include <grub/partition.h> instead of
42717 <grub/machine/partition.h>.
42718 (main): Call `grub_pc_partition_map_init',
42719 `grub_amiga_partition_map_init' and
42720 `grub_apple_partition_map_init' and deinitialize afterwards.
42721 * util/i386/pc/biosdisk.c: Include `#include
42722 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42723 `<grub/machine/partition.h>'.
42724 * util/i386/pc/grub-setup.c: Likewise.
42725 * util/i386/pc/biosdisk.c: Likewise.
42726 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42727 partition information in case of a PC partition.
42728 * util/i386/pc/grub-setup.c: Include `#include
42729 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42730 `<grub/machine/partition.h>'.
42731 (setup): Only access the PC specific partition information in case
42732 of a PC partition.
42733
0ef4ced9 427342004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42735
0ef4ced9 42736 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42737 (grub_longjmp): Likewise.
42738 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42739 20.
42740 * normal/powerpc/setjmp.S: New file.
42741 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42742 `normal/powerpc/setjmp.S'.
42743 (grubof_CFLAGS): Add `-DGRUBOF'.
42744 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42745 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42746
19950e29 427472004-11-16 Marco Gerards <metgerards@student.han.nl>
42748
42749 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42750 property named `name'. Correctly handle the error returned by
42751 `grub_ieee1275_finddevice' if a device can not be opened.
42752
a2fea427 427532004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42754
42755 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42756 `actual' for negativity.
42757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42758 kern/fshelp.c.
42759
41ea0ea3 427602004-11-01 Marco Gerards <metgerards@student.han.nl>
42761
42762 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42763 (PAGE_OFFSET): New macro.
42764 (CRTC_ADDR_PORT): Likewise.
42765 (CRTC_DATA_PORT): Likewise.
42766 (START_ADDR_HIGH_REGISTER): Likewise.
42767 (START_ADDR_LOW_REGISTER): Likewise.
42768 (GRAPHICS_ADDR_PORT): Likewise.
42769 (GRAPHICS_DATA_PORT): Likewise.
42770 (READ_MAP_REGISTER): Likewise.
42771 (INPUT_STATUS1_REGISTER): Likewise.
42772 (INPUT_STATUS1_VERTR_BIT): Likewise.
42773 (page): New variable.
42774 (wait_vretrace): New function.
42775 (set_read_map): Likewise.
42776 (set_start_address): Likewise.
42777 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42778 the right page.
42779 (check_vga_mem): Take the page into account.
42780 (write_char): Likewise.
42781 (write_cursor): Likewise.
42782 (scroll_up): Likewise. Copy the page to the page that is not
42783 shown and switch between both pages.
42784 (grub_vga_putchar): Fix off by one error.
42785 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42786 account.
42787
ad0bd20b 427882004-11-01 Marco Gerards <metgerards@student.han.nl>
42789
42790 Add support for iso9660 (including rockridge).
f19dbdb7 42791
ad0bd20b 42792 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42793 (iso9660_mod_SOURCES): New variable.
42794 (iso9660_mod_CFLAGS): Likewise.
42795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42796 * include/grub/fs.h (grub_iso9660_init): New prototype.
42797 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42798 * fs/iso9660.c: New file.
42799
42800 * include/grub/misc.h (grub_strncat): New prototype.
42801 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42802
ad0bd20b 42803 * fs/hfs.c (grub_hfs_mount): Translate the error
42804 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42805 * fs/jfs.c (grub_jfs_mount): Likewise.
42806 * fs/ufs.c (grub_ufs_mount): Likewise.
42807
a5477a59 428082004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42809
42810 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42811 which initialized BAT registers.
42812 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42813 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42814 Move from here...
42815 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42816 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42817 ... to here.
42818 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42819 (grub_mapclaim): Likewise.
42820 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42821 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42822 hand.
42823
9304c1f8 428242004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42825
42826 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42827 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42828 -ffreestanding and -msoft-float.
42829
86f4ae25 428302004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42831
42832 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42833 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42834 set in grub_ieee1275_flags.
42835
38912228 428362004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42837
42838 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42839 prototype.
42840 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42841 grub_console_init first.
42842 Change the memory range used for grub_ieee1275_claim and
42843 grub_mm_init_region.
42844 Print an error message if the claim fails.
42845 Include <grub/misc.h>.
42846
d1923dc8 428472004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42848
42849 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42850 Call grub_children_iterate for device nodes of type `scsi',
42851 `ide', or `ata'.
42852 (grub_ofdisk_open): Remove manual device alias resolution.
42853 Fix memory leak when device cannot be opened.
f19dbdb7 42854 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42855 (grub_children_iterate): New prototype.
42856 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42857 New function.
42858 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42859 Return -1 if args.size was -1.
42860
4512e4f3 428612004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42862
42863 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42864 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42865 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42866 Open Firmware's memory for it; claim memory from _start to _end.
42867 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42868 (_end): New extern.
42869 (_start): Zero BSS from __bss_start to _end.
42870 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42871 New extern.
42872 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42873
4d61feb0 428742004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42875
ad0bd20b 42876 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42877 -1 if args.base was -1.
4d61feb0 42878
026fa2f9 428792004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42880
42881 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42882 escape sequence instead of a literal ^L. Also call
42883 grub_ofconsole_gotoxy.
42884
9f2220ef 428852004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42886
42887 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42888 void * arguments to grub_addr_t. All callers updated. Also make
42889 the `result' argument optional.
42890 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42891 All callers updated.
42892
8a572cd7 428932004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42894
42895 * commands/ls.c (grub_ls_list_files): Use the string following the
42896 initial ')', if present, as the filesystem path.
42897 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42898
42899 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42900
18aa81f2 429012004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42902
42903 Make the source code of the menu interface more readable.
f19dbdb7 42904
18aa81f2 42905 * normal/menu.c: Include grub/mm.h.
42906 (TERM_WIDTH): New macro.
42907 (TERM_HEIGHT): Likewise.
42908 (TERM_INFO_HEIGHT): Likewise.
42909 (TERM_MARGIN): Likewise.
42910 (TERM_SCROLL_WIDTH): Likewise.
42911 (TERM_TOP_BORDER_Y): Likewise.
42912 (TERM_LEFT_BORDER_X): Likewise.
42913 (TERM_BORDER_WIDTH): Likewise.
42914 (TERM_MESSAGE_HEIGHT): Likewise.
42915 (TERM_BORDER_HEIGHT): Likewise.
42916 (TERM_NUM_ENTRIES): Likewise.
42917 (TERM_FIRST_ENTRY_Y): Likewise.
42918 (TERM_ENTRY_WIDTH): Likewise.
42919 (TERM_CURSOR_X): Likewise.
42920 (draw_border): Use macros instead of magic numbers.
42921 (print_entry): Likewise.
42922 (print_entries): Likewise.
42923 (run_menu): Likewise. Also, handle the key 'e'.
42924 (run_menu_entry): Ignore empty command lines.
42925 (print_message): Added a new argument EDIT. If EDIT is true,
42926 print a different message.
42927 (init_page): Likewise.
42928 (edit_menu_entry): New function. Not implemented yet.
42929
b47efe30 429302004-09-17 Marco Gerards <metgerards@student.han.nl>
42931
42932 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42933 can be loaded from normal mode.
f19dbdb7 42934
b47efe30 42935 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42936 `multiboot.mod'.
42937 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42938 (multiboot_mod_CFLAGS): New variables.
42939 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42940 * loader/i386/pc/multiboot_normal.c: Likewise.
42941
b47efe30 42942 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42943 attribute `unused'.
f19dbdb7 42944
b47efe30 42945 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42946 `fdiro' to read the mode information from instead of `diro'.
42947
42948 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42949 looking up a symlink.
42950
42951 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42952 macro.
42953 * normal/command.c (grub_command_execute): Don't parse the
42954 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42955 flags of the command.
42956
42957 * normal/menu.c (grub_menu_run): Fix typo.
42958
da75ac71 429592004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42960
42961 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42962
42963 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42964 `y + 1' instead of `y - 1'.
42965
42966 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42967
062b24c2 429682004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42969
42970 From Hollis Blanchard <hollis@penguinppc.org>:
42971 * kern/misc.c (memmove): New alias for grub_memmove.
42972 (memcmp): New alias for grub_memcmp.
42973 (memset): New alias for grub_memset.
f19dbdb7 42974 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42975 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42976 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42977 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42978
8ddad845 429792004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42980
42981 Added normal mode command `chainloader' as module chain.mod, which
42982 depends on normal.mod and _chain.mod.
f19dbdb7 42983
8ddad845 42984 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42985 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42986 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42987 Deleted prototype.
42988 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42989 but arguments parsing moved to ...
42990 (grub_chainloader_cmd): ... here. New function.
42991 * include/grub/i386/pc/chainloader.h: New file.
42992 * loader/i386/pc/chainloader_normal.c: Likewise.
42993
2c1f4ce3 429942004-09-11 Marco Gerards <metgerards@student.han.nl>
42995
42996 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42997 (grub_mkimage_LDFLAGS): Likewise.
42998 (grub_emu_SOURCES): Likewise.
42999 (kernel_img_HEADERS): Added fshelp.h.
43000 * fs/ext2.c: Include <grub/fshelp.h>.
43001 (FILETYPE_REG): New macro.
43002 (FILETYPE_INO_REG): Likewise.
43003 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43004 Changed all users.
43005 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43006 all users.
43007 (grub_fshelp_node): New struct.
43008 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43009 to a pointer.
43010 (grub_ext2_get_file_block): Removed function.
43011 (grub_ext2_read_block): New function.
43012 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43013 This function was written.
43014 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43015 (grub_ext2_find_file): Removed function.
43016 (grub_ext2_read_symlink): New function.
43017 (grub_ext2_iterate_dir): Likewise.
43018 (grub_ext2_open): Rewritten.
43019 (grub_ext2_dir): Rewritten.
43020 * include/grub/fshelp.h: New file.
43021 * fs/fshelp.c: Likewise.
43022
3c52136a 430232004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43024
43025 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43026 (print_message): Add a missing newline.
43027 (run_menu): Added timeout support.
43028 (run_menu_entry): New local function.
43029 (grub_menu_run): Added support for booting.
43030
43031 * kern/loader.c (grub_loader_is_loaded): New function.
43032
43033 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43034 (grub_get_rtc): Exported.
43035
43036 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43037 (grub_get_rtc): Exported.
43038
43039 * include/grub/normal.h (struct grub_command_list): Remove
43040 constant from the member `command'.
43041
43042 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43043
43044 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43045
43046 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43047
aa033560 430482004-08-28 Marco Gerards <metgerards@student.han.nl>
43049
43050 Add support for the JFS filesystem.
43051
43052 * fs/jfs.c: New file.
43053 * include/grub/fs.h (grub_jfs_init): New prototype.
43054 (grub_jfs_fini): New prototype.
43055 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43056 (grub_emu_SOURCES): Likewise.
43057 (pkgdata_MODULES): Add jfs.mod.
43058 (jfs_mod_SOURCES): New variable.
43059 (jfs_mod_CFLAGS): Likewise.
43060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43061 (grubof_SOURCES): Likewise.
43062 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43063
43064 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43065 endian to the host endian.
43066 (grub_fat_utf16_to_utf8): Move function from there...
43067 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43068 the endianness of the source string anymore.
aa033560 43069 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43070
94bc45af 430712004-08-24 Marco Gerards <metgerards@student.han.nl>
43072
43073 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43074 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43075 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43076 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43077
94bc45af 43078 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43079 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43080 for `node_found' and `it_dir'.
43081 (grub_hfs_dir): Add prototype for `dir_hook'.
43082
43083 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43084 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43085 and `indir32' to silence a gcc warning.
43086
43087 * include/grub/fs.h (grub_hfs_init): New prototype.
43088 (grub_hfs_fini): Likewise.
f19dbdb7 43089
43090
97543f08 430912004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43092
43093 Each disk device has its own id now. This is useful to make use
43094 of multiple disk devices.
f19dbdb7 43095
97543f08 43096 * include/grub/disk.h (grub_disk_dev_id): New enum.
43097 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43098 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43099
43100 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43101 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43102
43103 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43104 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43105
43106 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43107 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43108
43109 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43110 "id" which is used by the cache manager.
43111
43112 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43113 of just "GRUB".
43114
64372eb4 431152004-08-18 Marco Gerards <metgerards@student.han.nl>
43116
43117 * fs/hfs.c: New file.
43118 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43119 (grub_emu_SOURCES): Likewise.
43120 (pkgdata_MODULES): Add hfs.mod.
43121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43122 (grubof_SOURCES): Likewise.
43123 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43124
43125 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43126 * kern/misc.c (grub_strncasecmp): Add function.
43127
cc61b58f 431282004-08-14 Marco Gerards <metgerards@student.han.nl>
43129
43130 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43131 with parentheses.
43132
43133 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43134 (grub_ext2_dir): In case the directory entry type is unknown, read
43135 it from the inode.
43136
0ef123f6 431372004-08-02 Peter Bruin <pjbruin@dds.nl>
43138
43139 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43140 grub_load_linux instead of grub_rescue_cmd_linux as second
43141 argument of grub_rescue_register_command.
43142
43143 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43144
a447c5df 431452004-07-27 Marco Gerards <metgerards@student.han.nl>
43146
43147 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43148 function.
43149 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43150 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43151 `loader/powerpc/ieee1275/linux.c',
43152 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43153 * include/grub/powerpc/ieee1275/ieee1275.h
43154 (grub_ieee1275_release): New prototype.
43155 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43156 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43157 normal, boot, linux and linux_normal.
43158 * loader/powerpc/ieee1275/linux.c: New file.
43159 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43160
5a9e3546 431612004-07-12 Marco Gerards <metgerards@student.han.nl>
43162
43163 * normal/arg.c (grub_arg_parse): Correct error handling after
43164 reallocating the argumentlist (check if `argl' is not null instead
43165 of checking if `args' is not null).
43166 * kern/mm.c (grub_realloc): Return the same pointer when using the
43167 same region, instead of returning the header address.
43168
e15199cb 431692004-07-11 Marco Gerards <metgerards@student.han.nl>
43170
43171 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43172 one block instead of two when looking for the initial partition.
43173 (grub_partition_probe): Initialize the local variable `p' with 0.
43174 Use base 10 for the grub_strtoul call.
43175 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43176 need for one local variable.
43177 (grub_strtoul): Don't add the new value to `num', instead of that
43178 just assign it.
43179
020616c2 431802004-07-11 Marco Gerards <metgerards@student.han.nl>
43181
43182 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43183 (pxeboot_img_SOURCES): New variable.
43184 (pxeboot_img_ASFLAGS): Likewise.
43185 (pxeboot_img_LDFLAGS): Likewise.
43186 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43187 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43188 <lode_leroy@hotmail.com>.
43189
6c51eb64 431902004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43191
43192 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43193 there was no input.
43194
cfb12aff 431952004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43196
43197 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43198 the history buffer logic.
43199
6eabba74 432002004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43201
43202 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43203 (FILETYPE_INO_SYMLINK): New macros.
43204 (grub_ext2_find_file): Check if the node is a directory using the
43205 inode stat information instead of using the filetype in the
43206 dirent. Exclude the first character of an absolute symlink.
43207 (grub_ext2_dir): Mask out the filetype part of the mode member of
43208 the inode.
43209
66e19ef8 432102004-05-24 Marco Gerards <metgerards@student.han.nl>
43211
43212 Add support for UFS version 1 and 2. Add support for the minix
43213 filesystem version 1 and 2, both the variants with 14 and 30 long
43214 filenames.
f19dbdb7 43215
66e19ef8 43216 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43217 fs/minix.c.
43218 (grub_emu_SOURCES): Likewise.
43219 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43220 (ufs_mod_SOURCES): New variable.
43221 (ufs_mod_CFLAGS): Likewise.
43222 (minix_mod_SOURCES): Likewise.
43223 (minix_mod_CFLAGS): Likewise.
43224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43225 fs/minix.c.
43226 (grubof_SOURCES): Likewise.
43227 * fs/ufs.c: New file.
43228 * fs/minix.c: New file.
43229 * include/grub/fs.h (grub_ufs_init): New prototype.
43230 (grub_ufs_fini): Likewise.
43231 (grub_minix_init): Likewise.
43232 (grub_minix_fini): Likewise.
43233 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43234 minix fs.
43235
cc2e748a 432362004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43237
43238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43239 commands/ls.c, commands/terminal.c, commands/boot.c,
43240 commands/cmp.c and commands/cat.c.
43241 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43242
43243 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43244 "env.h"
43245
4b13b216 432462004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43247
43248 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43249 and grub_, respectively. Because the conversion is trivial and
43250 mechanical, I omit the details here. Please refer to the CVS
43251 if you need more information.
43252
6a142551 432532004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43254
43255 * include/pupa: Renamed to ...
43256 * include/grub: ... this.
43257 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43258 * util/i386/pc/grub-mkimage.c: ... this.
43259 * util/i386/pc/pupa-setup.c: Renamed to ...
43260 * util/i386/pc/grub-setup.c: ... this.
43261 * util/pupa-emu.c: Renamed to ...
43262 * util/grub-emu.c: ... this.
43263
e56cdf21 432642004-03-29 Marco Gerards <metgerards@student.han.nl>
43265
43266 Add support for the newworld apple macintosh (PPC). This has been
43267 tested on the powerbook 2000 only. It only adds support for
43268 generic ieee1275 functions, console and disk support. This should
43269 be easy to port to other architectures with support for Open
43270 Firmware.
f19dbdb7 43271
e56cdf21 43272 * configure.ac: Accept the powerpc as host_cpu. In the case of
43273 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43274 specific tests are only executed while building for the i386.
43275 Inverse test for crosscompile.
43276 * genmk.rb (Utility): Allow assembler files.
43277 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43278 * conf/powerpc-ieee1275.rmk: New file.
43279 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43280 * disk/powerpc/ieee1275/partition.c: Likewise.
43281 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43282 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43283 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43284 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43285 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43286 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43287 * include/pupa/powerpc/ieee1275/loader.h
43288 * include/pupa/powerpc/setjmp.h: Likewise.
43289 * include/pupa/powerpc/types.h: Likewise.
43290 * kern/powerpc/ieee1275/init.c: Likewise.
43291 * kern/powerpc/ieee1275/openfw.c: Likewise.
43292 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43293
43294 These files were written by Johan Rydberg
43295 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43296
e56cdf21 43297 * boot/powerpc/ieee1275/cmain.c: New file.
43298 * boot/powerpc/ieee1275/crt0.S: Likewise.
43299 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43300 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43301
8c8cc205 433022004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43303
43304 * Makefile.in: Update copyright.
43305 * genmodsrc.sh: Likewise.
43306 * gensymlist.sh: Likewise.
43307 * term/i386/pc/vga.c: Indent correctly.
43308
43309 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43310 bugreporting address.
43311 * util/i386/pc/pupa-setup.c (usage): Likewise,
43312 (main): Call pupa_ext2_init and pupa_ext2_fini.
43313
f19dbdb7 43314 * fs/fat.c (log2): Renamed to ...
8c8cc205 43315 (fat_log2): ... this.
43316 All callers changed.
43317 * kern/misc.c (memcpy): Alias to pupa_memmove.
43318 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43319 lvalue cast.
43320 * util/console.c (pupa_ncurses_fini): Return 0.
43321
43322 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43323 Move fail label here.
43324 [__GNU__]: Don't warn when using stat.
43325 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43326 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43327 long int. Use strtol instead of strtoul.
f19dbdb7 43328
db1771cf 433292004-03-14 Marco Gerards <metgerards@student.han.nl>
43330
43331 * commands/boot.c: New file.
43332 * commands/cat.c: Likewise.
43333 * commands/cmp.c: Likewise.
43334 * commands/ls.c: Likewise.
43335 * commands/terminal.c: Likewise.
43336 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43337 (pupa_register_command): Changed interface to match the new
43338 argument parser.
43339 (pupa_command_execute): Changed (almost rewritten) so it uses
43340 pupa_split_command. Added support for setting variables using the
43341 syntax `foo=bar'.
43342 (rescue_command): Changed to work with the new argument parser.
43343 (terminal_command): Moved from here to commands/terminal.c.
43344 (set_command): New function.
43345 (unset_command): New function.
43346 (insmod_command): New function.
43347 (rmmod_command): New function.
43348 (lsmod_command): New function.
43349 (pupa_command_init): Don't initialize the command terminal
43350 anymore. Initialize the commands set, unset, insmod, rmmod and
43351 lsmod.
43352 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43353 (kernel_img_HEADERS): Add arg.h and env.h.
43354 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43355 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43356 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43357 normal/arg.c.
43358 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43359 terminal.mod.
43360 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43361 (boot_mod_SOURCES): New variable.
43362 (terminal_mod_SOURCES): Likewise.
43363 (ls_mod_SOURCES): Likewise.
43364 (cmp_mod_SOURCES): Likewise.
43365 (cat_mod_SOURCES): Likewise.
43366
43367 * normal/arg.c: New file.
43368 * kern/env.c: Likewise.
43369 * include/pupa/arg.h: Likewise.
43370 * include/pupa/env.h: Likewise.
43371 * font/manager.c (font_command): Changed to match argument parsing
43372 interface changes.
43373 (PUPA_MOD_INIT): Likewise.
43374 * hello/hello.c (pupa_cmd_hello): Likewise.
43375 (PUPA_MOD_INIT): Likewise.
43376 * include/pupa/disk.h: Include <pupa/device.h>.
43377 (pupa_print_partinfo): New prototype.
43378 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43379 (pupa_dl_get_prefix): Likewise.
43380 * include/pupa/misc.h: Include <pupa/err.h>.
43381 (pupa_isgraph): New prototype.
43382 (pupa_isdigit): Likewise.
43383 (pupa_split_cmdline): Likewise.
43384 * include/pupa/normal.h: Include <pupa/arg.h>.
43385 (pupa_command): Changed the prototype of the member `func' to
43386 match the argument parsing interface. Added member `options'.
43387 (pupa_register_command): Updated to match function.
43388 (pupa_arg_parse): New prototype.
43389 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43390 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43391 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43392 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43393 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43394 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43395 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43396 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43397 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43398 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43399 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43400 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43401 * kern/disk.c: Include <pupa/file.h>.
43402 (pupa_print_partinfo): New function.
43403 * kern/dl.c: Include <pupa/env.h>.
43404 (pupa_dl_dir): Variable removed.
43405 (pupa_dl_load): Use the environment variable `prefix' instead of
43406 the variable pupa_dl_dir.
43407 (pupa_dl_set_prefix): Function removed.
43408 (pupa_dl_get_prefix): Likewise.
43409 * kern/i386/pc/init.c: Include <pupa/env.h>.
43410 (pupa_machine_init): Use the environment variable `prefix' instead of
43411 using pupa_dl_set_prefix to set the prefix.
43412 * kern/main.c: Include <pupa/env.h>.
43413 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43414 using pupa_dl_get_prefix to get the prefix.
43415 * kern/misc.c: Include <pupa/env.h>.
43416 (pupa_isdigit): New function.
43417 (pupa_isgraph): Likewise.
43418 (pupa_ftoa): Likewise.
43419 (pupa_vsprintf): Added support for printing values of the type
43420 `double'. Make it possible to format variable output when using
43421 formatting like `%1.2%f'.
43422 (pupa_split_cmdline): New function.
43423 * kern/rescue.c: Include <pupa/env.h>.
43424 (next_word): Removed function.
43425 (pupa_rescue_cmd_prefix): Likewise.
43426 (pupa_rescue_cmd_set): New function.
43427 (pupa_rescue_cmd_unset): New function.
43428 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43429 split the command line instead of splitting it here. Added
43430 support for setting variables using the syntax `foo=bar'. Don't
43431 initialize the prefix command anymore. Initialized the set and
43432 unset commands.
43433 * normal/cmdline.c: Include <pupa/env.h>.
43434 (pupa_tab_complete): Added prototypes for print_simple_completion,
43435 print_partition_completion, add_completion, iterate_commands,
43436 iterate_dev, iterate_part and iterate_dir. Moved code to print
43437 partition information from here to kern/disk.c.
fe6b695a 43438 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43439 * normal/main.c: Include <pupa/env.h>.
43440 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43441 instead of using pupa_dl_get_prefix to get the prefix.
43442 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43443 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43444 warning.
43445 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43446 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43447 ((unused))' to silence a gcc warning.
43448 (pupa_vga_setcolor): Likewise.
43449 (debug_command): Changed to match argument parsing
43450 interface changes.
43451 * util/pupa-emu.c: Include <pupa/env.h>.
43452 (options): Added 0's for unused fields to silence a gcc warning.
43453 (argp): Likewise.
43454 (main): Use the environment variable `prefix' instead of using
43455 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43456 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43457 and terminal.
43458
43459 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43460 * util/misc.c: Include <malloc.h>.
43461 (pupa_malloc): Rewritten so errors are correctly reported.
43462 (pupa_realloc): Likewise.
43463 (pupa_memalign): Likewise.
43464 (pupa_mm_init_region): Declare unused variables with
43465 `__attribute__ ((unused))' to silence a gcc warning.
43466 * normal/i386/setjmp.S: Remove tab at the end of the file to
43467 silence a gcc warning.
43468 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43469 variables with `__attribute__ ((unused))' to silence a gcc
43470 warning.
43471 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43472 local variable i unsigned to silence a gcc warning.
43473
43474 * kern/term.c: Include <pupa/misc.h>.
43475 (pupa_more_lines): New variable.
43476 (pupa_more): Likewise.
43477 (pupa_putcode): When the pager is active pause at the end of every
43478 screen.
43479 (pupa_set_more): New function.
43480 * include/pupa/term.h (pupa_set_more): New prototype.
43481
43482
3b1139cb 434832004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43484
43485 Now this project is GRUB 2 rather than PUPA. The location of
43486 the CVS repository was moved to GRUB's.
f19dbdb7 43487
3b1139cb 43488 * configure.ac: Use bug-grub as the reporting address.
43489 Use GRUB instead of PUPA.
43490 Change the version number to 1.90.
43491
8367695c 434922004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43493
43494 * genkernsyms.sh: Updated copyright information.
43495 * genmk.rb: Likewise.
43496 * genmodsrc.sh: Likewise.
43497 * gensymlist.sh: Likewise.
43498 * boot/i386/pc/boot.S: Likewise.
43499 * boot/i386/pc/diskboot.S: Likewise.
43500 * disk/i386/pc/biosdisk.c: Likewise.
43501 * disk/i386/pc/partition.c: Likewise.
43502 * font/manager.c: Likewise.
43503 * fs/ext2.c: Likewise.
43504 * fs/fat.c: Likewise.
43505 * include/pupa/boot.h: Likewise.
43506 * include/pupa/device.h: Likewise.
43507 * include/pupa/disk.h: Likewise.
43508 * include/pupa/dl.h: Likewise.
43509 * include/pupa/elf.h: Likewise.
43510 * include/pupa/err.h: Likewise.
43511 * include/pupa/file.h: Likewise.
43512 * include/pupa/font.h: Likewise.
43513 * include/pupa/fs.h: Likewise.
43514 * include/pupa/kernel.h: Likewise.
43515 * include/pupa/loader.h: Likewise.
43516 * include/pupa/misc.h: Likewise.
43517 * include/pupa/mm.h: Likewise.
43518 * include/pupa/net.h: Likewise.
43519 * include/pupa/normal.h: Likewise.
43520 * include/pupa/rescue.h: Likewise.
43521 * include/pupa/setjmp.h: Likewise.
43522 * include/pupa/symbol.h: Likewise.
43523 * include/pupa/term.h: Likewise.
43524 * include/pupa/types.h: Likewise.
43525 * include/pupa/i386/setjmp.h: Likewise.
43526 * include/pupa/i386/types.h: Likewise.
43527 * include/pupa/i386/pc/biosdisk.h: Likewise.
43528 * include/pupa/i386/pc/boot.h: Likewise.
43529 * include/pupa/i386/pc/console.h: Likewise.
43530 * include/pupa/i386/pc/init.h: Likewise.
43531 * include/pupa/i386/pc/kernel.h: Likewise.
43532 * include/pupa/i386/pc/linux.h: Likewise.
43533 * include/pupa/i386/pc/loader.h: Likewise.
43534 * include/pupa/i386/pc/memory.h: Likewise.
43535 * include/pupa/i386/pc/multiboot.h: Likewise.
43536 * include/pupa/i386/pc/partition.h: Likewise.
43537 * include/pupa/i386/pc/time.h: Likewise.
43538 * include/pupa/i386/pc/vga.h: Likewise.
43539 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43540 * include/pupa/util/getroot.h: Likewise.
43541 * include/pupa/util/misc.h: Likewise.
43542 * include/pupa/util/resolve.h: Likewise.
43543 * kern/device.c: Likewise.
43544 * kern/disk.c: Likewise.
43545 * kern/dl.c: Likewise.
43546 * kern/err.c: Likewise.
43547 * kern/file.c: Likewise.
43548 * kern/fs.c: Likewise.
43549 * kern/loader.c: Likewise.
43550 * kern/main.c: Likewise.
43551 * kern/misc.c: Likewise.
43552 * kern/mm.c: Likewise.
43553 * kern/rescue.c: Likewise.
43554 * kern/term.c: Likewise.
43555 * kern/i386/dl.c: Likewise.
43556 * kern/i386/pc/init.c: Likewise.
43557 * kern/i386/pc/lzo1x.S: Likewise.
43558 * kern/i386/pc/startup.S: Likewise.
43559 * loader/i386/pc/chainloader.c: Likewise.
43560 * loader/i386/pc/linux.c: Likewise.
43561 * loader/i386/pc/multiboot.c: Likewise.
43562 * normal/cmdline.c: Likewise.
43563 * normal/command.c: Likewise.
43564 * normal/main.c: Likewise.
43565 * normal/menu.c: Likewise.
43566 * normal/i386/setjmp.S: Likewise.
43567 * term/i386/pc/console.c: Likewise.
43568 * term/i386/pc/vga.c: Likewise.
43569 * util/console.c: Likewise.
43570 * util/genmoddep.c: Likewise.
43571 * util/misc.c: Likewise.
43572 * util/pupa-emu.c: Likewise.
43573 * util/resolve.c: Likewise.
43574 * util/unifont2pff.rb: Likewise.
43575 * util/i386/pc/biosdisk.c: Likewise.
43576 * util/i386/pc/getroot.c: Likewise.
43577 * util/i386/pc/pupa-mkimage.c: Likewise.
43578 * util/i386/pc/pupa-setup.c: Likewise.
43579
e6eced71 435802004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43581
43582 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43583 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43584 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43585 reading and reset it after reading.
43586 (pupa_ext2_close): Return PUPA_ERR_NONE.
43587
43588 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43589 Correct value.
43590 (struct linux_kernel_header): Add kernel_version and
43591 initrd_addr_max.
43592 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43593 pupa_file_read succeeds.
43594 (pupa_rescue_cmd_initrd): Implement.
43595
5aded270 435962003-12-03 Marco Gerards <metgerards@student.han.nl>
43597
43598 * fs/ext2.c (pupa_ext2_label): New function.
43599 (pupa_ext2_fs): Added label.
43600 * fs/fat.c (pupa_fat_label): New function.
43601 (pupa_fat_fs): Added label.
43602 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43603
43604 * kern/misc.c (pupa_strndup): New function.
43605 * include/pupa/misc.h (pupa_strndup): New prototype.
43606
43607 * include/pupa/normal.h: Include <pupa/err.h>.
43608 (pupa_set_history): New prototype.
43609 (pupa_iterate_commands): New prototype.
43610 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43611 <pupa/disk.h>, <pupa/file.h>.
43612 (hist_size): New variable.
43613 (hist_lines): Likewise.
43614 (hist_end): Likewise.
43615 (hist_used): Likewise.
43616 (pupa_set_history): New function.
43617 (pupa_history_get): Likewise.
43618 (pupa_history_add): Likewise.
43619 (pupa_history_replace): Likewise.
43620 (pupa_tab_complete): Likewise.
43621 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43622 completion shows partitionnames while completing partitions, this
43623 feature was suggested by Jeff Bailey.
43624 * normal/command.c (pupa_iterate_commands): New function.
43625 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43626 (pupa_normal_init): Initialize history buffer.
43627 (PUPA_MOD_INIT): Likewise.
43628 (pupa_normal_fini): Free the history buffer.
43629 (PUPA_MOD_FINI): Likewise.
43630
43631 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43632 key.
43633
43634 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43635 * configure.ac [i386]: Check for regparam bug.
43636 (NESTED_FUNC_ATTR) [! i386]: Defined.
43637
1f7315a3 436382003-11-17 Marco Gerards <metgerards@student.han.nl>
43639
43640 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43641 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43642 (pupa_emu_SOURCES): New variable.
43643 (pupa_emu_LDFLAGS): Likewise.
43644 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43645 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43646 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43647 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43648 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43649 (pupa_jmp_buf): New typedef.
43650 (pupa_setjmp) [PUPA_UTIL]: New macro.
43651 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43652 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43653 (pupa_refresh): New prototype.
43654 * include/pupa/util/getroot.h: New file.
43655 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43656 it.
43657 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43658 (pupa_rescue_cmd_cat): Likewise.
43659 (pupa_rescue_cmd_ls): Likewise.
43660 (pupa_rescue_cmd_testload): Likewise.
43661 (pupa_rescue_cmd_lsmod): Likewise.
43662 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43663 * normal/menu.c (run_menu): Likewise.
43664 * kern/term.c (pupa_cls): Likewise.
43665 (pupa_refresh): New function.
43666 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43667 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43668 * util/console.c: New file.
f19dbdb7 43669
1f7315a3 43670 * util/i386/pc/getroot.c: New file.
43671 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43672 (pupa_putchar): New function.
43673 (pupa_refresh): Likewise.
43674 (xgetcwd): Function moved to ...
43675 (strip_extra_slashes): Likewise.
43676 (get_prefix): Likewise.
f19dbdb7 43677 * util/i386/pc/getroot.c: ... here.
1f7315a3 43678 (find_root_device): Function moved and renamed to...
43679 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43680 Changed all callers.
43681 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43682 and renamed to...
43683 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43684 Changed all callers.
43685 * util/misc.c (pupa_memalign): New function.
43686 (pupa_mm_init_region): Likewise.
43687 (pupa_register_exported_symbols): Likewise.
43688 (pupa_putchar): Function removed.
43689 * util/pupa-emu.c: New file.
43690
9a5c1ade 436912003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43692
43693 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43694 (_multiboot_mod_SOURCES): New variable.
43695 (_multiboot_mod_CFLAGS): Likewise.
43696 * loader/i386/pc/multiboot.c: New file.
43697 * include/pupa/i386/pc/multiboot.h: Likewise.
43698 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43699 (pupa_multiboot_real_boot): New function.
43700 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43701 (pupa_multiboot_real_boot): New prototype.
43702 (pupa_rescue_cmd_multiboot): Likewise
43703 (pupa_rescue_cmd_module): Likewise.
43704
43705 * kern/loader.c (pupa_loader_set): Continue when
43706 pupa_loader_unload_func() fails.
43707 (pupa_loader_unset): New function.
43708 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43709
43710 * kern/misc.c (pupa_stpcpy): New function.
43711 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43712
8e72a9c0 437132003-11-12 Marco Gerards <metgerards@student.han.nl>
43714
43715 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43716 for available extensions.
43717
43718 * include/pupa/i386/pc/time.h: New file.
43719 * kern/disk.c: Include <pupa/machine/time.h>.
43720 (PUPA_CACHE_TIMEOUT): New macro.
43721 (pupa_last_time): New variable.
43722 (pupa_disk_open): Flush the cache when there was a timeout.
43723 (pupa_disk_close): Reset the timer.
43724 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43725 pupa_currticks.
43726 * util/misc.c: Include <sys/times.h>
43727 (pupa_get_rtc): New function.
43728
c4adbd32 437292003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43730
43731 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43732 as blocks.
43733 (pupa_ext2_get_file_block): Use blocks member.
43734
43735 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43736 first block. Return -1 instead of pupa_errno on error.
43737
bfd30f06 437382003-10-27 Marco Gerards <metgerards@student.han.nl>
43739
43740 * README: In the pupa-mkimage example use _chain instead of chain
43741 and ext2 instead of fat.
43742 * TODO: Replace ext2fs with jfs as an example. Add an item for
43743 adding journal playback for ext2fs.
43744 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43745 (pkgdata_MODULES): Added ext2.mod.
43746 (ext2_mod_SOURCES): New variable.
43747 (ext2_mod_CFLAGS): Likewise.
43748 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43749 * include/pupa/misc.h (pupa_strncpy): New prototype.
43750 (pupa_strcat): Likewise.
43751 (pupa_strncmp): Likewise.
43752 * kern/misc.c (pupa_strcat): Enable function.
43753 (pupa_strncpy): New function.
43754 (pupa_strncmp): Likewise.
43755 * fs/ext2.c: New file.
f19dbdb7 43756
bfd30f06 43757 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43758 when the read failed before retrying.
43759 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43760 (_FILE_OFFSET_BITS): Likewise.
43761 * configure.ac: Added AC_SYS_LARGEFILE.
43762
98d15063 437632003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43764
43765 * genmk.rb (PModule#rule): Make sure to get only symbol names
43766 from the output of nm.
59cad637 43767 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43768
18d9c7cd 437692003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43770
43771 I forgot to check in these changes for a long time. This adds
43772 incomplete support for VGA console, and this is still very
43773 buggy. Also, a lot of consideration is required for I18N,
43774 UNICODE, and VGA font issues. Therefore, assume that this is
43775 such that "better than nothing".
f19dbdb7 43776
18d9c7cd 43777 * font/manager.c: New file.
43778 * include/pupa/font.h: Likewise.
43779 * include/pupa/i386/pc/vga.h: Likewise.
43780 * term/i386/pc/vga.c: Likewise.
43781 * util/unifont2pff.rb: Likewise.
43782
43783 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43784 (pkgdata_MODULES): Added vga.mod and font.mod.
43785 (vga_mod_SOURCES): New variables.
43786 (vga_mod_CFLAGS): Likewise.
43787 (font_mod_SOURCES): Likewise.
43788 (font_mod_CFLAGS): Likewise.
43789
43790 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43791
43792 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43793 (struct pupa_term): Added init and fini.
18d9c7cd 43794 Changed the argument of putchar to pupa_uint32_t.
43795
43796 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43797 (pupa_console_real_putchar): New prototype.
43798 (pupa_console_putchar): Removed.
43799 (pupa_console_checkkey): Exported.
43800 (pupa_console_getkey): Likewise.
43801
43802 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43803 characters.
43804
43805 * kern/term.c (pupa_term_set_current): Rewritten.
43806 (pupa_putchar): Likewise.
43807 (pupa_putcode): New function.
43808
43809 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43810 (pupa_console_real_putchar): ... this.
43811 (pupa_vga_set_mode): New function.
43812 (pupa_vga_get_font): Likewise.
43813
43814 * normal/command.c: Include pupa/term.h.
43815 (terminal_command): New function.
43816 (pupa_command_init): Register the command "terminal".
43817
43818 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43819 (DISP_UP): Likewise.
43820 (DISP_RIGHT): Likewise.
43821 (DISP_DOWN): Likewise.
43822 (DISP_HLINE): Likewise.
43823 (DISP_VLINE): Likewise.
43824 (DISP_UL): Likewise.
43825 (DISP_UR): Likewise.
43826 (DISP_LL): Likewise.
43827 (DISP_LR): Likewise.
43828
43829 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43830
977329f5 438312003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43832
43833 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43834 FIX. Reverse the path_list.
43835
43836 * include/pupa/normal.h: Export pupa_register_command and
43837 pupa_unregister_command.
43838
43839 * hello/hello.c (pupa_cmd_hello): New module.
43840 * conf/i386-pc.rmk: Added hello.mod.
43841
1f5ab428 438422003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43843
43844 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43845
1f5ab428 43846 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43847 (compress_kernel): New variable.
43848 (generate_image): Heavily modified to support compressing a
43849 large part of the core image.
43850
43851 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43852 leak.
43853 (pupa_util_load_image): New function.
43854
43855 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43856 (pupa_compressed_size): New variable.
43857 (codestart): Enable Gate A20 here.
43858 Decompress the compressed part of the core image.
43859 Rearrange the code to put functions and variables which are
43860 required for initialization in the non-compressed part.
43861 Include lzo1x.S.
43862
43863 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43864 here.
43865
43866 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43867
f19dbdb7 43868 * include/pupa/i386/pc/kernel.h
1f5ab428 43869 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43870 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43871 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43872 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43873 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43874
43875 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43876
43877 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43878 (Utility#rule): Likewise.
43879
43880 * configure.ac: Check if LZO is available.
43881
ce5bf700 438822003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43883
43884 * include/pupa/normal.h: New file.
43885 * include/pupa/setjmp.h: Likewise.
43886 * include/pupa/i386/setjmp.h: Likewise.
43887 * normal/cmdline.c: Likewise.
43888 * normal/command.c: Likewise.
43889 * normal/main.c: Likewise.
43890 * normal/menu.c: Likewise.
43891 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43892
ce5bf700 43893 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43894 (pupa_rescue_cmd_initrd): Likewise.
43895
43896 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43897 Likewise.
43898
43899 * kern/i386/pc/startup.S (translation_table): New variable.
43900 (translate_keycode): New function.
43901 (pupa_console_getkey): Call translate_keycode.
43902
43903 * kern/rescue.c (attempt_normal_mode): New function.
43904 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43905 it failed, print a message.
43906
43907 * kern/mm.c (pupa_real_malloc): Print more information when a
43908 free magic is broken.
43909 (pupa_free): If the first free header is not free actually, set
43910 it to P.
43911
43912 * kern/main.c (pupa_load_normal_mode): Just load the module
43913 "normal".
43914 (pupa_main): Don't print the message
43915 "Entering into rescue mode..." here.
43916
43917 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43918 Declared.
43919 (pupa_rescue_cmd_initrd): Likewise.
43920 (pupa_rescue_cmd_initrd): Likewise.
43921
43922 * include/pupa/symbol.h (FUNCTION): Specify the type.
43923 (VARIABLE): Likewise.
43924
43925 * include/pupa/err.h (pupa_err_t): Added
43926 PUPA_ERR_UNKNOWN_COMMAND.
43927
43928 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43929 (pupa_dl_get_prefix): Likewise.
43930
43931 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43932 Added _chain.mod and _linux.mod instead of chain.mod and
43933 linux.mod.
43934 (chain_mod_SOURCES): Renamed to ...
43935 (_chain_mod_SOURCES): ... this.
43936 (chain_mod_CFLAGS): Renamed to ...
43937 (_chain_mod_CFLAGS): ... this.
43938 (linux_mod_SOURCES): Renamed to ...
43939 (_linux_mod_SOURCES): ... this.
43940 (linux_mod_CFLAGS): Renamed to ...
43941 (_linux_mod_CFLAGS): ... this.
43942 (normal_mod_SOURCES): New variable.
43943 (normal_mod_CFLAGS): Likewise.
43944 (normal_mod_ASFLAGS): Likewise.
43945
439462003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43947
43948 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43949 possible.
43950
fe6b695a 43951 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43952 recursively.
43953 (pupa_dl_unref): Unrefer depending modules recursively.
43954 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43955 a module is unloaded before one depending on that module is
43956 unloaded.
43957 (pupa_dl_unload): Unload depending modules explicitly,
43958 if possible.
43959
c04da074 439602003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43961
43962 * include/pupa/i386/pc/linux.h: New file.
43963 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43964
c04da074 43965 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43966 Removed.
43967 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43968 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43969 of PUPA_CHAINLOADER_BOOT_SECTOR.
43970
43971 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43972 (pupa_linux_prot_size): New variable.
43973 (pupa_linux_tmp_addr): Likewise.
43974 (pupa_linux_real_addr): Likewise.
43975 (pupa_linux_boot_zimage): New function.
43976 (pupa_linux_boot_bzimage): Likewise.
43977
43978 * kern/i386/pc/init.c (struct mem_region): New structure.
43979 (MAX_REGIONS): New macro.
43980 (mem_regions): New variable.
43981 (num_regions): Likewise.
43982 (pupa_os_area_addr): Likewise.
43983 (pupa_os_area_size): Likewise.
43984 (pupa_lower_mem): Likewise.
43985 (pupa_upper_mem): Likewise.
43986 (add_mem_region): New function.
43987 (compact_mem_regions): Likewise.
43988 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43989 the size of the conventional memory and that of so-called upper
43990 memory (before the first memory hole).
43991 Instead of adding each found region to free memory, use
43992 add_mem_region and add them after removing overlaps.
43993 Also, add only 1/4 of the upper memory to free memory. The rest
43994 is used for loading OS images. Maybe this is ad hoc, but this
43995 makes it much easier to relocate OS images when booting.
43996
43997 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43998 (pupa_enter_rescue_mode): Don't register initrd and module.
43999
44000 * kern/mm.c: Include pupa/dl.h.
44001
44002 * kern/main.c: Include pupa/file.h and pupa/device.h.
44003
44004 * kern/loader.c (pupa_loader_load_module_func): Removed.
44005 (pupa_loader_load_module): Likewise.
44006
44007 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44008 ``.o''.
44009
44010 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44011 (pupa_linux_tmp_addr): Likewise.
44012 (pupa_linux_real_addr): Likewise.
44013 (pupa_linux_boot_zimage): Likewise.
44014 (pupa_linux_boot_bzimage): Likewise.
44015
44016 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44017 (pupa_upper_mem): Likewise.
44018 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44019 module is too dangerous.
44020
44021 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44022 (pupa_os_area_size): Likewise.
44023 (pupa_loader_set): Remove the first argument. Loader doesn't
44024 manage modules or initrd any longer.
44025 (pupa_loader_load_module): Removed.
44026
44027 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44028 (linux_mod_SOURCES): New variable.
44029 (linux_mod_CFLAGS): Likewise.
44030
a13f9237 440312003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44032
44033 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44034 the length of a blocklist correctly.
44035
44036 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44037 Use ioctl only if the OS file is a block device.
44038 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44039 not very useful for normal files.
44040
44041 * kern/main.c (pupa_set_root_dev): New function.
44042 (pupa_load_normal_mode): Likewise.
44043 (pupa_main): Call those above.
44044
44045 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44046 pupa_uint16_t.
44047
44048 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44049
a5ffe966 440502003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44051
44052 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44053 (setup): Configure the installed partition information and the
44054 dl prefix.
44055
44056 * loader/i386/pc/chainloader.c (my_mod): New variable.
44057 (pupa_chainloader_unload): New function.
44058 (pupa_rescue_cmd_chainloader): Refer itself.
44059 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44060
44061 * kern/i386/pc/startup.S (install_partition): Removed.
44062 (version_string): Likewise.
44063 (config_file): Likewise.
44064 (pupa_install_dos_part): New variable.
44065 (pupa_install_bsd_part): Likewise.
44066 (pupa_prefix): Likewise.
44067 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44068
44069 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44070 and pupa/misc.h.
44071 (make_install_device): New function.
44072 (pupa_machine_init): Set the dl prefix.
44073
44074 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44075 (buf): Renamed to ...
44076 (linebuf): ... this.
44077 (pupa_rescue_cmd_prefix): New function.
44078 (pupa_rescue_cmd_insmod): Likewise.
44079 (pupa_rescue_cmd_rmmod): Likewise.
44080 (pupa_rescue_cmd_lsmod): Likewise.
44081 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44082 rmmod and lsmod.
44083
44084 * kern/mm.c (pupa_memalign): If failed even after invalidating
44085 disk caches, unload unneeded modules and retry.
44086
44087 * kern/misc.c (pupa_memmove): New function.
44088 (pupa_memcpy): Removed.
44089 (pupa_strcpy): New function.
44090 (pupa_itoa): Made static.
44091
44092 * kern/dl.c (pupa_dl_iterate): New function.
44093 (pupa_dl_ref): Likewise.
44094 (pupa_dl_unref): Likewise.
44095 (pupa_dl_unload): Return if succeeded or not.
44096 (pupa_dl_unload_unneeded): New function.
44097 (pupa_dl_unload_all): Likewise.
44098 (pupa_dl_init): Renamed to ...
44099 (pupa_dl_set_prefix): ... this.
44100 (pupa_dl_get_prefix): New function.
44101
44102 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44103 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44104 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44105 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44106 (pupa_install_dos_part): Declared.
44107 (pupa_install_bsd_part): Likewise.
44108 (pupa_prefix): Likewise.
44109 (pupa_boot_drive): Likewise.
44110
44111 * include/pupa/types.h: Fix a typo.
44112
44113 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44114 pupa_memmove.
44115 (pupa_memmove): Declared.
44116 (pupa_strcpy): Likewise.
44117
44118 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44119 pupa_mod_init takes one argument, its own module.
44120 (pupa_dl_unload_unneeded): Declared.
44121 (pupa_dl_unload_all): Likewise.
44122 (pupa_dl_ref): Likewise.
44123 (pupa_dl_unref): Likewise.
44124 (pupa_dl_iterate): Likewise.
44125 (pupa_dl_init): Renamed to ...
44126 (pupa_dl_set_prefix): ... this.
44127 (pupa_dl_get_prefix): Declared.
44128
44129 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44130 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44131 unloaded.
44132 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44133 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44134
44135 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44136 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44137
012d7999 441382003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44139
44140 * util/i386/pc/pupa-setup.c (setup): Define the internal
44141 function find_first_partition_start at the top level, because GCC
44142 3.0.x cannot compile internal functions in deeper scopes
44143 correctly.
44144 (find_root_device): Use lstat instead of stat.
44145 Don't follow symbolic links.
44146 Fix the path-constructing code.
44147
44148 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44149 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44150 by a BLKGETSIZE ioctl first, because block devices don't fill
44151 the member st_mode of the structure stat on Linux.
44152 [__linux__] (linux_find_partition): Use a temporary buffer
44153 REAL_DEV for the working space. Copy it to DEV before returning.
44154 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44155 buffer cache consistent.
44156 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44157 strncmp. The previous value was merely wrong.
44158 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44159
44160 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44161 FAT size is 12. The previous value was merely wrong.
44162
44163 * kern/main.c (pupa_main): Don't split the starting message from
44164 newlines.
44165
44166 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44167 LF, because BIOS goes crazy about character attributes in this
44168 case.
44169
1cc73a62 441702003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44171
44172 * include/i386/pc/util/biosdisk.h: New file.
44173 * util/i386/pc/biosdisk.c: Likewise.
44174 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44175
1cc73a62 44176 * Makefile.in (INCLUDE_DISTFILES): Added
44177 include/pupa/i386/pc/util/biosdisk.h.
44178 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44179 directory util/i386/pc.
44180 (install-local): Added a rule for sbin_UTILITIES.
44181 (uninstall): Likewise.
44182
44183 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44184
44185 * util/misc.c (xrealloc): New function.
44186 (pupa_malloc): Likewise.
44187 (pupa_free): Likewise.
44188 (pupa_realloc): Likewise.
44189 (pupa_stop): Likewise.
44190 (pupa_putchar): Likewise.
44191
44192 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44193
44194 * include/pupa/util/misc.h (xrealloc): Declared.
44195
44196 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44197 macro.
44198 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44199 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44200
44201 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44202 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44203
44204 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44205 way should be implemented.
44206 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44207
44208 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44209 the size of NAME for safety.
44210 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44211 0x88.
44212
44213 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44214 (pupa_setup_SOURCES): Likewise.
44215
44216 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44217
08b70fe8 442182002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44219
44220 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44221 bunch of pushl's from pusha, because this destroys the return
44222 value.
44223
62ddcc8f 442242002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44225
44226 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44227 This means that any missing prototypes could be fatal. Also, you
44228 must take care when writing assembly code. See the comments at
44229 the beginning of startup.S, for more details.
f19dbdb7 44230
62ddcc8f 44231 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44232 compilation mechanism.
44233 (pupa_chainloader_real_boot): Likewise.
44234 (pupa_biosdisk_rw_int13_extensions): Likewise.
44235 (pupa_biosdisk_rw_standard): Likewise.
44236 (pupa_biosdisk_check_int13_extensions): Likewise.
44237 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44238 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44239 (pupa_get_memsize): Likewise.
44240 (pupa_get_mmap_entry): Likewise.
44241 (pupa_console_putchar): Likewise.
44242 (pupa_console_setcursor): Likewise.
44243 (pupa_getrtsecs): Use pushl instead of push.
44244
44245 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44246 memory instead of the stack for a mmap entry, because some
44247 BIOSes may ignore the maximum size and overflow.
44248
44249 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44250
44251 * genmk.rb (PModule#rule): Compile automatically generated
44252 sources with module-specific CFLAGS as well as other sources.
44253
9962ed99 442542002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44255
44256 * configure.ac: Check ld.
44257 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44258 respectively, before checking endianness and sizes.
44259
44260 * Makefile.in (LD): New variable.
f19dbdb7 44261
abdfc3c5 442622002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44263
44264 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44265
6a161fa9 442662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44267
44268 * Changelog: New file.
44269